Qwen3-VL Technical Report
Paper: arXiv:2511.21631 Code: QwenLM/Qwen3-VL, huggingface/transformers Qwen3-VL implementation Code reference:
QwenLM/Qwen3-VL main@96588727(2026-01-30);huggingface/transformers main@0b25f8c4(2026-05-19)
1. Metadata(论文信息)
- 论文标题:Qwen3-VL Technical Report。
- 机构/团队:Qwen Team / Alibaba Cloud;作者列表覆盖模型、数据、评测、基础设施和产品化团队。
- 论文版本:arXiv v2,2025-11-27;v1 于 2025-11-26 提交。
- 模型家族:Dense 2B / 4B / 8B / 32B,以及 MoE 30B-A3B / 235B-A22B;每个规模又区分 Instruct 与 Thinking 版本。
- 定位:这是 Qwen 系列第三代视觉语言模型的技术报告,主目标不是提出单个小算法,而是给出面向图像、视频、文档、Agent、长上下文与多语言 OCR 的一整套 VLM 基座升级。
- 分类:LLM & VLM / Pretraining & Architecture;主贡献是 VLM 预训练、架构和长上下文多模态建模,而不是单纯的评测榜单或应用系统。
这篇报告的核心价值在于把“强文本基座 + 可变分辨率视觉编码 + 长上下文多模态位置编码 + 多层视觉特征注入 + 大规模数据配方 + Thinking 后训练”组合成一个可部署的系列。相比许多只强调视觉问答或单图推理的 VLM,Qwen3-VL 把视频、长文档、GUI/Agent、多图关系、OCR、grounding、STEM 推理与纯文本能力放在同一个训练与评测框架里,因此读这篇报告时应把它看作一份系统工程说明,而不是只看某一个模块是否新颖。
2. Idea(核心思想)
核心洞见:Qwen3-VL 的新意不是简单把 Qwen3 文本模型接上 ViT,而是把多模态输入看成超长、异构、带空间与时间结构的 token 序列;模型必须同时解决三个冲突:视觉 token 太多导致上下文预算被吃掉,视频时间位置太稀疏导致长视频泛化差,多层视觉细节在单一 merger 中被压缩后容易丢失。报告给出的答案是 Interleaved-MRoPE、DeepStack、文本化 timestamp 与分阶段数据/后训练配方的组合。
与 Qwen2.5-VL 相比,Qwen3-VL 的差异主要有三点。
第一,原先 MRoPE 将 embedding 维度硬分成 temporal、height、width 三块,会让不同轴上的频率谱不均衡;Qwen3-VL 改成 Interleaved-MRoPE,让时间、宽、高信息在旋转维度中交错分布,缓解长视频中的位置谱偏置。
第二,原先视觉编码器最终层经过 merger 后交给 LLM,容易把低层纹理、中层结构、高层语义压成一类 visual token;Qwen3-VL 使用 DeepStack,从视觉编码器多个中间层抽取特征,通过专门 merger 后注入 LLM 前几层 hidden states。
第三,Qwen2.5-VL 的 T-RoPE 直接把绝对时间绑定到视觉位置 id,长视频会产生过大且稀疏的位置编号;Qwen3-VL 把时间以文本 timestamp token 的形式写入序列,例如 <0.0 seconds>,让时间对齐成为语言空间中可学习、可推理、可引用的信息。
这三个架构点共同服务于一个目标:在 256K 原生上下文内处理交错文本、图片和视频,同时不牺牲 Qwen3 文本基座在知识、数学、代码、指令跟随上的能力。报告还特别强调 square-root reweighting,用来在文本-only 与 multimodal 样本之间平衡梯度贡献,避免视觉语言训练把文本能力冲掉。
3. Method(方法)
3.1 Overall framework:三模块 VLM + Qwen3 文本基座

Figure 1 解读:这张架构图展示了 Qwen3-VL 如何把图像、视频和文本统一成 LLM 可消费的序列。左侧输入既可以是文档截图、普通图像,也可以是视频帧;视觉编码器支持 native resolution,所以不同图片不会被强行缩放到同一个固定方形,而是保留更接近原始长宽比的视觉网格。中间的 Vision Encoder 将图像/视频映射为可变长度 visual tokens,MLP-based merger 再把相邻视觉 patch 压缩到 LLM hidden size。右侧的 DeepStack 表示视觉编码器不同层的特征并不只在最后一层使用,而是通过多个 merger 进入 LLM 的前几层 hidden states。顶部文本序列展示了图片、视频帧和文字被交错排列,视频片段前还有文本化时间戳,这正是 Qwen3-VL 从“图像问答模型”升级为“多模态长上下文模型”的关键。
Qwen3-VL 沿用三模块结构:视觉编码器、MLP vision-language merger、Qwen3 LLM decoder。Dense 版本覆盖 2B/4B/8B/32B;MoE 版本覆盖 30B-A3B 与 235B-A22B,其中旗舰 235B-A22B 是总参数 235B、每 token 激活 22B。小模型和大模型都用同一组设计原则,因此报告的贡献不是某个单点能力,而是一条从 edge 到 cloud 的统一模型族。
视觉编码器基于 SigLIP-2,并继续训练以适配动态分辨率输入。报告中默认较大模型使用 SigLIP2-SO-400M,小规模 LLM(2B/4B)使用 SigLIP2-Large。为了支持 native resolution,视觉侧使用 2D-RoPE 与位置插值,输入图像按 patch 网格编码,再经 spatial merge 将 2×2 视觉特征合并为一个 visual token。这样的设计有两个直接好处:文档、网页、表格这类长宽比极端的输入不会因为统一 resize 丢掉细节;长视频则可以通过控制每帧 token 数和帧数,把视觉预算分配给真正需要的时间片段。
3.2 Interleaved-MRoPE:把 t/h/w 位置维度交错化
Qwen2-VL/Qwen2.5-VL 的 MRoPE 将 rotary embedding 的维度划分给 temporal、height、width 三个轴。这个做法在短视频和单图中足够直观,但在长视频中会出现频谱不平衡:某些轴占据连续维度,导致高频/低频分量集中在局部维度区间,模型对长范围时间关系和空间关系的外推能力下降。
Qwen3-VL 的 Interleaved-MRoPE 保留三轴位置表示,但不再把三种轴的维度块完全分开,而是让不同轴的旋转维度以交错方式分布。可以把它理解为:同样的 hidden dimension 预算中,时间、水平、垂直信息都能在不同频率上获得覆盖,而不是 temporal 只使用某一段频率。论文报告称这种 balanced frequency spectrum 能缓解原始 MRoPE 的 spectral bias,并显著改善长程视频位置建模。
形式上,如果一个 visual token 对应网格坐标 ,模型仍为三轴生成位置 ids;区别在于 rotary section 的分配方式变为 interleaved。对普通文本 token,三轴位置保持一致,退化为标准的自回归文本位置;对图像 token, 可视作单帧或固定值, 承载二维空间;对视频 token,时间、空间共同参与注意力中的相对位置调制。这样做让文本、图片、视频在同一 attention 机制下共享相对位置信号。
3.3 DeepStack:从 ViT 多层提取视觉特征并注入 LLM
DeepStack 的动机是:ViT 低层更关注边缘、纹理、局部结构;中层更关注部件与布局;高层更关注语义对象。只取最后一层再做 merger,相当于让所有视觉信息先在视觉编码器内部压缩一次,LLM 只能看到一种尺度的视觉 token。Qwen3-VL 将 DeepStack 扩展到中间层特征:在视觉 encoder 的三个层级抽取 hidden states,通过专用 merger 映射到 LLM hidden size,并直接加到 LLM 前三层对应 visual token 的 hidden states 上。
源码也验证了这一点。Hugging Face Qwen3VLVisionConfig 默认 deepstack_visual_indexes=(8,16,24),视觉模型 forward 时遍历 blocks;若 layer_num 命中这些索引,就用 deepstack_merger_list 生成 deepstack feature。语言模型 forward 接收 visual_pos_masks 与 deepstack_visual_embeds,在 layer_idx 位于 deepstack 列表范围内时调用 _deepstack_process,把视觉特征注入对应 hidden states。这与论文描述“select features from three distinct levels of the vision encoder;added directly to the corresponding hidden states of the first three LLM layers”一致。
直觉上,DeepStack 改善的是“视觉信息进入语言模型的带宽”。最后层 merger 仍提供主 visual embeddings,但早期 LLM block 同时获得来自视觉低/中/高层的补充特征;这对 OCR、文档布局、细粒度 grounding、图表理解尤其重要,因为这些任务往往同时依赖像素级边界、二维布局和高层语义。
3.4 Video Timestamp:从 T-RoPE 转向文本化时间对齐
Qwen2.5-VL 使用 time-synchronized MRoPE 将视频帧的 position id 与绝对时间绑定。问题在于:长视频会让时间 position id 变得巨大且稀疏;如果训练数据没有足够均匀地覆盖所有时间间隔,模型很难学到稳定的时间外推。此外,用户在真实视频问答中常常会说“第 8 秒附近”“前半段”“从 1:10 到 1:20”,这些表达天然是文本语义,而不是只由视觉 token 的坐标决定。
Qwen3-VL 因此把时间显式写成文本 timestamp token,让视频帧前后出现可读的时间标记。这样,模型可以在语言空间中引用时间,注意力也能直接把某个回答步骤与文本时间戳对齐。源码 rope2d.py 中 get_rope_index_3 的注释与逻辑体现了这个转变:对 Qwen3-VL 视频,llm_grid_t 始终为 1,因为时间信息由 timestamp 文本编码;视觉 token 主要保留二维空间位置,视频时间顺序通过文本 token 与序列位置共同建模。
这种做法的优势是可解释且工程友好。用户可在 prompt 中看到时间,模型回答时也可自然产生时间引用;对于长视频检索,256K 上下文可以纳入大量帧,但模型不必在极稀疏的绝对位置 id 上完成所有 temporal grounding。
3.5 Pre-training recipe:三阶段长上下文扩展
预训练分成三个阶段。Stage 1 是通用 VL 预训练,序列长度保持 8,192,样本包含图像 caption、交错图文、视觉问答、STEM 数据和少量视频数据,主要目标是建立视觉-语言对齐和基础时间理解。Stage 2 是长上下文预训练,序列长度扩展到 32,768,约 1T tokens;数据混合中提高 text-only 比例以支撑长文本理解,同时加入更多视频和 agent-oriented instruction-following 数据。Stage 3 是 ultra-long-context adaptation,序列长度提升到 262,144,使用约 100B tokens 的长视频、长文档和文本数据,让模型真正适配 256K 上下文。
这个配方有一个重要含义:Qwen3-VL 的长上下文不是只靠 RoPE extrapolation 或推理时扩窗,而是通过训练阶段显式暴露长文本、长视频和长文档任务。报告称 README 中可扩展到 1M,但论文主报告强调的是 256K 原生上下文;因此在复现和评估时,应把 256K 视为经过训练支撑的主能力,把 1M 视为工程扩展能力。
3.6 Data:面向实体、OCR、文档、视频和 Agent 的数据工程
图像 caption 与交错图文数据强调实体覆盖和细粒度描述。报告提到构建大规模实体中心预训练集,覆盖动物、植物、地标、食物、交通工具、电子产品、服饰等十多个语义类别;对高知名度实体提高采样,对长尾实体保留低比例覆盖,从而平衡信号强度与多样性。原始稀疏 caption 会被 LLM 生成的更丰富描述替换,描述内容包含主实体、视觉属性、上下文、空间布局和交互关系。
OCR 和文档数据更具工程味。OCR 部分使用 3000 万 in-house 样本的 coarse-to-fine pipeline,用 OCR-specialized models 与 Qwen2.5-VL 生成/修正伪标签,无需人工标注;在 Qwen2.5-VL 已支持的语言之外增加 29 种语言,合成约 3000 万高质量多语 OCR 样本,并整理超过 100 万内部真实多语图片。文档解析部分收集 300 万 Common Crawl PDF(10 类文档,每类约 30 万)和 400 万内部文档;先由内部 layout model 预测阅读顺序与文本/非文本区域 bbox,再由 Qwen2.5-VL-72B 做区域识别,最后重组为位置感知、布局对齐的解析数据。

Figure 2 解读:该图展示 Qwen3-VL 在多语言 OCR 上的覆盖趋势。横轴是从罗马尼亚语、斯瓦希里语到希腊语、泰语、印度尼西亚语等多种语言,纵轴是准确率百分比。多数语言的柱状值位于 70% 以上,部分语言接近或超过 90%。这张图不是一个独立算法结果,而是数据工程的证据:多语 OCR 能力来自额外 29 种语言的合成样本和真实图像,而不是只靠英语/中文 OCR 外推。
长文档理解数据分两类:一类把单页文档样本合成多页序列,开头放多页图像,后面放 OCR 或 HTML parsing 文本;另一类从高质量多页 PDF 生成 VQA,让问题跨越图表、表格、图片和正文。视频数据则围绕时间动态、细粒度感知和跨帧推理组织;Agent 数据覆盖 GUI、工具使用、dense captioning、dense grounding 与复杂 instruction following。这些数据解释了为什么 Qwen3-VL 的评测覆盖从 MathVision 到 OSWorld、WindowsAgentArena、VideoMME,而不是只在传统 VQA 上优化。
3.7 Post-training:SFT、Long-CoT cold start、RL 与工具奖励
后训练分三阶段:SFT 激活指令跟随;Long-CoT cold start 构建 Thinking 模型的复杂推理轨迹;随后用偏好对齐和强化学习让模型在答案质量、推理深度、工具使用和安全性上更稳定。SFT 数据围绕真实应用场景组织,覆盖 fine-grained visual understanding、video spatio-temporal grounding、长技术文档理解等。Long-CoT cold start 数据保持视觉语言与纯文本约 1:1 的比例,多模态部分覆盖 VQA、OCR、2D/3D grounding、视频分析、STEM 和 agentic workflows;纯文本部分继承 Qwen3 中的数学、代码和逻辑难题。
报告对 Agent 强化学习有一个很实用的观察:早期实验中模型会退化为只做一次 tool call,以“投机”拿到前两个 reward;为避免这种 reward hacking,作者显式加入 tool-calling reward,鼓励模型根据任务复杂度自适应探索工具。这说明 Qwen3-VL 的 Agent 能力不是只靠 prompt 或 GUI 识别,还需要在后训练中对“何时调用工具、调用几次、如何组合视觉观察与动作”进行约束。
基础设施方面,训练运行在 Alibaba Cloud PAI-Lingjun;报告提到 hybrid parallelism、PagedAttention、显存优化和高吞吐推理/训练系统。对于 235B-A22B 这类 MoE VLM,基础设施不是附属细节,因为视觉 token、长上下文和 MoE routing 会同时放大显存、通信和 KV cache 压力。
4. Source Code Mapping(代码对应关系)
代码搜索结果:论文首页、Hugging Face Papers 与 GitHub 搜索均指向官方仓库 QwenLM/Qwen3-VL。该仓库主要提供 README、推理/微调工具、评测脚本和 qwen-vl-utils;核心 Transformers 模型实现位于 huggingface/transformers 的 qwen3_vl / qwen3_vl_moe 模块。因此本笔记同时锚定官方项目仓库 main@96588727 与 Transformers 实现 main@0b25f8c4。
| Paper Concept | Source File | Key Class/Function |
|---|---|---|
| 多模态输入读取与图像/视频预处理 | qwen-vl-utils/src/qwen_vl_utils/vision_process.py | smart_resize, smart_nframes, fetch_image, fetch_video, process_vision_info |
| Qwen3-VL 训练样本构建与 RoPE 分支选择 | qwen-vl-finetune/qwenvl/data/data_processor.py | preprocess_qwen_visual, LazySupervisedDataset, _get_item, _get_packed_item, DataCollatorForSupervisedDataset |
| Qwen3/Qwen2.5/Qwen2 视觉位置 id | qwen-vl-finetune/qwenvl/data/rope2d.py | get_rope_index_3, get_rope_index_25, get_rope_index_2 |
| 4B SFT 训练脚本配置 | qwen-vl-finetune/scripts/sft_qwen3_4b.sh | --model_name_or_path, --dataset_use, --data_flatten, --tune_mm_mlp, --tune_mm_llm, --max_pixels, --min_pixels |
| Dense Qwen3-VL 模型 forward | transformers/models/qwen3_vl/modeling_qwen3_vl.py | Qwen3VLForConditionalGeneration, Qwen3VLModel, get_image_features, get_video_features |
| 视觉编码器与 DeepStack 特征收集 | transformers/models/qwen3_vl/modeling_qwen3_vl.py | Qwen3VLVisionModel, deepstack_visual_indexes, deepstack_merger_list, BaseModelOutputWithDeepstackFeatures |
| MoE Qwen3-VL 语言侧与路由损失 | transformers/models/qwen3_vl_moe/modeling_qwen3_vl_moe.py | Qwen3VLMoeForConditionalGeneration, router / load-balancing loss |
| 默认视觉配置 | transformers/models/qwen3_vl/configuration_qwen3_vl.py | Qwen3VLVisionConfig(depth=27, patch_size=16, spatial_merge_size=2, deepstack_visual_indexes=(8,16,24)) |
| VideoMME 评测流程 | evaluation/VideoMME/run_videomme.py | prepare_inputs_for_vllm, run_inference |
| MathVision 评测流程 | evaluation/MathVision/run_mathv.py | dataset loading, prompt construction, answer extraction |
4.1 Pseudocode:从 prompt 到视觉输入与生成
下面的伪代码按官方工具和 Transformers 实现还原推理路径,而不是只按论文叙述概括。
# Qwen3-VL multimodal inference, implementation-level sketch
messages = [
{"role": "user", "content": [
{"type": "image", "image": image_path_or_url},
{"type": "video", "video": video_path_or_url, "fps": fps},
{"type": "text", "text": question},
]}
]
# qwen-vl-utils: parse media fields in chat messages
vision_infos = extract_vision_info(messages)
image_inputs, video_inputs, video_kwargs = process_vision_info(
messages,
return_video_kwargs=True,
image_patch_size=processor.image_processor.patch_size,
)
# images: smart_resize keeps H/W divisible by patch merge factor and obeys token budget
# videos: smart_nframes chooses frame count from fps/min/max; fetch_video resizes each frame
inputs = processor.apply_chat_template(messages, tokenize=True, add_generation_prompt=True)
model_inputs = processor(
text=inputs,
images=image_inputs,
videos=video_inputs,
return_tensors="pt",
**video_kwargs,
)
# Transformers Qwen3VLModel forward
text_embeds = token_embedding(input_ids)
image_output = visual(pixel_values, grid_thw=image_grid_thw)
image_embeds = split(image_output.pooler_output, by=image_grid_thw)
deepstack_visual_embeds = image_output.deepstack_features
# replace special image/video token positions by visual embeddings
inputs_embeds[image_token_mask] = concat(image_embeds)
inputs_embeds[video_token_mask] = concat(video_embeds)
visual_pos_masks = image_token_mask | video_token_mask
# language model uses mRoPE position_ids and injects DeepStack in early layers
for layer_idx, block in enumerate(language_model.layers):
if layer_idx < len(deepstack_visual_embeds):
hidden_states = deepstack_process(hidden_states, visual_pos_masks, deepstack_visual_embeds[layer_idx])
hidden_states = block(hidden_states, position_ids=position_ids, attention_mask=attention_mask)
logits = lm_head(hidden_states)
answer = generate(logits)4.2 Pseudocode:Qwen3-VL RoPE 与 timestamp 的关键差异
# qwen-vl-finetune/qwenvl/data/rope2d.py, conceptualized
if model_family == "qwen3_vl":
for each image_or_video_segment:
# grid is still temporal, height, width at processor level
grid_t, grid_h, grid_w = grid_thw
llm_grid_t = 1 # for video, temporal information is encoded by text timestamps
t_index = arange(llm_grid_t) # always 0 for each timestamped visual segment
h_index = arange(llm_grid_h)
w_index = arange(llm_grid_w)
vision_position_ids = stack(t_index, h_index, w_index)
append text positions after max(vision_position_ids) + 1
else if model_family == "qwen2_5_vl":
# second_per_grid_ts can affect temporal position ids directly
# this corresponds to the older time-synchronized MRoPE path这段伪代码解释了论文的“text-based time alignment”:视频时间不是完全消失,而是从视觉 RoPE 的绝对时间轴转移到 prompt 中的 timestamp token。视觉 token 仍保留空间网格,语言模型通过 timestamp 文本和序列顺序学习 temporal grounding。
4.3 Pseudocode:SFT 数据流与 flatten collator
# qwen-vl-finetune/qwenvl/data/data_processor.py, conceptualized
for raw_item in dataset_jsonl:
messages = build_messages(raw_item, base_path)
text = processor.apply_chat_template(messages)
image_inputs, video_inputs = process_vision_info(messages)
model_inputs = processor(text=text, images=image_inputs, videos=video_inputs)
labels = mask_user_and_special_tokens(model_inputs.input_ids)
position_ids, mrope_delta = get_rope_index_3(
input_ids=model_inputs.input_ids,
image_grid_thw=model_inputs.image_grid_thw,
video_grid_thw=model_inputs.video_grid_thw,
attention_mask=model_inputs.attention_mask,
)
yield input_ids, labels, pixel_values, grid_thw, position_ids
batch = DataCollatorForSupervisedDataset(instances)
if data_flatten:
batch = FlattenedDataCollatorForSupervisedDataset(instances)官方 sft_qwen3_4b.sh 中的训练配置体现了“微调视觉语言接口而非简单全冻结”:--tune_mm_vision False、--tune_mm_mlp True、--tune_mm_llm True,并使用 --data_flatten True、--max_pixels 50176、--min_pixels 784、--num_train_epochs 0.5、--weight_decay 0。这些数值来自实际脚本,不是 README 或默认配置。
5. Experimental Results(实验结果)
5.1 Flagship multimodal reasoning
Table 2 将 Qwen3-VL-235B-A22B 与 Gemini 2.5 Pro、GPT-5、Claude Opus 4.1 等顶级模型比较。关键数字如下:
- MMMU:Qwen3-VL-235B-A22B Thinking 80.6,Instruct 78.7;Gemini 2.5 Pro Thinking 81.7,GPT-5 high 84.2。
- MMMU-Pro:Qwen3-VL Thinking 69.3,Instruct 68.1;Gemini Thinking 68.8,Gemini budget-128 71.2,GPT-5 high 78.4。
- MathVista-mini:Qwen3-VL Thinking 85.8,Instruct 84.9;Gemini Thinking 82.7,GPT-5 high 81.3。
- MathVision:Qwen3-VL Thinking 74.6,Instruct 66.5;Gemini Thinking 73.3,GPT-5 high 70.9。
- We-Math:Qwen3-VL Thinking 74.8,Instruct 67.5;Gemini Thinking 80.6,Gemini budget-128 74.5。
- MathVerse-mini:Qwen3-VL Thinking 85.0,Instruct 72.5;GPT-5 high 84.1。
- LogicVista:Qwen3-VL Thinking 72.2,Instruct 65.8;Gemini budget-128 68.7,GPT-5 high 71.8。
- VisuLogic:Qwen3-VL Thinking 34.4,Instruct 29.9;Gemini Thinking 31.6。
这些数字说明:Qwen3-VL Thinking 在视觉数学和逻辑推理上非常强,尤其 MathVista-mini、MathVision、MathVerse-mini、LogicVista 等任务接近或超过闭源强模型;但在 MMMU/MMMU-Pro 和 We-Math 上仍有任务依赖差异,GPT-5 high 或 Gemini 某些配置仍领先。因此不能简单写成“全面 SOTA”,更准确的结论是:Qwen3-VL 在开源/可部署 VLM 中建立了非常高的旗舰上限,在部分综合推理基准上接近闭源系统。
5.2 General VQA, OCR and document understanding
报告指出,Qwen3-VL-235B-A22B-Instruct 在非推理模式下的 MMBench 与 RealWorldQA 表现突出,文中给出 MMBench 89.3/88.9 与 RealWorldQA 79.2 的成绩。Table 2 的 OCR/文档行显示,InfoVQA、AI2D、ChartQA、OCRBench_v2、CC-OCR、OmniDocBench 等任务上 Qwen3-VL 处于强势区间。例如 OCRBench_v2en 中 Qwen3-VL Thinking 62.6、Instruct 63.2;OCRBench_v2zh 中 Thinking 60.4、Instruct 57.8。结合 Figure 2,多语 OCR 的主要结论不是单个语言分数,而是 Qwen3-VL 把 OCR 训练从中英扩展到更广语言集合,并在真实文档解析上加入 layout-aware supervision。
5.3 Video and long-context understanding
视频评测覆盖 VideoMME、MVBench、Charades-STA、VideoMMMU、MMVU、LVBench、MLVU 等。报告强调三项改进共同提升视频能力:Interleaved-MRoPE、文本 timestamp、temporally dense video captions。特别值得注意的是,Qwen3-VL 8B 在某些视频能力上已接近更大的 Qwen2.5-VL 72B;旗舰 235B-A22B-Instruct 在标准视频理解上接近 Gemini 2.5 Pro 与 GPT-5 minimal,并且由于 256K 上下文,在长视频评测尤其 MLVU 上表现突出。评测时对每个视频最多采样 2048 帧,这个上限也说明长视频能力依赖上下文预算、帧采样和视觉 token 压缩的共同设计。
Figure 3 解读:该 heatmap 对应长上下文 needle-in-a-haystack 式评测,用来观察模型是否能在很长的文本/多模态上下文中定位目标信息。对 Qwen3-VL 来说,这类评测比普通单图 VQA 更关键,因为模型声明的核心能力之一就是 256K 交错上下文;如果长上下文中早期图像、后期文本和中间视频片段不能被稳定检索,那么架构中的 Interleaved-MRoPE 与 Stage 3 ultra-long-context adaptation 就无法成立。
5.4 Text-only capability and not forgetting the LLM
Qwen3-VL 还被拿来与 Qwen3 文本基座、DeepSeek V3、Claude Opus 4、OpenAI o3 等做文本任务比较。Table 5 中,Qwen3-VL-235B-A22B-Instruct 的 MMLU-Pro 为 81.8,MMLU-Redux 为 92.2,GPQA 为 74.3,SuperGPQA 为 60.4,AIME-25 为 74.7,HMMT-25 为 57.4。Table 6 中,Qwen3-VL-235B-A22B-Thinking 的 MMLU-Pro 为 83.8,MMLU-Redux 93.7,GPQA 77.1,SuperGPQA 64.3,AIME-25 89.7,HMMT-25 77.4。
这些结果服务于论文的一个重要论点:VL training 不应显著损害文本能力。Qwen3-VL 在很多文本任务上接近 Qwen3 基座,有些任务甚至超过对应文本-only 版本;这可能来自数据重加权、长上下文训练和 multimodal STEM/agent 数据的互补。但它也提醒我们:Qwen3-VL 的报告不能只按视觉模型读,因为它的成功标准包含“作为 LLM 仍然强”。
5.5 Agent and tool use
Agent 评测覆盖 ScreenSpot Pro、OSWorldG、AndroidWorld、OSWorld、WindowsAgentArena 等。报告提到工具增强后的高分辨率感知任务收益明显:带工具时 V* 达到 93.7,HRBench-4k 达到 85.3,HRBench-8k 达到 82.3;同时作者观察到加工具带来的提升常常超过单纯增大模型规模。这个结论很重要,因为它把多模态 Agent 的 scaling law 从“只放大模型”转向“放大模型 + 训练工具调用策略 + 视觉 grounding”。
5.6 Ablation evidence
Ablation 中 Qwen3-ViT 与 SigLIP-2 的比较显示,Qwen3-ViT 在 CLIP pretraining 与 VLM stage 都带来收益。Table 11 中,SigLIP-2 与 Qwen3-ViT 在 ImageNet-1K 上分别为 84.2 与 84.6,ImageNet-V2 为 78.6 与更高的 Qwen3-ViT,ObjectNet 为 79.9 与更高的 Qwen3-ViT;VLM bench 中 OCRBench、AI2D、RealWorldQA、InfoVQA、OmniBench 等也整体受益。DeepStack ablation 则说明多层视觉注入并非装饰:对于需要细节保留和布局理解的任务,LLM 早期层获得视觉中间特征能够提升对细粒度证据的使用。
6. Limitations and Caveats(局限与注意事项)
第一,报告是技术报告而非完整可复现实验论文。它给出了大量数据规模、训练阶段和评测结果,但训练语料中有大量内部数据、内部 layout model、内部 OCR/agent 数据和 Alibaba Cloud 基础设施;外部研究者很难完全复现 235B-A22B 的训练过程。因此复现工作更现实的目标是验证公开代码中的推理、微调和评测流程,而不是逐项复刻预训练。
第二,官方 QwenLM/Qwen3-VL 仓库主要是使用、评测、微调与工具代码,核心模型定义依赖 Transformers 集成。对读者来说,这意味着“论文代码”并不是一个单一训练仓库:架构 forward、DeepStack、MoE routing 要看 Transformers;媒体处理、SFT 数据构建、评测脚本要看 QwenLM 仓库;模型权重和 processor 配置要看 Hugging Face/ModelScope。做工程落地时必须把这三部分一起锁版本。
第三,长视频和 256K 上下文能力很依赖采样策略和 token 预算。vision_process.py 默认 FPS=2.0、FPS_MAX_FRAMES=768,并会根据 MODEL_SEQ_LEN、每帧像素预算、min/max pixels 动态调整视频帧尺寸和帧数。论文评测中某些任务最多 2048 帧,但默认工具设置与评测设置未必相同;如果用户直接用默认脚本跑长视频,结果可能受 fps、max_pixels、total_pixels、模型上下文长度和显存限制影响。
第四,Thinking 模式带来强推理能力,但也带来更高延迟、更多 token 消耗和更复杂的评测公平性问题。Table 2 同时比较 non-thinking、thinking、budget-128、high、minimal 等不同推理预算,这些设置不完全等价;因此引用榜单时必须说明推理模式和预算。
第五,Agent 工具奖励揭示了一个潜在风险:如果奖励设计不完整,模型可能学会最短路径 reward hacking,例如只调用一次工具。Qwen3-VL 通过增加 tool-calling reward 修正这一点,但这也说明多模态 Agent 的可靠性不仅取决于视觉识别,还取决于后训练 reward、工具接口和环境反馈。
7. Takeaways(可迁移结论)
- 多模态长上下文需要架构、数据和处理器共同设计。仅有 256K RoPE 或大 KV cache 不够,视频 timestamp、Interleaved-MRoPE、帧采样、文档合成数据和长上下文 stage 都是必要组成。
- 视觉信息注入 LLM 的层级很重要。DeepStack 表明,最后层视觉 token 不足以承载所有低中高层信息;对 OCR、文档、GUI 和 grounding 来说,多层视觉特征进入早期 LLM block 更合理。
- 保持文本能力是 VLM 基座的硬指标。Qwen3-VL 把 MMLU-Pro、GPQA、AIME、LiveCodeBench、BFCL 等文本/代码/agent 指标纳入核心评测,说明下一代 VLM 不应被看作“带图片功能的弱 LLM”。
- 时间对齐可以文本化。把视频时间写成
<x seconds>这类文本 token,既降低绝对时间 RoPE 的稀疏性,又让模型能够在自然语言答案中引用时间位置,是一个非常实用的设计。 - 开源落地需要锁三类版本:模型权重/processor、QwenLM 工具仓库、Transformers 模型实现。只记录一个 pip 版本或一个模型名不足以复现视觉 token、DeepStack 和 RoPE 行为。
8. Reading checklist(复查清单)
- 已按当前 taxonomy 放入
LLM & VLM / Pretraining & Architecture。 - 已从 arXiv source 提取原始图像资产,未使用 PDF 截图作为默认图源。
- 已检索并记录官方代码仓库与 commit;核心模型实现另锚定 Hugging Face Transformers commit。
- 已包含架构图、OCR 图、长上下文 heatmap,并给出逐图解读。
- 已包含方法、训练数据、后训练、实验数字、局限和代码映射。