Qwen3.5-Omni Architecture Figure from Qwen3.5-Omni Technical Report

本文基于 Qwen3.5 官方技术文档及代码结构分析,系统梳理 Qwen3.5 相较于 Qwen3 在架构层面的代际演进。两者之间的差异远非简单的参数调优,而是在注意力机制、多模态融合方式、稀疏化策略和位置编码等多个维度上进行了根本性的设计重构。

交互式架构对比

下图展示了 Qwen3-VL 与 Qwen3.5 的交互式架构可视化,支持 Tab 切换、拖拽平移、滚轮缩放,点击节点可查看各模块的详细参数信息。

操作提示:点击顶部 Tab 切换 Qwen3-VL / Qwen3.5 / Compare 视图;滚轮缩放;拖拽平移;点击节点查看参数详情。


1. 注意力机制:从标准 Transformer 到混合架构

在所有架构变化中,注意力机制的改造最为彻底,也是理解 Qwen3.5 效率优势的核心切入点。

Qwen3 采用标准的 Softmax Attention(自注意力),这是 Transformer 模型的默认配置,计算复杂度为 O(L2d)O(L^2 \cdot d),其中 LL 为序列长度、dd 为隐藏维度。这种设计的代价随着序列增长呈二次方膨胀——在长文本场景下,KV Cache 的内存占用成为主要瓶颈。

Qwen3.5 引入了混合注意力(Hybrid Attention),将 Gated DeltaNet(一种线性注意力变体)与 Full Attention 交替堆叠。具体而言,每连续三层线性注意力之后插入一层完整注意力,形成 3:1 的层间比例。线性注意力的核心是 Gated DeltaNet 状态更新公式:

St=βtSt1+Δt(KtVt)S_t = \beta_t \odot S_{t-1} + \Delta_t \otimes (K_t \otimes V_t)

其中 βt\beta_t 为门控参数,控制历史状态的保留与遗忘;Δt\Delta_t 为增量更新参数,实现对记忆内容的精确局部修改而非全量覆写。状态空间维度固定为 O(1)O(1),不随序列长度增长——这意味着线性注意力层的推理开销与上下文长度基本无关。

以 24 层模型为例,层分布如下:

1
2
3
4
5
6
Layer 0:  linear_attention
Layer 1:  linear_attention
Layer 2:  linear_attention
Layer 3:  full_attention    ← 上下文刷新
Layer 4:  linear_attention
...(每 4 层为一个周期重复)

对应的配置定义为:

1
2
3
4
5
6
7
8
{
  "num_hidden_layers": 24,
  "layer_types": [
    "linear_attention", "linear_attention",
    "linear_attention", "full_attention"
  ],
  "full_attention_interval": 4
}

这种设计的直接收益体现在 KV Cache 内存占用上。在 128K 序列长度下,纯 Full Attention 需约 128 GB,而混合方案仅需约 34 GB,减少 73%。计算量方面,24 层模型在 32K 序列上的相对计算量从 100%(全 Full Attention)降至约 44%(混合方案,interval=4),节省 56% 的计算资源,同时不显著牺牲模型质量。

Full Attention 层在此架构中承担"上下文刷新"的角色:每隔四层做一次全局注意力计算,补偿线性层随序列增长而产生的信息衰减,从而在效率与质量之间取得平衡。

这一改变也带来了工程层面的取舍:Qwen3.5 由于注意力实现的特殊性,目前不支持序列并行(Sequence Parallelism),而 Qwen3 的标准注意力则兼容该特性。

线性注意力层的 SSM 参数

Gated DeltaNet 的实现依赖一组 Qwen3 完全不具备的 SSM(State Space Model)组件参数:

参数功能
conv1d.weight1D 卷积核(kernel size=4),捕获局部时序依赖,弥补线性注意力在局部建模上的不足
A_log状态转移矩阵,以对数形式存储以确保数值稳定性,加载时取 exp(Alog)-\exp(A_{\log})
dt_proj (weight + bias)时间步门控投影层,生成动态门控参数 Δt\Delta_t,是自适应记忆更新的核心
D_proj残差跳跃连接投影,增强梯度回传通路,提升训练稳定性

此外还有一组专门控制线性注意力行为的超参数:

参数含义典型值
linear_conv_kernel_dim1D 卷积核大小4
linear_key_head_dimKey 向量的头维度128
linear_value_head_dimValue 向量的头维度128
linear_num_key_headsKey 头数量,决定记忆容量上限16
linear_num_value_headsValue 头数量,决定输出维度16

2. 视觉编码器与图文对齐

多模态能力的整合方式经历了重要但比表面描述更微妙的转变。要看清 Qwen3 → Qwen3.5 这一步的位置,需要先把视野放宽到整个 Qwen-VL 家族的视觉 backbone 演进,以及一直贯穿其中的对齐约束。

2.1 Qwen 系列 Vision Backbone 演进

版本发布Vision Encoder规模输入处理Connector关键创新
Qwen-VL2023.08OpenCLIP ViT-bigG/141.9B448×448 固定Cross-Attn Adapter(256 query)借用 CLIP;cross-attn 把视觉 token 压成定长
Qwen2-VL2024.09自训 ViT(init DFN)~675MNaive Dynamic Resolution2×2 spatial-merge + MLP抛弃 cross-attn;ViT 内 2D-RoPE;LLM 端 M-RoPE
Qwen2.5-VL2025.01自训 ViT~675M动态分辨率 + 动态 FPS同上Window Attention 提速;视频绝对时间编码
Qwen3-VL2025SigLIP2(24 层 hidden=1024)ViT-L 级动态 patch=163 个 Merger(DeepStack)借回 SigLIP;多层注入弥补浅层融合
Qwen3.5-Omni2026SigLIP2(同上结构)ViT-L 级同上单一 Merger移除 DeepStack;联合预训练

从这张表里能读出三条主线。

第一条是 encoder 来源的非线性演进。Qwen-VL 借用 OpenCLIP(带图文对齐先验),Qwen2/2.5-VL 干脆自训 ViT(用 LM loss 自带对齐),Qwen3 系又借回 SigLIP2(要它的高质量视觉表征做冷启动)。这不是"自训更好"或"借用更好"的简单结论,而是不同阶段的工程权衡——什么时候 LLM 预训练的反向梯度强到能主导对齐,什么时候 vision encoder 自身的预训练质量更值钱。

第二条是 从固定分辨率到原生动态分辨率。Qwen-VL 依赖位置编码插值支持 448 是 CLIP 时代的老办法。Qwen2-VL 引入 Naive Dynamic Resolution 后,图像不再被 resize 成正方形——任意宽高比、任意分辨率都能直接编码。这是 OCR、document understanding、UI 截图等任务能力跃升的关键基础。

第三条是 Connector 从复杂到简洁再到结构性融合。Qwen-VL 的 cross-attention adapter 是一个独立的小模型;Qwen2-VL 简化为 spatial-merge + MLP;Qwen3-VL 又加回 DeepStack 是因为 LLM 浅层不会处理视觉 token;Qwen3.5 让 LLM 从 step 0 学会处理视觉 token,DeepStack 自然又消失了。Connector 的复杂度本质上反映的是"LLM 还没学会用视觉信息"的剩余距离。

2.2 图文对齐:约束只有一条 LM Loss

Qwen-VL 系列没有引入 CLIP 式对比损失,也没有专用的图文匹配损失。视觉与语言的对齐完全由语言模型的下一 token 预测损失驱动

LLM=i=1NlogP(tit<i,V1:M) \mathcal{L}_{LM} = -\sum_{i=1}^{N} \log P(t_i \mid t_{<i}, V_{1:M})

其中 V1:MV_{1:M} 是图像经 ViT 编码、由 merger 投影到 LLM embedding 空间后的视觉 token 序列,t1:Nt_{1:N} 是文本 token 序列。要让 loss 下降,模型必须从视觉 token 中提取出足以支撑文本预测的语义信息——否则 caption、VQA、grounding、OCR 任意一个任务都会把 loss 拉高。

这背后有一个克制的工程决策:所有视觉任务被统一改写成文本生成

任务监督目标(生成的文本)对视觉表征的隐含约束
Captioning自然语言 caption全局语义
VQAquestion + answer局部细节定位 + 跨区域推理
Grounding<|box_start|>(x1,y1),(x2,y2)<|box_end|>精确空间坐标
OCR转录后的字符串高频局部纹理
Document QA结构化 markdown 答案版面理解 + 多区域聚合

bounding box 被序列化为坐标 token,OCR 输出被序列化为字符 token,没有专用的检测头、回归损失或对齐损失。这意味着 ViT 的视觉表征必须同时支撑这五类任务的全部需求——只要某一任务的 loss 降不下去,整体 LM loss 就压不下来。这是一种通过任务多样性间接约束视觉表征质量的设计。

为什么不用对比损失? CLIP 式 Lcontra\mathcal{L}_{contra} 需要大 batch 和负样本,工程开销大;它给出的只是图文相似度上的对齐,不告诉模型"如何用文本描述图像"。LM loss 直接监督生成,天然包含细粒度对齐。Qwen 系列的策略是把对比预训练放在 vision encoder 内部(SigLIP2 自己已经做过 sigmoid pairing loss)作为冷启动,Qwen 自己的训练阶段只跑 LM loss。

2.3 三阶段训练:对齐压力施加在哪一侧

Qwen-VL 与 Qwen2-VL 公开的训练管线都是三阶段,关键差异在每阶段冻结/解冻的组合——它决定了梯度往哪个方向传递、对齐压力施加在哪一侧。

flowchart LR
    subgraph S1["Stage 1 视觉对齐"]
        direction TB
        S1V["ViT
train"]:::trained --> S1A["Adapter
train"]:::trained --> S1L["LLM
frozen"]:::frozen end subgraph S2["Stage 2 多任务联训"] direction TB S2V["ViT
train"]:::trained --> S2A["Adapter
train"]:::trained --> S2L["LLM
train"]:::trained end subgraph S3["Stage 3 指令微调"] direction TB S3V["ViT
frozen"]:::frozen --> S3A["Adapter
train"]:::trained --> S3L["LLM
train"]:::trained end S1 --> S2 --> S3 classDef frozen fill:#475569,stroke:#1e293b,color:#f1f5f9 classDef trained fill:#3b82f6,stroke:#1e40af,color:#fff

Stage 1(视觉对齐):LLM 冻结,ViT 与 connector 在数十亿规模的弱标注图文对上训练。这一阶段把 LLM 当作"语言先验锚点"——视觉编码器必须把图像投影到 LLM 已经熟悉的表征空间,否则 LLM 端的输出 logits 无法降低 LM loss。这是单向对齐:视觉端追赶语言端。

Stage 2(多任务联训):所有参数解冻,在 caption、VQA、grounding、OCR 等任务上联合训练。此时双向对齐——LLM 学会处理视觉 token,ViT 学会更精细的视觉特征。

Stage 3(指令微调):ViT 重新冻结,LLM 与 connector 在多轮对话和指令数据上微调。视觉编码器此时已经稳定,重点是让模型学会按指令组织视觉信息的输出格式

Qwen3.5 的"联合训练"颠覆的是 Stage 1:从 pretraining step 0 开始视觉与文本数据就一起进入 batch,对齐压力同时施加在两侧。这一做法的前提是 LLM backbone 同时重训,而不是基于一个已经预训练好的纯文本 LLM 再贴视觉模块——这也解释了为什么 Qwen3.5 把视觉数据视为预训练阶段的标准成分,而不再当作"后期接入的另一个模态"。

2.4 Qwen3 → Qwen3.5:DeepStack 消失的真正原因

Qwen3-VL 延续了主流的"外挂视觉编码器"范式:独立的 SigLIP2 视觉编码器提取图像特征后,通过 Merger 将视觉 token 与文本 token 在输入层面拼接,再送入语言模型处理。由于 LLM 在纯文本预训练中从未见过视觉 token,其浅层注意力不知道如何处理它们——视觉信息"浮"在表面,无法深入。Qwen3-VL 的解决方案是 DeepStack:从 ViT 的第 5、11、17 层提取多尺度特征,通过 3 个独立 Merger 以残差加法方式注入 LLM 的前 3 层,人工弥补浅层融合的不足。

Qwen3.5 的架构变化看似简单——deepstack_visual_indexes[5, 11, 17] 变为空列表 [],即 DeepStack 被完全移除。但这一"减法"背后是训练范式的根本性改变。

澄清一个常见误解: Qwen3.5 的 Vision Encoder 架构参数与 Qwen3-VL 完全相同(24 层、hidden_size=1024、patch_size=16、spatial_merge_size=2),视觉 token 化管线也完全保留——图像仍然走独立的 ViT 编码,文本仍然走 BPE tokenizer,两条管线在输入层面拼接。从架构上看仍是 Late Fusion,真正改变的是训练策略,因此更准确的命名是 Early Training——从预训练阶段就将视觉和语言数据联合输入,用 joint loss 监督;它与学术意义上的 Early Fusion(模态在底层共享表示空间)并不等同。

当模型从第一步就同时处理视觉和文本 token 时,LLM 的每一层注意力都会自然学会跨模态路由——不需要手工注入,因为模型自己的注意力机制已经内化了这种能力。DeepStack 是对"LLM 预训练不看视觉 token"的工程补丁;Qwen3.5 通过改变训练范式,使这个补丁不再必要。

3. MoE 架构:迈向高稀疏化

MoE(Mixture of Experts,混合专家)架构在两个版本的演进中呈现出明显的稀疏化趋势。

Qwen3-MoE 采用基础的 MoE 配置,而 Qwen3.5-MoE 则升级为高稀疏 MoE,激活参数占比控制在 5% 以下。路由策略采用 Top-8 路由,配备 64 个独立专家加共享专家(shared expert)。更重要的是,MoE 与前述混合注意力机制实现了深度结合:FFN 层使用 MoE 分发,注意力层使用混合机制,两种效率优化在同一架构内协同工作。

从具体模型规格可以直观感受这一演进的幅度:

模型总参数量激活参数量激活比
Qwen3.5-35B-A3B35B3B~8.6%
Qwen3.5-122B-A10B122B10B~8.2%
Qwen3.5-397B-A17B397B17B~4.3%

397B 总参数的模型仅激活 17B 参数即可完成推理,显存占用较标准架构降低约 60%。高稀疏 MoE 与混合注意力的组合效应,使得超大模型的部署成本大幅压缩。

4. 位置编码:Partial RoPE 与百万级上下文

位置编码策略的调整与混合注意力设计高度协同。Qwen3 使用标准的 RoPE(Rotary Position Embedding),最大上下文长度为 256K tokens。Qwen3.5 引入了 partial_rotary_factor: 0.25,即仅对 25% 的注意力头维度应用 RoPE 旋转操作,其余 75% 的头完全不携带位置信息。

这一设计的逻辑在于:线性注意力层本身通过循环状态隐式地编码了顺序信息,无需显式位置编码;而 Full Attention 层虽然需要位置信息,但只需部分头承载即可维持足够的建模能力。配合上述混合注意力的层间排布,Qwen3.5 将最大上下文窗口扩展至 1M tokens——这是标准 RoPE 方案难以企及的规模。

对于多模态场景中的 M-RoPE(多维 RoPE),Qwen3.5 同样保留了区分图像/视频 token 类型的能力,并新增了 mm_token_type_ids 字段(image=1, video=2)以支持更细粒度的模态感知位置编码。

5. Tool Calling 格式的演进

工具调用(Tool Calling)的输出格式也从 JSON 迁移至 XML。

Qwen3 采用结构化的 JSON 格式:

1
{"name": "...", "arguments": {...}}

Qwen3.5 改用 XML 标签格式:

1
<function=name><parameter=key>value</parameter></function>

XML 格式更接近自然语言的嵌套结构,模型生成的流畅度更高,同时在解析复杂嵌套参数时具有更好的可读性。JSON 格式的优势则在于程序化解析的便利性——这是一次表达能力与工程易用性之间的权衡。

6. 总结:结构创新驱动的效率飞跃

将上述所有变化汇总,可以得到两代架构之间的完整演进图谱:

flowchart LR
    subgraph Qwen3["Qwen3"]
        A1["标准 Softmax Attention"]
        A2["外挂视觉编码器"]
        A3["DeepStack Merger 特征聚合"]
        A4["基础 MoE"]
        A5["标准 RoPE (256K)"]
        A6["JSON Tool Calling"]
    end

    subgraph Qwen35["Qwen3.5"]
        B1["混合注意力
(Gated DeltaNet + Full Attention)"] B2["联合多模态训练"] B3["移除,回归简洁视觉架构"] B4["高稀疏 MoE
(激活比 < 5%)"] B5["Partial RoPE (25%)
+ 1M 上下文"] B6["XML Tool Calling"] end A1 --> B1 A2 --> B2 A3 --> B3 A4 --> B4 A5 --> B5 A6 --> B6

Qwen3.5 的整体设计哲学可以归结为一句话:用结构创新换取推理效率。混合注意力以约 44% 的计算量维持模型质量;高稀疏 MoE 以低于 5% 的激活比驱动近 400B 参数规模的模型;Partial RoPE 在几乎不增加开销的前提下支撑百万级上下文窗口。每一项改进都在不牺牲(甚至在多数场景下提升)模型能力的前提下,大幅降低了部署和推理的成本。这种"效率优先、能力不减"的设计取向,标志着大模型架构优化从单纯追求规模扩张转向更深层次的结构革新。

相关概念

  • 部分RoPE — 在注意力/视觉/MoE三个维度的位置编码演进,详见RoPE几何本质
  • MLA低秩压缩 — Qwen3.5与DeepSeek-V2在注意力压缩上的不同路线,详见从RoPE到DeepSeek MLA

参考资料:Qwen3.5-Omni 技术报告 (arXiv:2604.15804)、Gated DeltaNet 混合注意力架构解析

参考文献

本文部分 reference 的 arXiv ID 为 2026 年预占位编号,待论文正式公开后将更新链接。

  • Qwen Team, 2026. Qwen3.5-Omni Technical Report. arXiv:2604.15804
  • Yang, S. et al., 2024. Gated Delta Networks: Improving Mamba2 with Delta Rule. arXiv:2412.06464
  • Su, J. et al., 2021. RoFormer: Enhanced Transformer with Rotary Position Embedding. arXiv:2104.09864
  • Zhai, X. et al., 2023. Sigmoid Loss for Language Image Pre-Training (SigLIP). arXiv:2303.15343
  • Meng, L. et al., 2024. DeepStack: Deeply Stacking Visual Tokens is Surprisingly Simple and Effective for LMMs. arXiv:2406.04334