Model reference · open weights

Sa2VA-Qwen3-VL

LLMs ByteDance Vision + text 2 builds Open weights 1k dl/mo

Sa2VA-Qwen3-VL is an open-weight language model from ByteDance. Sa2VA-Qwen3-VL-4B (FP32) weighs 10.1 GB; the smallest configuration that runs it is RTX 4060 Ti 16 GB.

  • Sa2VA-Qwen3-VL is a 5.1B parameter multimodal large language model developed by ByteDance for image-text-to-text tasks.
  • It supports question answering, visual prompt understanding, and dense object segmentation at both image and video levels.
  • The model is multilingual and released under the Apache-2.0 license.

Summary of the ByteDance/Sa2VA-Qwen3-VL-4B model card, 2026-10-01

What it is

Released byByteDance
Released2025-10-21
Parameters5.1B
VRAM10.1 GB for the weights

What it runs on

Memory and cards for Sa2VA-Qwen3-VL-4B (FP32)

10.1 GBweights, file size
147 MBcache per 1K tokens
2.0 GBruntime overhead, at least
262,144 tokenscontext max
CardRequests at onceContext maxMemory
8K each32K each
RTX 3060 12 GB———11.6 GB
RTX 4060 Ti 16 GB2—21K15.4 GB
RTX 3090 24 GB9274K23.4 GB
RTX 4090 24 GB9274K23.4 GB
RTX 5090 32 GB153125K31.0 GB
L40S 48 GB266210K44.0 GB
A100 80 GB5413all 256K78.2 GB
H100 80 GB5112all 256K78.1 GB
RTX PRO 6000 Blackwell 96 GB6416all 256K93.8 GB
DGX Spark (GB10) 128 GB unified7518all 256K107 GB
H200 141 GB10025all 256K138 GB
B200 180 GB13132all 256K176 GB
2× RTX 3060 12 GB
tensor parallel
7160K11.6 GB a card
2× RTX 4060 Ti 16 GB
tensor parallel
133110K15.4 GB a card
Memory needed at each load
Requests at once8K tokens each32K tokens each
113.3 GB16.9 GB
518.1 GB36.3 GB
821.8 GB50.8 GB
1631.4 GB89.4 GB
3250.8 GB167 GB
6489.4 GB321 GB

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

Builds

Sizes, precisions & builds

BuildParamsPrecisionWeightsSmallest setup
Sa2VA-Qwen3-VL-4B (above) ↗ 5.1BFP32 10.1 GBRTX 4060 Ti 16 GB
Sa2VA-Qwen3-VL-2B ↗ 2.7BFP32 5.3 GBRTX 3060 12 GB

From the model card

What ByteDance says about Sa2VA-Qwen3-VL

Read the model card

[📂 GitHub] [📜 Sa2VA paper] [🚀 Quick Start]

Introduction

Sa2VA is an MLLM capable of question answering, visual prompt understanding, and dense object segmentation at both image and video levels. It achieves comparable performance to SOTA MLLMs Qwen2.5-VL and InternVL3 on question-answering benchmarks. Additionally, Sa2VA possesses the visual prompt understanding and dense object segmentation capabilities that SOTA MLLMs Qwen2.5-VL and InternVL3 lack. Sa2VA achieves SOTA performance on both image and video grounding and segmentation benchmarks.

Sa2VA Family

We built the Sa2VA series based on Qwen2.5/3-VL and InternVL2.5/3. In the following table, we provide some Sa2VA models built on Qwen2.5/3-VL and InternVL3.

Model NameBase MLLMLanguage PartHF Link
Sa2VA-InternVL3-2BInternVL3-2BQwen2.5-1.5B🤗 link
Sa2VA-InternVL3-8BInternVL3-8BQwen2.5-7B🤗 link
Sa2VA-InternVL3-14BInternVL3-14BQwen2.5-14B🤗 link
Sa2VA-Qwen2_5-VL-3BQwen2.5-VL-3B-InstructQwen2.5-3B🤗 link
Sa2VA-Qwen2_5-VL-7BQwen2.5-VL-7B-InstructQwen2.5-7B🤗 link
Sa2VA-Qwen3-VL-4BQwen3-VL-4B-InstructQwen3-4B🤗 link

Sa2VA Performance

Model NameMMEMMBenchRefCOCORefCOCO+RefCOCOgMeVIS (val_u)DAVIS
Sa2VA-InternVL3-2B1631/55979.881.475.780.353.974.5
Sa2VA-InternVL3-8B1743/63383.083.378.981.856.476.3
Sa2VA-InternVL3-14B1746/72484.383.679.983.659.276.6
Sa2VA-Qwen2_5-VL-3B1533/57278.479.674.077.151.673.4
Sa2VA-Qwen2_5-VL-7B1552/67684.582.477.581.556.479.4
Sa2VA-Qwen3-VL-4B1660/65586.381.777.480.057.175.9

Quick Start

We provide an example code to run Sa2VA using transformers.

import torch
from transformers import AutoProcessor, AutoModel
from PIL import Image
import numpy as np
import os

# load the model and processor
path = "ByteDance/Sa2VA-Qwen3-VL-4B"
model = AutoModel.from_pretrained(
    path,
    torch_dtype=torch.bfloat16,
    low_cpu_mem_usage=True,
    use_flash_attn=True,
    trust_remote_code=True).eval().cuda()
processor = AutoProcessor.from_pretrained(path, trust_remote_code=True, use_fast=False)

# for image chat
image_path = "/PATH/TO/IMAGE"
text_prompts = "Please describe the image."
image = Image.open(image_path).convert('RGB')
input_dict = {
    'image': image,
    'text': text_prompts,
    'past_text': '',
    'mask_prompts': None,
    'processor': processor,
    }
return_dict = model.predict_forward(**input_dict)
answer = return_dict["prediction"] # the text format answer

# for image chat with segmentation output
image_path = "/PATH/TO/IMAGE"
text_prompts = "Could you please give me a brief description of the image? Please respond with interleaved segmentation masks for the corresponding parts of the answer."
image = Image.open(image_path).convert('RGB')
input_dict = {
    'image': image,
    'text': text_prompts,
    'past_text': '',
    'mask_prompts': None,
    'processor': processor,
    }
return_dict = model.predict_forward(**input_dict)
answer = return_dict["prediction"] # the text format answer
masks = return_dict['prediction_masks']  # segmentation masks, list(np.array(1, h, w), ...)

# for chat with visual prompt (mask format) input
mask_prompts = np.load('/PATH/TO/pred_masks.npy') # np.array(n_prompts, h, w)
image_path = "/PATH/TO/IMAGE"
text_prompts = "Can you provide me with a detailed description of the region in the picture marked by region1."
image = Image.open(image_path).convert('RGB')
input_dict = {
    'image': image,
    'text': text_prompts,
    'past_text': '',
    'mask_prompts': mask_prompts,
    'processor': processor,
    }
return_dict = model.predict_forward(**input_dict)
answer = return_dict["prediction"] # the text format answer

# for video chat
video_folder = "/PATH/TO/VIDEO_FOLDER"
images_paths = os.listdir(video_folder)
images_paths = [os.path.join(video_folder, image_path) for image_name in images_paths]
if len(images_paths) > 5:  # uniformly sample 5 frames
    step = (len(images_paths) - 1) // (5 - 1)
    images_paths = [images_paths[0]] + images_paths[1:-1][::step][1:] + [images_paths[-1]]
text_prompts = "Please describe the video."
input_dict = {
    'video': images_paths,
    'text': text_prompts,
    'past_tex

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