Based on Qwen3.5 official technical documentation and code structure analysis.
交互式架构对比
下面是 Qwen3-VL 与 Qwen3.5 的交互式架构可视化,支持 Tab 切换、拖拽平移、滚轮缩放,点击节点查看详细信息。
操作提示:点击顶部 Tab 切换 Qwen3-VL / Qwen3.5 / Compare 视图;滚轮缩放;拖拽平移;点击节点查看参数详情。
1. 注意力机制:根本性重构
这是最大的代际差异。Qwen3 用标准 Transformer 注意力,Qwen3.5 引入了混合注意力(Hybrid Attention)。
| 维度 | Qwen3 | Qwen3.5 |
|---|---|---|
| 注意力类型 | 标准 Softmax 注意力 | 混合注意力:Gated DeltaNet (线性) + Full Attention |
| 层间比例 | 全部是 Full Attention | 3:1 — 每 3 层线性注意力 + 1 层完整注意力 |
| 复杂度 | O(L²·d) | O(L·d²),近线性 |
| KV Cache | 存储全部历史 KV 对,随序列线性增长 | 75% 的层用固定大小循环状态 S_t,不缓存 KV |
| 长文本衰减 | 有 | 线性层有衰减,但每隔 4 层 Full Attention 做"上下文刷新" |
| 序列并行 | 支持 | 不支持(注意力实现不兼容) |
1.1 Gated DeltaNet 状态更新公式
| |
β_t= 门控参数(控制记忆保留/遗忘)Δ_t= 增量更新参数(精确修改特定位置,不是全量覆写)- 状态空间固定 O(1),不随序列长度增长
1.2 层分布示例(24 层模型)
| |
配置参数:
| |
1.3 KV Cache 内存对比
| 序列长度 | 纯 Full Attention | 纯线性注意力 | 混合 (3:1) |
|---|---|---|---|
| 32K | 8 GB | 256 MB | ~2.7 GB |
| 128K | 128 GB | 1 GB | ~34 GB |
| 262K | 512 GB | 2 GB | ~130 GB |
混合方案在 128K 序列长度下,KV Cache 内存减少 73%。
1.4 计算量对比(24 层, 32K 序列)
| 策略 | Full Attn 层数 | Linear Attn 层数 | 相对计算量 |
|---|---|---|---|
| 纯 Full Attention | 24 | 0 | 100% |
| 纯线性注意力 | 0 | 24 | ~25% |
| 混合 (interval=4) | 6 | 18 | ~44% |
混合方案节省 56% 计算量,同时保持模型质量。
2. 视觉编码器:从"外挂"到"原生融合"
| 维度 | Qwen3-VL | Qwen3.5 |
|---|---|---|
| 多模态方式 | 外挂视觉编码器,文本+视觉 token 拼接 | 原生多模态早期融合,4B/9B 版本无需额外视觉模块 |
| Projector 路径 | visual.merger(顶层属性) | model.visual.merger(嵌套在 model 下) |
| Vision 组件 | pos_embed + patch_embed + blocks + deepstack_merger_list | pos_embed + patch_embed + blocks(删除了 deepstack_merger_list) |
关键变化
DeepStack Merger 被移除:Qwen3-VL 有一个多层视觉特征融合组件(DeepStack Merger),在视觉编码器中做深层特征聚合;Qwen3.5 去掉了这个组件,改为更简洁的视觉编码 + 原生融合策略。
Projector 组织方式变化:从模型的顶层属性变成嵌套子模块,说明视觉编码器的组织结构发生了变化——不再是一个"外挂",而是与语言模型深度整合。
原生融合的意义:小尺寸模型(4B/9B)不再需要额外的视觉模块参数,多模态能力从训练初期就与语言能力共同优化,而非后期对齐。
3. 线性注意力层的独特参数(Qwen3.5 新增)
这些 SSM 组件是 Gated DeltaNet 的核心,Qwen3 完全没有:
| 参数 | 作用 |
|---|---|
conv1d.weight | 1D 卷积(kernel size=4),捕获局部依赖,补偿线性注意力的弱局部建模 |
A_log | 状态转移矩阵(log 存储,加载时取 -exp(A_log) 保证数值稳定) |
dt_proj (weight + bias) | 时间步门控投影,生成动态门控参数(Gated DeltaNet 自适应记忆更新的核心) |
D_proj | 残差/跳跃连接,增强梯度回传,提高训练稳定性 |
线性注意力专用配置参数:
| 参数 | 说明 | 典型值 |
|---|---|---|
linear_conv_kernel_dim | 1D 卷积核大小 | 4 |
linear_key_head_dim | Key 向量头维度 | 128 |
linear_value_head_dim | Value 向量头维度 | 128 |
linear_num_key_heads | Key 头数(决定记忆容量上限) | 16 |
linear_num_value_heads | Value 头数(决定输出维度) | 16 |
4. MoE 架构升级
| 维度 | Qwen3-MoE | Qwen3.5-MoE |
|---|---|---|
| 稀疏度 | 基础 MoE | 高稀疏 MoE,激活比 < 5% |
| 路由策略 | — | Top-8 路由,64 个专家 + 共享专家 |
| 与注意力结合 | 独立 | MoE + 混合注意力深度结合,FFN 用 MoE,注意力用混合机制 |
| 显存效率 | 标准 | 显存占用降低 60% |
MoE 版本对比:
| 模型 | 总参数 | 激活参数 | 激活比 |
|---|---|---|---|
| Qwen3.5-35B-A3B | 35B | 3B | ~8.6% |
| Qwen3.5-122B-A10B | 122B | 10B | ~8.2% |
| Qwen3.5-397B-A17B | 397B | 17B | ~4.3% |
高稀疏 MoE + 混合注意力的组合,使得超大模型(397B)仅用 17B 激活参数就能高效推理,显存和计算成本大幅降低。
5. 位置编码变化
| 维度 | Qwen3 | Qwen3.5 |
|---|---|---|
| RoPE 应用比例 | 标准比例 | partial_rotary_factor: 0.25,只对 25% 的注意力头维度应用 RoPE |
| 最大上下文 | 256K | 1M tokens |
| M-RoPE | 需要区分图像/视频 token | 同样需要,但新增 mm_token_type_ids(image=1, video=2) |
关键洞察:RoPE 只应用于 25% 的注意力头维度,意味着 75% 的头不受位置编码约束。这与混合注意力架构配合——线性注意力层本身不需要位置编码,Full Attention 层也只需要部分头携带位置信息,就能在 1M tokens 的超长上下文中保持质量。
6. Tool Calling 格式变化
| Qwen3 | Qwen3.5 | |
|---|---|---|
| 格式 | JSON:{"name": "...", "arguments": {...}} | XML:<function=name><parameter=key>value</parameter></function> |
| 优势 | 结构化,易于程序解析 | 更接近自然语言,模型生成更流畅 |
7. 架构代际演进总结
| |
Qwen3.5 的核心设计哲学可以概括为:用结构创新换效率。混合注意力用 56% 的计算量维持质量,高稀疏 MoE 用 <5% 的激活比驱动大模型,Partial RoPE 支撑 1M 上下文——每一项都是在不牺牲(甚至提升)能力的前提下,大幅降低推理成本。
参考资料:Qwen3.5-Omni 技术报告 (arXiv:2604.15804)、Gated DeltaNet 混合注意力架构解析