链载Ai

标题: Qwen3-Next:下一代MoE模型架构解析 [打印本页]

作者: 链载Ai    时间: 昨天 22:23
标题: Qwen3-Next:下一代MoE模型架构解析

transformers库近期合并了Qwen3-Next的PR,正式将其纳入官方生态。这个 PR 提交了Qwen3-Next-80B-A3B-Instruct模型的实现,该模型被介绍为下一代基础模型,针对超长上下文和大规模参数效率进行了深度优化。官方的描述为:

The Qwen3-Next series represents our next-generation foundation models, optimized for extreme context length and large-scale parameter efficiency.

该模型的四大核心亮点为:

下面我们来深入 PR 内容,逐一解析 Qwen3-Next 的架构创新。

一、高稀疏度 MoE 与共享专家

Qwen3-Next 的混合专家(MoE)设计有两个关键点:高稀疏度和共享专家。

1. 高稀疏度对解码性能的提升

高稀疏度是 Qwen3-Next 实现极致性能的核心。以 80B 版本为例,它拥有 800 亿总参数,但在生成每一个 token 时,仅需激活其中的 30 亿参数进行计算。这一激活比远低于当前主流 MoE 模型,是一项关键的架构选择。

这并非简单的“节约”,而是对性能的直接赋能。在自回归生成(decode)任务中,模型需要逐词进行前向传播,此时每一步的计算量 (FLOPs) 直接决定了生成速度。通过将激活参数降低一个数量级,Qwen3-Next 实现了:

可以说,高稀疏度 MoE 是 Qwen3-Next 在解码性能提升上的核心引擎。

2. 共享专家增强稳定性

为确保极致稀疏下的稳定性,Qwen3-Next 在 MoE 模块中额外增加了一个共享专家(Shared Expert),形成了一种更稳健的“双轨”设计。

共享路径(DensePath)稀疏专家路径(SparsePath)所有Token所有Token为每个Token选择Top-K为每个Token选择Top-K为每个Token选择Top-K输入HiddenState共享专家(SharedExpert)路由(Router)Expert1...ExpertN对Top-K专家输出进行加权求和共享路径输出add最终输出

如上图所示,输入 Token 会兵分两路:一路通过路由器选择 Top-K 个稀疏专家进行专业化计算;另一路则全部通过一个共享专家进行通用化计算。这种设计好比一个会诊流程:共享专家如同经验丰富的“全科医生”,处理基础和通用的语言模式;稀疏专家则像“专科医生”,处理更细分、更专业的知识。Qwen3NextSparseMoeBlock的代码清晰地实现了这一并行结构,共享专家的存在为模型提供了一个稳定的计算基座,极大地提升了模型的鲁棒性。

二、混合注意力与 GatedDeltaNet 详解

Qwen3-Next 采用混合注意力架构以高效处理长上下文。它在不同层交替使用 O(N²) 复杂度的标准注意力和 O(N) 复杂度的线性注意力,实现了能力与效率的平衡。

InputLayeriGatedFullAttention(O(N²)复杂度,精准捕捉)Layeri+1GatedDeltaNet(线性)(O(N)复杂度,高效长距)Output

GatedDeltaNet 计算机制详解

其中,Qwen3NextGatedDeltaNet是实现线性注意力的核心模块。它通过一套精密的“输入-卷积-门控-递归-输出”流程,在保持线性复杂度的同时,实现了对长距离依赖的有效建模。

  1. 1.输入映射: 输入hidden_states被线性层 (in_proj_qkvz,in_proj_ba) 投影成一系列中间状态:query,key,value及用于门控的z,b,a
  2. 2.因果卷积 (局部信息): 拼接后的qkv张量经过一个一维因果卷积,它像一个滑动窗口,用于高效捕捉每个 Token 与其附近邻居之间的局部上下文。
    # 文件: modeling_qwen3_next.py -> class Qwen3NextGatedDeltaNet
    mixed_qkv =self.causal_conv1d_fn(
    x=mixed_qkv,
    weight=self.conv1d.weight.squeeze(1),
    # ...
    )
  3. 3.门控信号生成: 模型从投影ab中,学习两个关键的、类似 RNN 的门控信号:
    beta = b.sigmoid()
    g = -self.A_log.float().exp() * F.softplus(a.float() +self.dt_bias)






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5