Model reference · open weights
Helium1-VL is an open-weight language model from kyutai. Helium1-VL-2B (BF16) weighs 5.4 GB; the smallest configuration that runs it is RTX 3060 12 GB.
Summary of the kyutai/Helium1-VL-2B model card, 2026-10-01
What it is
| Released by | kyutai |
|---|---|
| Released | 2025-12-18 |
| Parameters | 2.7B |
| VRAM | 5.4 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory |
|---|---|---|---|
| 4K each | |||
| RTX 3060 12 GB | 9 | all 4K | 11.6 GB |
| RTX 4060 Ti 16 GB | 17 | all 4K | 15.4 GB |
| RTX 3090 24 GB | 34 | all 4K | 23.4 GB |
| RTX 4090 24 GB | 34 | all 4K | 23.4 GB |
| RTX 5090 32 GB | 50 | all 4K | 31.0 GB |
| L40S 48 GB | 78 | all 4K | 44.0 GB |
| A100 80 GB | 150 | all 4K | 78.2 GB |
| H100 80 GB | 144 | all 4K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 177 | all 4K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 206 | all 4K | 107 GB |
| H200 141 GB | 271 | all 4K | 138 GB |
| B200 180 GB | 352 | all 4K | 176 GB |
| Requests at once | 4K tokens each |
|---|---|
| 1 | 7.7 GB |
| 5 | 9.6 GB |
| 8 | 11.0 GB |
| 16 | 14.8 GB |
| 32 | 22.3 GB |
| 64 | 37.3 GB |
One card, with vLLM's small-card settings.
From the model card
Helium1-VL-2B is an instruct-tuned vision-language model (VLM) based on the Helium1-2B text-only language model and a pretrained vision encoder from Qwen-2.5VL.
This model is released as part of the CASA project. While the CASA architecture focuses on cross-attention fusion, Helium1-VL-2B serves as a high-performance token insertion baseline, achieving state-of-the-art results among models of comparable size trained on publicly available datasets.
You can run inference using the following code snippet. This model requires trust_remote_code=True to load the custom architecture.
import torch
from transformers.models.auto.modeling_auto import AutoModel
from transformers.models.auto.processing_auto import AutoProcessor
model_id = "kyutai/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": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/tasks/ai2d-demo.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)
If you use this model or the CASA fusion paradigm in your research, please cite:
@article{kyutai2025casa,
author = {Moritz B\"ohle and Am\'elie Royer and Juliette Marrie and Edouard Grave and Patrick P\'erez},
year = {2025},
title = {CASA: Cross-Attention via Self-Attention for Efficient Vision-Language Fusion},
journal = {ArXiv},
url = {https://arxiv.org/abs/2512.19535}
}
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.