大数跨境
0
0

Qwen3-VL技术报告:模型结构、训练方法浅尝

Qwen3-VL技术报告:模型结构、训练方法浅尝 大模型自然语言处理
2025-11-27
19

Qwen3-VL技术报告最近放出,接着《Qwen-VL系列多模态大模型技术演进-模型架构、训练方法、数据细节》,在前期从huggingface的源码上看了Qwen3-VL的改进点:《Qwen3VL源码侧改进点及DeepStack核心思想概述

现在再简单过一下模型架构、训练方法,仅供参考。

模型架构

整体架构
  • 视觉编码器(SigLIP-2:2B 和 4B使用SigLIP2-Large(300M),其他大参数的使用SigLIP2-SO-400M)
  • 语言模型:Qwen3系列
  • 连接器:与 Qwen2.5-VL 类似,2层MLP,额外的专用模块以支持 DeepStack 机制

正如前面提到的《Qwen3VL源码侧改进点及DeepStack核心思想概述

架构侧主要改进点如下:

  • 改进的交错式 MRoPE,显著提升对图像与视频中时空信息的建模能力;
  • DeepStack 引入,有效利用多层级 ViT 特征,强化视觉-语言对齐;
  • 基于文本的时间对齐机制,从 T-RoPE 演进为显式的文本时间戳对齐,实现更精确的时序定位。
DeepStack

大多数多模态模型通过将视觉 token 作为序列输入到LLM的第一层来实现。这种架构虽然简单,但显著增加了计算 和内存成本,因为其输入层需要处理大量额外的 token。DeepStack考虑到 LMMs 中语言和视觉 Transformer 的 N 层,将视觉 token 堆叠成 N 组,并将每组从下到上依次输入到其对应的 Transformer 层.

  • 如上左图:传统的大型多模态模型将所有视觉 token 串接成一个序列,适用 于高分辨率和低分辨率图像。
  • 中间图: DeepStack LMMs 将 token 堆叠成网格,并自下而上地将其注入到 Transformer 的前几层和中间层,仅通过残差连接实现。
  • 右图:将 DeepStack 应用于 Vicuna-7B(DeepStack-L)和 CLIP ViT-L(DeepStack-V),模型能够接受 4× 倍的视觉 token,在相同的上下文长度下显著超 越序列式 LMM,并在广泛的基准测试中与使用更长上下文的模型相媲美。
架构

主要创新在于 DeepStack 策略(通过将图像特征抽取分为两个流来实现这一点:一个全局视图流用于捕捉全局信息,另一个高分辨率流通过在不同层的大模型中堆叠扩张的高分辨率图像特征来增强全局信息。),该策略将视觉 token 注入到不同的层中。大白话:DeepStack 的本质是利用 Transformer 的分层架构特性,将视觉 token 的 “整合过程” 分散到 LLM 的多层中

  • 左图:用于大模型的 DeepStack :给定输入图像,将从低分辨率版本中提取的 token 输入到大模型的输入层。考虑到图像的二维特性,从高分辨率版本中提取相邻区域,并将其重新组织为DeepStack ,然后将其输入到大模型的后续层中。

  • 右图:用于 ViTs 的 DeepStack :采用类似的采样策略,但将视觉 token 输入到视觉编码器的 ViT 层中。DeepStack-V 的适配逻辑:利用 ViTs 的编码器分层结构,将高分辨率视觉 token 注入 ViTs 的中间层,而非仅在输入层(PatchEmbed)处理,增强 ViTs 的细粒度特征提取能力。

多模态大模型基于投影的连接模块获得了视觉标记,DeepStack策略就是如何在保持多模态处理有效的同时提供信息丰富的视觉标记。

DeepStack PyTorch伪代码:

def forward(H0, Xstack, lstart, n, vis_pos):
    H = H0  # LLM初始隐藏态(含全局视觉token+文本token)
    for (idx, TransformerLayer) in enumerate(self.layers):
        # 满足条件时,注入高分辨率堆叠token(残差连接)
        if idx >= lstart and (idx - lstart) % n == 0:
            stack_idx = (idx - lstart) // n  # 对应Xstack的索引
            H[vis_pos] += Xstack[stack_idx]  # vis_pos:视觉token在隐藏态中的位置
        # 正常执行LLM的Transformer层计算
        H = TransformerLayer(H)
    return H

训练方法

训练分预训练、后训练两大部分。

预训练

不同阶段的训练设置与超参数

Qwen3-VL的预训练通过四阶段递进式训练,实现了视觉-语言深度对齐、长上下文理解和多模态推理能力的提升。

1. 阶段0(S0):视觉-语言对齐

仅训练 MLP (merger,负责视觉特征与文本特征的映射),视觉编码器和 LLM  backbone 冻结。

  • 数据规模:67B tokens,以高质量图像-标题对、视觉知识集合和 OCR 数据为主。
  • 序列长度:8192 tokens。
2. 阶段1(S1):多模态预训练

这一阶段激活模型的多模态基础能力,同时保留 LLM 原有的文本能力。使用全参数训练(视觉编码器、merger、LLM 均解冻)。

  • 数据规模:~1T tokens,混合视觉-语言(VL)数据和纯文本数据。VL 数据:包含交错图文文档、视觉接地任务、VQA、STEM 数据和少量视频数据(引入时间维度理解)。纯文本数据:保障语言能力不退化。
  • 序列长度:维持 8192 tokens。
3. 阶段2(S2):长上下文预训练

这一阶段目标是扩展模型处理长序列的能力,适配长文档、长视频等场景。使用全参数训练。

  • 数据规模:~1T tokens,调整数据配比:
    • 增加纯文本数据占比,强化长文本理解。
    • VL 数据中扩充视频数据和智能体指令跟随数据,支撑长流程任务。
  • 序列长度:提升至 32768 tokens(较前一阶段翻4倍)。
4. 阶段3(S3):超长上下文适配

将上下文窗口推至极限,适配 256K tokens 级别的超长输入。使用全参数训练。

  • 数据规模:100B tokens,聚焦长视频和长文档理解任务(如数百页 PDF、长时视频)。
  • 序列长度:进一步提升至 262144 tokens(即 256K tokens)。

后训练

后训练采用“SFT→强到弱蒸馏→强化学习”三阶段递进流程,配套“冷启动数据构建→工具集成训练→基础设施支撑”的方案,既保证了模型对复杂指令的响应精度,又强化了多模态推理和智能体交互能力,最终适配不同场景的应用需求。

阶段1:SFT

赋予模型指令跟随能力,激活潜在推理技能。

  • 训练策略:分两阶段推进
    1. 初始阶段:以 32K 上下文长度训练,覆盖基础指令场景。
    2. 扩展阶段:将上下文长度提升至 256K,重点训练长文档、长视频相关任务。
  • 模型变体拆分:
    • 非思考模型(Non-thinking):使用标准格式数据,适配快速响应场景。
    • 思考模型(Thinking):采用链式思维(CoT)格式数据,显式建模推理过程,强化复杂任务处理能力。
阶段2:强到弱蒸馏

让轻量模型(学生模型)继承大模型(教师模型)的能力,提升推理性能。仅使用纯文本数据蒸馏,专门优化 LLM  backbone

  • 两阶段蒸馏:
    1. 离线蒸馏(Off-policy Distillation):融合教师模型的输出结果进行响应蒸馏,为学生模型奠定推理基础。
    2. 在线蒸馏(On-policy Distillation):让学生模型基于提示生成响应,通过最小化 KL 散度对齐师生模型的预测分布。
阶段3:强化学习RL

进一步提升模型性能,对齐人类偏好和任务需求。分两类 RL 训练:

  1. 推理强化学习(Reasoning RL):针对数学、编码、视觉接地等可确定性验证的任务,通过规则或代码执行器判断结果正确性。
  2. 通用强化学习(General RL):聚焦指令跟随精度和偏好对齐,优化模型在开放场景下的响应质量。

参考文献:Qwen3-VL Technical Report,https://arxiv.org/pdf/2511.21631

【声明】内容源于网络
0
0
大模型自然语言处理
不定期分享自然语言处理、大语言模型,文档智能等领域前沿技术及实践。作者:老余,曾获CCF、Kaggle、ICPR、ICDAR等国内外近二十项算法竞赛/评测冠亚季军。曾发表sci、顶会等论文多篇。
内容 222
粉丝 0
大模型自然语言处理 不定期分享自然语言处理、大语言模型,文档智能等领域前沿技术及实践。作者:老余,曾获CCF、Kaggle、ICPR、ICDAR等国内外近二十项算法竞赛/评测冠亚季军。曾发表sci、顶会等论文多篇。
总阅读213
粉丝0
内容222