Model reference · open weights

CASA-Helium1-VL

LLMs kyutai Vision + text 1 build Non-commercial 64 dl/mo

CASA-Helium1-VL is an open-weight language model from kyutai. CASA-Helium1-VL-2B (BF16) weighs 6.1 GB; the smallest configuration that runs it is RTX 3060 12 GB.

  • CASA-Helium1-VL is a 3.0B parameter vision-language model developed by kyutai for image-text-to-text tasks.
  • It uses a cross-attention architecture to process visual inputs without adding image tokens to the text model's KV cache, which supports efficient streaming inference.
  • The model operates in English and is released under the cc-by-nc-sa-4.0 license.

Summary of the kyutai/CASA-Helium1-VL-2B model card, 2026-10-01

What it is

Released bykyutai
Released2025-12-10
Parameters3.0B
VRAM6.1 GB for the weights

What it runs on

Memory and cards for CASA-Helium1-VL-2B (BF16)

6.1 GBweights, file size
115 MBcache per 1K tokens
1.9 GBruntime overhead, at least
4,096 tokenscontext max
CardRequests at onceContext maxMemory
4K each
RTX 3060 12 GB7all 4K11.6 GB
RTX 4060 Ti 16 GB15all 4K15.4 GB
RTX 3090 24 GB32all 4K23.4 GB
RTX 4090 24 GB32all 4K23.4 GB
RTX 5090 32 GB49all 4K31.0 GB
L40S 48 GB76all 4K44.0 GB
A100 80 GB149all 4K78.2 GB
H100 80 GB142all 4K78.1 GB
RTX PRO 6000 Blackwell 96 GB176all 4K93.8 GB
DGX Spark (GB10) 128 GB unified204all 4K107 GB
H200 141 GB270all 4K138 GB
B200 180 GB350all 4K176 GB
2× RTX 3060 12 GB
tensor parallel
28all 4K11.6 GB a card
Memory needed at each load
Requests at once4K tokens each
18.4 GB
510.3 GB
811.7 GB
1615.5 GB
3223.0 GB
6438.0 GB

One card, with vLLM's small-card settings.

From the model card

What kyutai says about CASA-Helium1-VL

Read the model card

CASA ([Project Page][blog] . [arXiv][casa-arxiv] . [github][casa-git]) stands for Cross-Attention over Self-Attention. CASA is a VLM based entirely on cross-attention (CA) with enjoys practical benefits for streaming tasks by never adding image tokens to the KVCache of the text model.

Specifically, CASA layers inject visual tokens into a text stream by using image-to-text cross-attention, which act in smaller local attention windows. Simply put, at inference, the model only looks at the latest seen image explicitly. We show that this setup can be naturally leveraged streaming inference e.g. on video inputs, enabling almost constant memory time and inference cost For qualitative samples of CASA used for live video captioning, please check the associated HuggingFace space.

Model Details

Model Description

This model page contains the model weights for CASA trained from a pretrained text-only Helium1-2B backbone and from the image encoder from Qwen2.5-VL-3B. In the collection, we also provides weights for:

  • CASA-Qwen2_5-VL-3B: A CASA model adapted from the full pretrained Qwen2.5-VL-3B (keeping the backbone LLM weights are kept frozen)
  • CASA-Qwen2_5-VL-3B-LiveCC: A CASA model adapted from the full pretrained Qwen2.5-VL-3B and futher finetuned for live video captioning.
  • Helium1-VL-2B: A reference VLM trained from Helium1-2B with standard token insertion mechanism in the same setting as CASA-Helium1-VL-2B.

Model Summary:

  • Developed by: Kyutai
  • Model type: Multimodal vision+text model based on Cross-Attention
  • Language(s) (NLP): English
  • License: CC-BY-NC-SA-4.0
  • LLM Backboner from: Helium1 2B
  • Image Encoder from: Qwen2.5-VL 3B
  • Terms of use: As the released models include frozen weights of the Qwen2.5VL-3B image encoder, the weights are subject to the Qwen RESEARCH LICENSE AGREEMENT

Model Sources

  • Project Page [kyutai.org/casa][blog]
  • Preprint [arXiv][casa-arxiv]
  • Repository: [Github kyutai-labs/casa][casa-git]

Uses

Direct Use

The intended use of the Helium model is research and development of vision-language systems, including but not limited to image or video understanding.

CASA-Helium1-VL-2B, Helium1-VL-2B and CASA-Qwen2_5-VL-2B can be used as vision-language models to analyze or interpret images as input signals.

CASA-Qwen2_5-VL-2B-LiveCC can be used as a vision-language model on streaming videos as inputs at 2fps.

The models can be used primarly with English as a language. For most downstream use cases, the model should be aligned with supervised fine-tuning, RLHF or related methods.

Out-of-Scope Use

The model should not be used in other languages than the ones on which it was trained. The model is not intended to be used to impersonate other people or any malicious use of any kind.

Bias, Risks, and Limitations

Our CASA-Helium1 model was not aligned to human preferences. As such, the model can generate incorrect, biased, harmful or generally unhelpful content. Thus, the model should not be used for downstream applications without further alignment, evaluations and mitigations of risks.

Recommendations

Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.

How to Get Started with the Model

See our [github repository][casa-git] for additional scripts to perform benchmark evaluation and live video captioning.

Below is a short snippet to show you how to load our models, process inputs, and run inference, using a standard HuggingFace transformers pipeline and chat template.

# Minimal requirements:
# /// script
# requires-python = ">=3.10"
# dependencies = [
#     "rich",
#     "einops>=0.8.1",
#     "torch==2.7.0",
#     "transformers==4.51.3",
#     "torchvision==0.22.0",
#     "flash-attn @ https://github.com/Dao-AILab/flash-attention/releases/download/v2.8.0.post2/flash_attn-2.8.0.post2+cu12torch2.7cxx11abiTRUE-cp310-cp310-linux_x86_64.whl"
# ]
# ///
import torch
from transformers.models.auto.modeling_auto import AutoModel
from transformers.models.auto.processing_auto import AutoProcessor

model_id = "kyutai/CASA-Helium1-VL-2B"
model = AutoModel.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    attn_implementation="flash_attention_2",
    trust_remote_code=True,
).cuda()
processor = AutoProcessor.from_pretrained(
    model_id,
    trust_remote_code=True,
)

conversation = [
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "image": "assets/casa_model.png",
            },
            {
                "type": "text",
                "text": "Describe this image.",
            },
        ],
    },
]
inputs = processor.tokenize_messages(messages=conversation)
inputs = inputs.to(model.device)
input_len = inputs["input_ids"].shape[1]
output_ids = model.generate_from_image(
  **inputs,
  max_new_tokens=512,
  pre_image_tokens=processor.pre_image_tokens,
  post_image_tokens=processor.post_image_tokens,
  eos_token_id=model.generation_config.eos_token_id,
)[0, input_len:]
response = processor.tokenizer.decode(output_ids, skip_special_tokens=True)
print(response)

Training Details

Please have a look at our associated [research paper][casa-arxiv] for details on the training pipeline.

Training Data

To train our CASA-Helium models we use the FineVision dataset as well as a small, non overlapping, sub

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms