Date: 2025.12.01 【paper】 【GitHub


模型结构

在这里插入图片描述

Qwen3-VL 于 2025 年 09月 28 日,发布第一个版本Qwen3-VL-235B-A22B,目前模型家族包含密集型(2B/4B/8B/32B)以及混合专家型(30B-A3B/238B-A22B)两种架构,以及 Thinking 与 Instruct 两种版本。

模型架构升级点:

  • 改进的交错式 MRoPE(interleave-MRoPE),能够增强对图像、视频的时空建模能力
  • 引入 DeepStack 集成,充分利用多级 ViT 特征,强化视觉-文本多模态特征对齐
  • 采用显式的基于文本的时间戳对其方式,使模型获得内化的时间序列感知能力

同时,利用平方根重加权的方式,平衡文本和视觉的训练目标,能够在不损失文本能力的前提下提高多模态性能。

🌟为什么采用平方根重加权:

不同的样本之间的长度差异巨大,一段很长的文字和一张图片,转化为 token 数量不同。传统的方式是“样本级”的处理方式,但很明显该方式转化为较长 token 的样本会将模型的分布拉偏,即具备更加强的影响。
因此,此处选择采用 ‘per-token loss’的方式,同时对其进行平方根归一化,最大可能的平衡文本与视觉模态的贡献。

采用平方根重加权的方法,能够缓解不同模态 token 数目不同导致的训练不平衡、收敛不平滑等问题;
缺点是:平方根归一化 per-token loss 虽可缓和长/短样本不均,但属于折中方法,理论不完备,仍可能造成模态偏差、梯度不均、短样本弱化、调参困难以及优化行为更复杂。

Qwen3-VL 遵循 Qwen2.5VL 的范式,即三模块架构:Vision Encoder、MLP-base vision-language merger、LLM。

大语言模型(Qwen3-LM)

Qwen3-VL 的语言底座为 Qwen3-LM,模型的结构如下图所示:

Dence MoE
![[ef29a4a8ae45cec03d7c5a9144e25dae.png]] ![[1716fb7a57e50eebed48168d6132d8c9.png]]

decoder 的数量:

model num_layers
Qwen3-2B 28
Qwen3-4B 36
Qwen3-8B 36
Qwen3-32B 64
Qwen3-30B-A3B 48
Qwen3-235B-A22B 94

Vision Encoder(SigLIP-2)

Qwen3-VL采用 SigLIP-2 架构作为视觉编码器:

  • 基于官方预训练权重进行权重初始化,以动态输入分辨率进行训练;
  • 采用 2D-RoPE并根据输入尺寸的绝对position-emb 进行插值(具体详见【CoMP】),简单来说,该方式使模型可以兼容不同图像分辨率、尺寸,而无需强行缩放、裁剪;
  • 在较小规模的 VL 模型中采用SigLIP2-Large(300M),其他模型使用 SigLIP2-SO-400M 变体。

Merger层

基于 MLP 结构,同Qwen2.5-VL一致,采用两层 MLP 将vision encoder输出的 2 × 2 2 \times 2 2×2 视觉特征压缩为单个的视觉 token,维度同LLM 的隐藏层维度对齐。视觉特征维度:3584–> 4096(LLM 隐藏层维度)。


🌟Interleave MRoPE

原始 MRoPE 设计采用 [t, w, h]=[24, 20, 20]的方式对三个维度进行位置编码,好处是将时间信息放到高频部分,在高频部分位置编码随位置变化速度快,因此对时序建模提供较高的位置信息。将空间分量,HW 放置在较低频的位置,更能够促进模型对于远距离关系依赖的建模。但,这种方式每轴只见到部分尺度,空间对于细粒度建模不够,且对于长视频建模不利。

交错 MRoPE 的设计,将 t t t t | h h h h | w w w w的频谱分布交错为:t h w t h w t h w t h w,这样时间维度具有低频,空间信息具备高频,对于“识别第二帧左下角的物体,并告诉我10s 后他移动到了哪里?”这样的任务具备更高的鲁棒性。

🌟🌟DeepStack🌟🌟

将视觉特征分层次注入语言模型多个中间层,目的是为让语言模型在抽象层次上能更好的理解视觉语义,提升细粒度理解能力。
具体来说:Deepstack也是一种残差链接!
- 配置:在config中写到deepstack_visual_indexes=[8, 16, 24]代表ViT那些层输出用于deepstack
- 步骤1:将在索引中的输出通过patch merger处理特征
- 步骤2:在语言模型的前N层(N = len(deepstack_visual_indexes))注入视觉特征(_deepstack_process函数),简单来说,如果符合注入规则,那么将改层输出的对应位置直接相加该部分的视觉编码(因此类似于残差链接)

Video Timestamp

在 Qwen2.5-VL 中引入了 T-MRoPE,但是实际应用中却不尽人意,具体来说:通过将时间位置 ID 直接同绝对时间绑定,导致长视频生成了过大而且稀疏的位置 ID,降低了模型对长时序上下文的理解能力;且需要在不同 FPS 的视频下进行广泛且均匀分布的采样,增加了训练成本。

在 Qwen3-VL 中采用了一个简单但是有效的小 trick,即显式的时间戳信息,通过文本的方式让模型具备时间感知能力,如特殊 token :<3.0 seconds>,在训练的时候,时间戳信息具有两种格式:秒和 HMS ,确保模型能够理解不同的时间表示。

缺点:增加了上下文长度
优点:使模型更有效和更精确的感知时间信息

预训练流程

Qwen3-VL 的采用预训练的 SigLIP-2作为 Vision Encoder,基于此预训练方法设计为四个阶段:
![[Pasted image 20251203110253.png]]

Stage0 视觉-文本对齐:该阶段的目的是弥合两种模态之间的鸿沟,具体来说,在该阶段仅训练 merger 层的权重。

  • 训练对象:merger 层权重
  • 训练数据量:67B token,包含高质量的图文理解对、视觉知识集合、OCR (特挑数据集)
  • sequence_length: 8k
  • 目的:在全参预训练前先让模型具备一定的基础多模态理解能力
    Stage1 多模态预训练:该阶段开始解冻所有的权重信息
  • 训练对象:all
  • 训练数量量:1T token,包含 VL 和纯文本数据,VL 数据包括:图文交错文档、视觉定位、VQA、STEM、少量视频
  • sequence_length:8k
  • 目的:初步对齐后开始全量预训练
    Stage2 长下文预训练:扩展模型的上下文处理能力
  • 训练对象:all
  • 训练数据量:1T token,相比Stage1进行了数据配比调整,增加纯文本数据的比例(以增强长文本理解能力),多模态数据增加更多的视频数据以及面向智能体的指令数据。
  • Sequence_length:32K
  • 目的:扩展模型的上下文处理能力
    Stage3 超长上下文适应:专门设计将上下文窗口推到更高的阶段
  • 训练对象:all
  • 训练数据量:精挑的 100B token 数据集,(侧重于长视频和长文档的理解任务)
  • sequence_length: 256k
  • 目的:将 Qwen3VL 的上下文窗口推到一个新极限,加强 Qwen3VL 在处理极长序列输入的能力

预训练数据

图片描述&图文交错数据集

图片描述数据:
数据来源于互联网,主要为中英双语图文对语料。采用转为重描述任务微调的 Qwen2.5-VL-32B为核心,实施多阶段优化流程。该模型通过解析每张图像关联的原始文本,生成更全面、流畅且细粒度的描述,除提升文本语言质量与信息密度之外,还增强了对视觉元素的刻画(如物体的属性、空间位置布局、语境语义)
针对重标注文本进行去重操作,通过语义相似度度量进行,保证去冗余样本且不损失视觉多样性。提升对代表性不足的概念(可能包含:长尾样本、corner case)的覆盖,采用聚类的方法(【Climb】)对 vison-emb 进行分析,识别数据分布中的稀疏区域,针对此区域进行增强。

交错图文数据:
所有文档先通过一个微调的 Qwen 轻量级模型进行领域分类,同时利用该模型过滤排除有害、低价值类别。关于书籍规模的图文交错数据,采用微调后的Qwen2.5VL-7B进行多模态解析,提取文本并同嵌入的图表、图解以及图像进行对齐。 为了满足 Stage 3 阶段的训练目标,将连续页面合并成最多包含256K标记的序列,构建了一个专门的子集,该子集的内容保持页面顺序和多模态连贯。

  • 提出纯文本或图文对齐度低的片段(因为此部分数据是图文交错数据)
  • 针对超长书籍,设定最低页数和最低图文比阈值,保证整个长下文中都有图文交互

知识类数据

该部分数据旨在让模型具备更加鲁棒性的视觉理解、基于现实世界推理的能力,同时为具身智能奠基础。Qwen 团队构建了一个明确定义实体为核心的大规模预训练数据集,包含:动物、植物、地标、食物、车辆、电子产品、服装等十余种语义类别。

结论性语言:现实世界的实体遵循长尾分布

核心概念常以高质量标注频繁出现,而大多数实体却稀少。采用基于重要性的采样策略,来平衡此类情况。(重要性高采样更密集,低重要性以更小比例纳入)

多阶段精炼流程:

  • 噪声与错位过滤
  • 原始或稀疏描述用 LLM 生成更丰富表达

OCR、文本解析、长文档理解

OCR: 精心构建了一个超过 3000W 内部数据集,整合了 OCR 专用模型生成的伪标签与 Qwen2.5VL 的优化结果,无人工标注。语言由 10–>29 张,合成了约 3000w 的多语言 OCR 数据,同时精挑 100w 真实场景的多语言图像。

文本解析:从Common Crawl 收集了 300w PDF 文档,均匀分布在 10 种文档类型中(但并未提到是哪些,依据综述所述,可能是:合同、学术论文发票 / 收据 /账单表格报告信函/邮件 等。同时还有阿里内部 400w 份文档。
步骤:使用自研的版面分析模型预测文本区域和非文本区域的阅读顺序以及边界框;然后利用 Qwen2.5VL-72B对特定区域进行识别;识别结果被整合为具备
位置感知布局对齐**的解析数据。

保证在不同的格式下实现解析,设计了统一标注框架:
- QwenVL-HTML:包含细粒度的、元素级的边界框
- QwenVL-Markdown,仅对图像和表进行定位,表以 Latex 的格式编码

构建了一个大规模的合成 HTML 语料库,包含精确的标注,并且将其转化为 markdown 格式。同时在大量真实文档上生成伪标签,并进行质量过滤,最终训练集包含合成数据与高质量的伪标签数据。

长文档理解:1、通过合并单页文档生成长文档解析序列,每个序列以多页图像开头,后接通过 OCR 或 HTML 解析提取对应的文本;2、构建长文档视觉问答数据集,筛选高质量多页 PDF 文档,生成多样化 VQA 实例(可通过开源自动化标注软件演示),要求模型跨多页以及多源文档元素进行推理(图表、表格、图像、正文等)

Vision Grounding & counting

grounding标注包含两种格式:bounding box 和 points,同时引入计数数据,使得模型具备计数能力

Vision Grounding

  • 来源:
    • 开源数据集:COCO、Object365、OpenImages、ReferCOCO/+/g
    • 自动化数据合成:1、利用 Qwen2.5-VL 从无标签图像中提取候选对象;2、利用开放词汇检测器(grounding dino!!!)与 Qwen2.5-VL 对候选对象进行定位和标注。(人话版:用 Qwen2.5vl 先进行视觉理解,抽取图像中前景存在什么实体,然后利用 grounding dino 进行标注);3、对生成的标注进行质量评估,过滤低置信度或不标准的标注。
      Point-base Grounding
  • 来源:(同Qwen2.5VL 相同)
    1. 来自 PixMo的公开指向与计数标注;
    2. 从公开的目标检测与实例分割基准中提取的物体定位数据;
    3. 由专门设计的合成流水线生成的高精度指向标注,该流水线旨在针对图像中的细粒度细节进行优化。
      Counting:在基础数据基础上,精挑一个高质量子集,作为计数数据集的基础,包含三种不同的任务形式:直接计数、基于框的计数以及基于点的计数

同上一代不同点:Qwen3VL 采用归一化坐标系,范围缩放至[0, 1000](看起来把 QwenVL 的做法重新拿出来了)。提高了对于不同分辨率以及不同长宽比的鲁棒性,且简化了后处理流程。

Qwen2.5VL 做法:动态根据输入图片的分辨率,直接感知绝对坐标信息(当时检测定位精度出了名的烂)

空间理解和3D 识别

该部分能力应该是为具身人工智能做基础,目的:模型解析空间位置关系、推理物体的功能、执行动作规划以及具身推理----->根据单目图像估计物体三维空间大致位置(个人浅显理解:类似小学物块堆积)

空间理解:内部私有数据(在 Vision grounding 任务上进一步外推)

  • 关系标注(如,杯子在笔记本电脑的左侧)
  • 可操作性标注(如,可抓取、可按压、可坐)
  • 需要规划的行动条件查询:(如,我应该先移动什么才能拿到显式器后面的书?,我应该先怎么做才能把大象放到冰箱里)
  • 数据来源&标注方式:
    • 真实场景&合成布局
    • 模版化
    • 基于 LLM 生成自然语言query
  • 关键:所有空间参考不依赖于绝对或相对坐标,而是依赖于其他的实体作为参考

3D 识别

  • 数据格式:VQA
  • 每个样本标注:
    • 单目相机图像
    • 自然语言指代表达式
    • 对应的 9-DoF 3D bbox,明确标注物体的空间位置与语义标签
  • 总结:初步估计是自动驾驶领域常见的,对二维图像标注三维标注框(不一定准确,因为下一步提到了借Omni3D 的方式来统一相机坐标系

Code

包含纯文本以及多模态两类与代码相关的数据,能够在纯文本和视觉引导的上下文这能够读取、编写和推理

仅基于文本的编程:复用 Qwen3 和 Qwen3-coder 的语料,包含软件开发、算法问题求解、数学推理、面向 agent 的任务

多模态编码:来源于开源数据集以及内部合成 pipeline

  • 将 UI 截图转化为 HTML/css
  • 从图像生成可编辑的 SVG 代码
  • 解决视觉编程挑战
  • 回答包含多模态信息的编程问题
  • 视觉表达形式转为对应代码(Latex、mermaid 等)

video

时间感知的视频理解
1、密集描述合成:针对长视频序列,采用由短及长的描述合成策略(short-to-long caption synthesis)

  1. 先将视频切为短段
  2. 每个短段生成局部短描述
  3. 将短描述按照时间排序得到:
    • 整体性的(覆盖全片主要线索)
    • 带时间戳交错排列(每段字幕对应具体时间)
    • 时间上连贯的故事级长描述
      除此之外,进一步生成细粒度标注,同时捕捉事件级时序概览和片段级视觉细节
  • 细粒度标注:fine-grained annotations
    • event-level temporal summaries(对每个事件做“时间维度总结”(比如 00:10-00:25 发生了什么关键事件
    • segment-specific visual details(对每个片段补充细节(人物穿着/动作/物体/环境状态等)
      2、时空视频定位:对物体、动作、人物层级进行标注
  • object(物体):物体何时出现、在哪、如何变化
  • action(动作):动作发生的时间段+涉及的空间区域/对象
  • person(人):具体哪个人在做动作、人的轨迹/位置随时间变化
    总结:使得显式的时间标注内化至模型对时间的感知中(换个角度:将所有的任务试做一个自然语言任务)

视频数据平衡和采样
1、来源平衡:预训练视频数据来自很多不同“源/类型”

  • 教学视频
  • 电影片段
  • 第一人称录像…
  • 目的:让数据分布不失衡
  • 如何实现:根据视频的元数据(标题、时长、类别标签)进行筛选
    2、长度自适应采样:根据不同的序列长度调整动态采样参数
  • fps(每秒取几帧): 长视频→提高 fps(更密) 、短视频→降低 fps(别重复)
  • max frames(最多取多少帧): 长视频→放宽帧数上限 or 用分段采样 、短视频→减少上限

STEM

两段式:独立提升视觉感知和文本推理能力,再联合实现高校的多模态推理

视觉感知数据:自动数据合成 pipeline,利用代码渲染几何图形

  • 100w 点定位样本(交点、角点、重心等)
  • 200w VQA(面向感知)
    两阶段图像描述生成框架:首先进行初步生成、随后基于模型严格验证
    最终样本数量:600w 对丰富标注的图像描述数据集,覆盖多个 STEM 学科

多模态推理数据

  • 超过6000万道K–12及本科水平的练习题
    • 质量过滤阶段:剔除低质量数据(图像损坏、内容无关、答案错误、答案不完整)
    • 重构阶段:题目进行中英文翻译,并对答案格式进行标准化处理(分步解答列表、数学表达式等)
  • 超1200w CoT 多模态推理样本
    1. 强推理模型生成原始的推演序列
    2. 基于规则检查和基于模型验证,并过滤包含模糊答案和语言混杂的实例
    3. 拒绝采样:仅保留具有挑战性的题目

语言推理数据:来源于 Qwen3

Agent

包含 GUI、函数调用(视搜索能力为促进现实场景中 长尾实体知识整合的关键,通过在线图像搜索和文本搜索工具收集多模态事实查找轨迹,促使模型对不熟悉的实体执行搜索操作)

后训练阶段

后训练阶段分为三个阶段,旨在提升模型的指令遵循能力,增强推理技巧,并满足人类偏好。具体来说,分为监督微调(SFT)、强到弱蒸馏(Strong-to-Weak Distilation)、强化学习(RL)

🌟监督微调:
该阶段旨在赋予模型遵循指令的能力,并激活其潜在的推理能力。
SFT 微调分为两个阶段:

  • 初始阶段使用 32K 上下文窗口
  • 后续扩展为 256K 上下文窗口
    训练数据也分为两类:
  • 面向非思考型模型的标准格式
  • 面向 thinking 模型的思维链格式(显式建模推理过程)

🌟强到弱蒸馏:
该阶段采用知识蒸馏,本阶段的关键:仅使用文本数据来微调 LLM backbone,该方法被证明为非常有效,在文本中心任务和多模态任务中显著的提升了模型的推理能力。

🌟强化学习
目的:进一步提升模型性能和对齐度
该阶段分为推理强化学习通用强化学习两部分,作用范围:文本与多模态领域的广泛任务(包括但不限于数学、OCR、grounding、指令跟随等。

冷启动数据

SFT 数据

核心目标:让模型具备应对广泛现实场景的能力
引入新能力:面向具身智能的空间推理、面向细粒度视觉理解的图像推理、视频中鲁棒目标跟踪的时空定位、长达数百页技术文档的超长上下文理解

  • 数据量:约 120W 条样本
  • 数据来源:开源数据+网络资源(最终数据集是闭源的)
  • 数据模态构成:单模态数据+多模态数据(三分之一的纯文本、三分之二的图像-文本和视频-文本对)多模态数据:旨在使模型能够理解复杂的现实场景
  • 语种:主要是中英文,包括其他小语种
  • 对话:包括单轮和多轮对话,模拟了真实的对话动态
  • 交错排列图像-文本示例:用于支持高级智能体行为

多阶段SFT 流程:

  • 第一阶段为 32K token序列长度的单轮训练
  • 第二阶段为256K token 长度的训练,在该阶段,模型通过交错长上下文输入和 32k token 长度的采样数据进行训练。长上下文输入包括数百页的技术文档、完整的教科书以及长达两小时的视频材料。

数据过滤流程:包括查询过滤(Query)和响应过滤(Response)

  • 查询过滤:利用Qwen2.5-VL 剔除难以直接验证的 query,最小程度修改指令模糊的 query
  • 响应过滤:该阶段融合了两种互补的策略:
    • 基于规则的过滤:应用预定义启发式规则,消除存在定性缺陷的响应(如重复、不完整或格式不正确)同时删除偏离主题以及可能生成有害内容的query 相应对
    • 基于模型的过滤:采用由 Qwen2.5-VL 系列构建的奖励模型,对数据集进行优化:
      • 根据正确性、完整性、清晰度和实用性等多项标准对答案进行评分
      • Vision task:评估验证视觉信息是否准确解读和运用
      • 不恰当的语言混用或突兀的风格转变

Long-CoT 冷启动数据

目的:激发并优化复杂推理能力
数据构成:视觉-语言样本:纯文本样本 约为 1:1
多模态数据:额外加强 STEM 以及智能体工作流相关的任务
纯文本数据:参照 Qwen3

多阶段数据筛选流程:

  • 难度筛选:选择性保留 baseline 表现较差(通过率低)或者需要生成更长、更详细回答的实例
  • 多模态必要性过滤:针对V-L 数学问题,若 Qwen3-30B-nothink 模型无需视觉输入即可获得正确解,则剔除该部分样本(确保实例必须依赖多模态理解,而不是仅仅通过文本即可推导出正确答案)
  • 回答质量控制:遵循 Qwen3 的方法论。对于存在多个候选答案的 query,首先提出最终结果错误的回答,随后过滤存在的不良模式(过度重复、语言混杂不当等)

强到弱蒸馏

采用Qwen3 中采用的强模型到弱模型蒸馏的流程,该部分分为两个主要阶段:

  • 离策略蒸馏(Off-policy):该阶段,结合教师模型生成的输出,进行响应(回答)蒸馏,有助于轻量级模型掌握基础推理能力,为后续的 on-policy 奠定基础 (以预训练的模式,下一token 预测的方式来进行)
  • 在策略蒸馏(on-policy):本阶段,学生模型根据提供的提示词生成响应(回答)。这些 on-policy 序列随后用于微调学生模型,通过最小化 KL 散度来对齐学生模型和教师模型预测的 logits

人话版:第一阶段,学生看老师的答案,学习基本能力;第二阶段,学生自己做题,老师来批改

🌟🌟强化学习

推理强化学习

作者在多样化的文本和多模态任务上训练模型,涵盖:数学、编程、逻辑推理、Vision grounding、视觉谜题等领域。(每项任务确保解决方法能够通过规则和代码进行确定性验证)

数据准备

  • 来源:开源和专有数据源收集,严格预处理和人工标注,确保强化学习的 query 高质量。
  • 多模态 query:采用 Qwen3-VL-235B-A22B 的初步预训练权重,为每个 query 生成 16 个响应(回答);如果响应全错,则丢弃该 query

进行初步强化学习实验,识别并剔除改进潜力有限的数据来源,最后生成了约 3w 条强化学习query。

训练模型时:每个 query 采样 16 个响应,并过滤掉通过率超过 90% 的简单查询。最后通过打乱并合并特定任务的数据集,构建了混合任务批次(mixd-task batches),确保每项任务的样本比例保持稳定

奖励系统

一个统一的 reward 框架,用以在所有任务中提供精确的反馈。该系统共享基础设施(数据预处理、实用函数以及整合多种奖励类型的奖励管理器),核心奖励逻辑按照任务单独实现(任务级)。
没有做显式的输出格式奖励,而是直接利用任务特定提示词引导相应格式。对回复语言同提示词语言不一致的问题 ,系统会施加相应惩罚。


🌟🌟强化学习算法🌟🌟:采用平滑且自适应的策略梯度方法,SAPO

SAPO

对每个 token 的 ratio ri,tr_{i,t}ri,t​,SAPO 计算一个权重 f®f®f®,大致形状是:

  • 在 r≈1(接近 on-policy)附近,权重接近 1,几乎不衰减;
  • r 离 1 越远,权重平滑地减小,而不是突然清零;
  • 通过一个温度参数 τ 来控制“衰减快慢”:τ 越大,掉得越快。
    ![[Pasted image 20251208091528.png]]

形成一个连续的 trust region

  • 既防止步子太大(远离行为策略);
  • 又保留一部分“偏离不算太多”的样本的学习信号

除此之外:

  • 正 advantage token 用温度 τ_pos;
  • 负 advantage token 用更大的温度 τ_neg(也就是负梯度衰减得更快)。
Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐