跳到主要内容

Qwen3.8-Flash-Next 架构深度解读

一句话总结:这不是一次常规的版本迭代,而是 Qwen4 架构的公开路测——用 125B 总参数、 每 token 仅 6B 激活,在上一代 1/9 的训练成本下逼近上一代旗舰的能力。

⚠️ 阅读前须知

本文是社区技术解读,非官方文档。所有规格与评测数字均转述自官方博客、模型卡与技术报告 (数据截至 2026-08-27);评测为厂商在自家 harness 上自测的结果,独立复现之前请谨慎对待。 最权威的细节请以 GitHub 仓库中的 tech_report.pdf 为准。

1. 模型定位与总览​

Qwen3.8-Flash-Next 之于 Qwen4,等同于当年 Qwen3-Next 之于 Qwen3.5:把下一代架构的 关键改动提前做成一个可下载、可复现、可魔改的开源模型,交给社区检验,等架构被验证后再 基于它构建完整的模型家族。当年 Qwen3-Next 引入的 Gated DeltaNet + Gated Attention 混合设计,后来贯穿了 Qwen3.5 / 3.6 / 3.7 / 3.8 四代;这次的 Flash-Next 则是在那套 混合架构之上,沿四个维度继续演进。

同名的 Qwen3.8-Flash 是基于同一架构的生产版(默认 1M 上下文、内置官方工具), 通过 QwenCloud API 提供服务;Flash-Next 是开源权重版。本文聚焦后者的架构本身。

项目规格
发布时间2026-08-26(北京时间 23:00 开源)
定位Qwen4 架构的实验性先行预览(experimental preview)
类型多模态 MoE(输入:文本 / 图像 / 视频)
参数构成125B 主干 + 51B N-gram Embedding + 4B MTP 模块
每 token 激活约 6B
MoE 配置512 个专家;每 token 激活 10 个路由专家 + 1 个共享专家;专家中间维 640
层排布每 4 层为一组:3 × GDN 线性注意力层 + 1 × 全局注意力层(QSA)
上下文原生 262,144 tokens;YaRN 可扩展至 1,000,000
推理行为默认思考模式;reasoning_effort 支持 xhigh / medium / low;支持 preserved thinking
权重版本BF16(约 335 GiB)与 FP8(约 173 GiB),另有社区 GGUF / NVFP4 量化
许可证qwen-community-1.0
生产版定价每百万 tokens:输入 1 元、输出 3 元(约 0.16/0.16 / 0.47)

对照上一代:Qwen3.7-Plus 是 397B 总参、17B 激活。Flash-Next 用大约 1/3 的总参数、 1/3 的激活参数、1/9 的训练成本,达到了与之相当的综合能力,并在编程与办公任务上反超。 官方口径下其后训练版本整体表现超越 Claude Opus 4.6、接近 Opus 4.8(厂商自报,见第 9 节)。

2. 设计哲学:四个维度各解一个耦合​

把这次升级读成四句话,每一句都在"解耦"一对传统上绑死的量:

  1. 注意力(GDN + QSA):把"记忆历史"和"精确检索"解耦——长序列的计算量不再随 上下文平方增长;
  2. 残差(Gated Residual):把"网络深度"和"信息保真"解耦——深层不再必然稀释 早期特征;
  3. 嵌入(N-gram Embedding):把"模型容量"和"每 token 计算量"解耦——加 51B 参数几乎不加 FLOPs,甚至不占显存;
  4. 优化(Muon 配方):把"训练步数"和"收敛质量"解耦——更少的优化器步数、更大的 学习率,直达目标批量。

MoE 本身已经把"总参数"与"激活参数"解耦了一次;这四板斧是在 MoE 之外继续找稀疏性: 时间维稀疏(注意力)、通道维扩容(残差)、存储维扩容(查表)、优化路径压缩(Muon)。 效率是乘出来的,不是单点抠出来的——这就是 6B 激活干出十几 B 激活效果的底层逻辑。

3. 注意力:GDN + QSA 混合架构​

3.1 问题:长上下文的两笔账​

标准全量注意力在长上下文下有两笔开销:

  • Prefill(预填充):计算量随序列长度平方增长,O(L^2 · d),算力瓶颈;
  • Decode(逐 token 生成):每生成一个 token 都要读全量 KV Cache,O(L · d) 的显存带宽开销,且 KV Cache 本身随 L 线性膨胀。

1M token 场景下这两笔账都不可接受。Flash-Next 的答案是分工:四层里三层用 GDN 把历史"压缩着记",剩下一层用 QSA 做"挑着算"的全局精确检索。

┌──────────────────────────────────────┐
│ Layer 4k+1 GDN(线性注意力) + MoE │
│ Layer 4k+2 GDN(线性注意力) + MoE │
│ Layer 4k+3 GDN(线性注意力) + MoE │
│ Layer 4k+4 QSA(全局稀疏注意力)+ MoE │ ← 每 4 层 1 层真·attention
└──────────────────────────────────────┘

3.2 GDN(Gated DeltaNet)原理:会遗忘、会纠错的固定容量记忆​

GDN 属于线性注意力 / 状态空间这一脉。最朴素的线性注意力把全部历史压进一个固定大小的 矩阵状态 S,写入与读取是:

St=St−1+vtkt⊤,ot=St qtS_t = S_{t-1} + v_t k_t^{\top}, \qquad o_t = S_t\, q_t

好处显而易见:状态大小与序列长度无关,每步 O(1) 更新、全序列 O(L),KV Cache 彻底消失。但这个"记忆矩阵"有两个致命缺陷:只会累加不会修改(同一个 key 的新旧 value 叠在一起互相污染),以及永不遗忘(状态迟早写满)。

DeltaNet 用 delta rule(增量规则) 解决第一个问题。把 S 看作一个联想记忆库, 每步先"读出旧值、擦掉、再写入新值",等价于对损失 ½‖S k − v‖² 做一步在线梯度下降:

St=St−1(I−βt ktkt⊤)+βt vtkt⊤S_t = S_{t-1}\left(I - \beta_t\, k_t k_t^{\top}\right) + \beta_t\, v_t k_t^{\top}

其中 β_t ∈ (0,1) 是数据相关的"写入强度":β→0 表示这个 token 不值得记,β→1 表示 用新值完全覆盖 key 方向上的旧记忆。括号里的投影项就是"定向擦除"算子。

Gated DeltaNet 再补上第二块拼图——全局遗忘门 α_t(Mamba2 式的选择性衰减):

St=αt St−1(I−βt ktkt⊤)+βt vtkt⊤S_t = \alpha_t\, S_{t-1}\left(I - \beta_t\, k_t k_t^{\top}\right) + \beta_t\, v_t k_t^{\top}

α_t 让模型能主动把过期信息整体衰减掉(比如场景切换时快速清空),β_t 负责精确改写。 训练时 GDN 采用分块并行算法(DeltaNet 系列的标准做法),硬件效率与常规注意力相当。

代价:固定容量的状态注定是有损压缩,"大海捞针"式的精确回溯它做不到。 这正是每 4 层保留 1 层真 attention 的原因。

3.3 QSA(Qwen Sparse Attention)原理:先选后算,连"选"本身也要省​

保留下来的那层全局注意力如果还是全量计算,1M 上下文下它就会成为新瓶颈。稀疏注意力的 共识思路是:真正与当前查询强相关的上下文只占少数,先挑出相关区域、再在区域内做精确 注意力。但很多方案忽略了一点——"挑"这个动作本身在长序列下也很贵。

QSA 的做法:

完整序列 ──▶ 聚合成 micro-block(微块摘要)──▶ 轻量 Indexer 逐块打分
│
块内精确 attention ◀── 选出 top 相关块 ◀────┘
  1. 一个轻量级 Indexer 先把序列聚合成 micro-block,得到块级摘要;
  2. 在块粒度上估计上下文重要性(打分对象是块摘要而非全部 token,索引开销本身被压缩);
  3. 只对选中的相关区域做精确 attention。

这样注意力计算和索引开销被同时压下来。另一个关键设计是:与跨层共享索引的方案不同, QSA 在每一层内独立做序列压缩与选择。这是专门为混合架构做的适配——相邻两个 attention 层之间隔着三层 GDN,注意力分布的跨层相似性很弱,共享索引会失准;逐层独立 索引换回精度,成本则靠 micro-block 压缩收回来。

官方给出的说法是:"GDN 高效记忆,QSA 精准检索"。

实测数字(厂商口径):1M token 下,QSA 的 Attention Kernel 在 Prefill / Decode 阶段分别最高提速 7.6× / 4.9×(SGLang 文档口径为 10.2× / 6.6×);在 90% Prefix Cache 命中率的在线服务模拟场景中,1M 上下文的 Prefill 吞吐达到 Qwen3.7-Plus 的 8.6 倍。 Decode 提速的本质是显存带宽:每步只需加载被选中的 KV 块与块摘要,而非全量 KV。

4. Gated Residual:把一条独木桥拓成四车道​

4.1 问题:残差流是唯一的跨层总线​

传统 Transformer 里,所有层共享同一条残差流(residual stream)读写信息。网络 一深,早期层写入的特征会被后续层的输出反复叠加混合,重要信号逐渐被稀释;不同层想 传递的信息还会在同一条通道上互相干扰(可以理解为"叠加态拥塞")。

4.2 原理:多分支 + 动态读写门​

Gated Residual(GR)融合了两条已有思路:Hyper-Connections 的"把残差流拓宽成多条 并行分支",以及 GatedNorm 式的"逐元素动态门控读取"。具体地,残差流拓宽为 4 条 并行分支,每层的读写变成:

r(l)=∑i=14gi(l)(x)⊙hi(l),hi(l+1)=hi(l)+wi(l)⋅F(l) ⁣(Norm(r(l)))r^{(l)} = \sum_{i=1}^{4} g_i^{(l)}(x)\odot h_i^{(l)}, \qquad h_i^{(l+1)} = h_i^{(l)} + w_i^{(l)}\cdot F^{(l)}\!\left(\mathrm{Norm}\big(r^{(l)}\big)\right)
  • 读门 g_i:逐元素(element-wise)、数据相关,决定这一层从每条分支的每个维度上 读多少——"按内容取件";
  • 写门 w_i:每分支一个标量,决定这一层的计算结果写回哪几条分支、写多重;
  • 门控经低秩瓶颈(rank 320)参数化,额外算术开销可忽略。
传统: x ────[ Layer F ]────(+)────▶ 单通道,写入即混合

GR: h₁ ═══════════════════════▶
h₂ ═══╗ 读: r=Σ gᵢ⊙hᵢ ╔═══▶ 四通道
h₃ ═══╣ 算: y=F(r) ╠═══▶ 读写由门控动态决定
h₄ ═══╝ 写: hᵢ+=wᵢ·y ╚═══▶

4.3 效果与代价​

跨层信息流更通畅(一条分支甚至会自发分化成贯穿全网的"长程总线"),训练稳定性提升, 而计算开销几乎为零。真正的代价在显存带宽——残差状态变成了 4 份,为此残差状态可以用 FP8 存储,把额外的访存流量压回去。这是典型的"用带宽换表达力、再用低精度赎回带宽"。

5. N-gram Embedding:51B 参数的"外挂速查表"​

5.1 问题:扩容量的第三条轴​

想给模型加参数,主流做法是加深加宽(计算同步暴涨)或者上 MoE(计算可控,但专家权重 必须常驻显存,且路由依赖运行时的隐状态)。Embedding 查表其实是被低估的第三条轴: 查表几乎零 FLOPs,而且地址不依赖运行时计算。这个思路上承 Gemma 3n 的 Per-Layer Embedding 与 DeepSeek Engram 一脉。

5.2 原理:从"单 token 查表"到"短语查表"​

标准 Embedding 用单个 token id 查一行向量。N-gram Embedding 改用当前 token 和 前几个 token 组成的局部上下文(bigram / trigram)作为键,经哈希映射到一张 2000 万条目的大表(约 51B 参数),把查得的向量注入到第 2 层的隐状态:

ht(2)  ←  ht(2)  +  ∑n∈{2,3}En ⁣(hashn(xt−n+1,…,xt))h^{(2)}_t \;\leftarrow\; h^{(2)}_t \;+\; \sum_{n\in\{2,3\}} E_n\!\Big(\mathrm{hash}_n\big(x_{t-n+1},\dots,x_t\big)\Big)

直觉上,这等于给模型外挂了一本"高频短语与局部模式备忘录":常见搭配、专名、代码惯用 片段等不再需要主干网络用算力现场重建,查表直达。哈希碰撞是可容忍的——表项是端到端 学出来的,冲突的 n-gram 会学到折中表征。

5.3 工程妙处:确定性寻址 → 可以不占显存​

关键在于查表地址只依赖输入 token 序列本身,与任何中间计算无关,因此可以提前算出。 于是这 51B 参数可以整体放在 Host 内存(CPU 侧),用异步 Prefetch 在前面几层还在 GPU 上计算时就把需要的表行预取过来,与计算完全重叠——不长期占用任何 GPU 显存 (当前 offload 实现仅支持 NVIDIA 设备)。

CPU / Host Memory GPU
┌────────────────────┐ 异步预取 ┌──────────────────────┐
│ N-gram 表(51B) │ ═════════════▶ │ Embedding → L1 计算中 │
│ 地址=f(输入token) │ 与计算重叠 │ L2: 注入查表结果 ──▶ │
└────────────────────┘ └──────────────────────┘

对比 MoE:专家路由要等隐状态算出来才知道用哪个专家(难以提前预取),而 n-gram 的键 在读入输入的那一刻就全部确定。这是"可预取的稀疏"与"不可预取的稀疏"的本质区别, 也是官方称这条扩容轴"比 MoE 更适合 offload、对显存受限的加速器更友好"的原因。

6. Muon 优化器与训练配方​

6.1 Muon 原理:按矩阵的几何来更新矩阵​

AdamW 把每个参数当独立标量,逐元素自适应缩放。Muon 的出发点是:权重矩阵是矩阵, 不是标量堆。它先对梯度做动量累积,再把动量矩阵"正交化"后作为更新方向:

Mt=μMt−1+Gt,Wt+1=Wt−η NS5(Mt)  ≈  Wt−η UV⊤M_t = \mu M_{t-1} + G_t, \qquad W_{t+1} = W_t - \eta\,\mathrm{NS}_5(M_t) \;\approx\; W_t - \eta\, U V^{\top}

其中 NS₅ 是 Newton–Schulz 迭代(5 步左右的矩阵多项式),近似计算 M 的极分解方向 UVᵀ(M = UΣVᵀ)。直觉:把更新在所有奇异方向上"拉平"到等强度,避免个别主导方向 吃掉全部学习率——等价于谱范数约束下的最速下降。附带的好处是优化器状态只有动量一份, 比 AdamW 的两份统计量更省显存。

6.2 白皮书强调的三个工程决定​

官方明确指出,Muon 在这个规模上能不能打,取决于三个实现细节:

  1. 正交化精度:Newton–Schulz 迭代的数值精度直接影响更新方向质量,低精度实现 会悄悄损害收敛;
  2. Muon 与 AdamW 的分工:二维矩阵参数(注意力投影、MoE 专家等)交给 Muon; Embedding、门控、归一化等一维或特殊参数仍用 AdamW——按权重类别各用所长;
  3. 融合矩阵的拆分:工程上常把 QKV 等多个逻辑矩阵融合成一个大矩阵存储,但正交化 必须按逻辑子矩阵拆开分别做,否则谱归一的对象就错了。

6.3 训练配方:重拟合 Scaling Law,砍掉批量热身​

团队针对新架构重新拟合了 Scaling Law,并据此取消了传统的 batch size warmup—— 从第一步起就用目标批量训练。这大幅减少了优化器总步数,同时支持更大的学习率。最终 整个配方(架构 + 优化协同)把训练成本压到 Qwen3.7-Plus 的约 1/9。

7. 其余组件:细粒度 MoE 与 MTP​

MoE 层:512 个专家、专家中间维仅 640,每 token 激活 10 个路由专家 + 1 个共享 专家。这是典型的"细粒度专家"设计:专家切得越小,激活组合的可能性越多(组合爆炸带来 的等效容量越大),共享专家则兜住通用知识、让路由专家安心分化。

MTP(Multi-Token Prediction):额外挂载一个 4B 参数的多 token 预测模块,以 multi-step 方式训练。推理时它是现成的草稿模型,可直接做(自)投机解码加速生成; 训练时多步预测目标也提供了更密集的监督信号。

8. 长上下文与推理行为​

原生上下文 262,144 tokens(2¹⁸),超过后建议用 YaRN 类 RoPE 外推扩到 1M;生产版 Qwen3.8-Flash 默认即 1M。模型默认开启思考模式(输出以 <think> 块开头),可通过 enable_thinking、preserve_thinking、reasoning_effort(xhigh / medium / low,默认 xhigh)控制。

值得注意的是 preserved thinking:默认保留历史轮次的完整思考块。这对智能体场景 有两重意义——决策一致性(后续步骤能看到此前的推理依据),以及 KV Cache 复用率 (历史不被改写,前缀缓存持续命中,这也与 QSA 在 90% 缓存命中场景的吞吐优化相呼应)。

官方推荐采样参数:思考模式 temperature 1.0、top_p 0.95、top_k 20;指令模式 temperature 0.7、top_p 0.8。长程任务建议在 1M 预算内给思考内容留 262,144 tokens、 最终回复留 131,072 tokens。

9. 性能与成本(均为厂商自报口径)​

基座层面:仅 6B 激活的 Flash-Next-Base 在 14 项基准中的 8 项拿下最优,包括 MMLU-Pro、SuperGPQA、BBH、GSM8K、MGSM、MMMU、SWEBench-Pretrain 等,其余项与 总参约 3 倍、激活约 3 倍的 Qwen3.7-Plus-Base 相当。

后训练版本(对照模型含 Qwen3.8-27B、Qwen3.7-Plus、DeepSeek-V4-Flash-0731、 Claude-Opus-4.6):

评测项得分对照(厂商口径)
SWE-bench Pro(智能体编程)62.5领先 Opus 4.6(53.4)9.1 分
DeepSWE 1.158.7DeepSeek-V4-Flash 54.4;Qwen3.8-27B 42.2
SWE-bench Multilingual81.0—
LiveCodeBench v691.9—
GPQA Diamond91.7—
HLE35.9以 GPT-4o 判分(非默认评分器)
CoWorkBench(长程办公)73.9超越 DeepSeek-V4-Flash
JobBench(专业任务)55.7超出 Opus 4.6 近 20 分
Toolathlon Verified(真实工具调用)73.5超越 DeepSeek-V4-Flash
AndroidWorld(移动端操控)84.5高出 Opus 4.6 22.5 分
MathVision(视觉数学,含 CI)95.7高出 Opus 4.6 25.1 分
LVBench(长视频理解)76.6—

成本侧:训练成本约为 Qwen3.7-Plus 的 1/9;生产版 API 每百万 tokens 输入 1 元、 输出 3 元(约 0.16/0.16 / 0.47),官方口径约为 Claude Opus 4.6 价格的 3%、 DeepSeek-V4-Flash 闲时价的 2/3、忙时价的 1/3。在 Qwen3.8 家族中,它位于旗舰 Qwen3.8-Max(约 2.4T 参数)之下,但价差约 12 倍。

⚠️ 评测口径备注

以上均为厂商用自家 harness 自测:SWE-bench Pro 是官方修正"问题任务"后的重测版本; DeepSWE 1.1 取 Claude Code 与 mini-SWE-agent 两套 harness 的最高分;HLE 用 GPT-4o 判分。模型卡对这些选择是公开透明的,但仍属厂商选择,请等待独立复测。

10. 部署速查​

事项说明
权重体积BF16 约 335.28 GiB;FP8 约 172.78 GiB
推理引擎vLLM、SGLang、TokenSpeed、transformers serve、llama.cpp(GGUF)
并行配置FP8 在 GB300 上 TP2 起步、推荐 TP4;8×H200 需用 TEP8(普通 TP8 与 128 宽量化块不兼容)
N-gram offload可卸载至 Host 内存 + 异步预取,目前仅支持 NVIDIA 设备
微调生态Unsloth、Swift、LLaMA-Factory
API 兼容QwenCloud 同时兼容 OpenAI 与 Anthropic 风格 API
# 最简本地服务(transformers)
transformers serve Qwen/Qwen3.8-Flash-Next --port 8000 --continuous-batching

# vLLM 示例(FP8,4 卡张量并行)
vllm serve Qwen/Qwen3.8-Flash-Next-FP8 --tensor-parallel-size 4

11. 小结​

Flash-Next 的四个改动指向同一个命题:规模不再靠堆,而靠结构性稀疏。GDN 用固定 容量状态吃掉大部分层的长序列成本,QSA 让剩下的精确检索"先选后算"且连选择本身都被 压缩;Gated Residual 以近零算力代价拓宽跨层信息带宽;N-gram Embedding 证明了 "可预取的查表参数"是比 MoE 更便宜的扩容轴;Muon 配方则把训练路径本身缩短。这套 组合将直接成为 Qwen4 家族的地基——提前开源,本质上是把架构验证外包给了整个社区。

参考资料​