Qwen 开源 Qwen3.8-Flash-Next,SGLang 提供 Day-0 支持

LMSYS:Blog(Chatbot Arena 团队)·2026-08-26 21:56·4分钟前·SGLang Team
AI 导读

Qwen 团队开源多模态 MoE 模型 Qwen3.8-Flash-Next,作为 Qwen4 架构的早期预览版。该模型采用 125B 参数主模型加 51B N-gram Embedding,每 token 激活 6B 参数,共 48 层,MoE 层使用 512 个专家和 top-10 路由。

LMSYS:Blog(Chatbot Arena 团队)
精选
70AI 编辑部评分,满分 100

Qwen 开源 Qwen3.8-Flash-Next,SGLang 提供 Day-0 支持

2026-08-26 21:56· 4分钟前· SGLang Team
AI 导读

Qwen 团队开源多模态 MoE 模型 Qwen3.8-Flash-Next,作为 Qwen4 架构的早期预览版。该模型采用 125B 参数主模型加 51B N-gram Embedding,每 token 激活 6B 参数,共 48 层,MoE 层使用 512 个专家和 top-10 路由。

推荐理由

发布当日的 SGLang 支持把 GDN+QSA 稀疏注意力与 N-gram 嵌入主机内存卸载结合,使长上下文推理的 GPU 内存和索引开销明显下降,可能改变此类架构的部署成本。

正文 · AI 翻译

引言

今天,Qwen 团队开源了 Qwen3.8-Flash-Next,这是一个多模态 MoE 模型,也是 Qwen4 架构的早期预览版。它对 Qwen4 所扮演的角色,与 Qwen3-Next 对 Qwen3.5 所扮演的角色相同。Gated DeltaNet + Gated Attention 的混合设计已从 Qwen3.5 一直沿用到 Qwen3.8。在与 Qwen、NVIDIA 和 AMD 团队的合作下,SGLang 为该模型提供了首发日(day-0)支持。

Qwen3.8-Flash-Next 在多个方面升级了架构:

  • GDN + QSA 混合注意力:Gated DeltaNet(GDN)高效压缩历史信息,而 Qwen 稀疏注意力(QSA)则使用轻量级索引器在微块粒度上选择重要上下文,从而保持长序列注意力成本的低廉。
  • Gated Residual(GR):将残差流拓宽为 4 个分支,并通过动态门控控制读写,强化跨层信息流动。
  • N-gram 嵌入:基于局部上下文进行查找,为常见短语和局部模式提供额外表示,以极少的额外计算扩展模型容量。
  • 混合架构:一个 125B 参数的主模型,辅以额外的 51B N-gram 嵌入,每个 token 激活 6B 参数。共 48 层:36 层 GDN 线性注意力层和 12 层 QSA 稀疏注意力层。MoE 层使用 512 个专家,采用 top-10 路由。
  • 我们量化出的一个 NVFP4 检查点:RadixArk/Qwen3.8-Flash-Next-NVFP4,在首发日(day-0)发布。
  • N-Gram 嵌入:将 N-gram 嵌入卸载到主机内存可大幅降低 GPU 内存占用,异步预取使其与模型计算重叠,几乎不增加额外成本。
  • Gated Residual,与 NVIDIA 合作构建并通过 FlashInfer 发布:通过低延迟单 GEMM 路径实现高性能 Mix/Combine HyperConnection 算子(内核级 2.05 倍加速)。
  • GDN+QSA:针对 GDN+QSA 混合架构的 KV cache 内存管理,兼容 Radix Cache。
  • 投机解码:为 MTP 草稿模型提供索引复用功能,在长上下文长度下削减草稿模型的索引器耗时。在 B200 上以 TP4 运行时,NVFP4 检查点在 batch size 为 1 且启用 MTP 的情况下,解码速度为 540 tok/s,接受长度为 3.3(包含奖励 token)。

启动命令和按工作负载的配置指南位于 SGLang Cookbook 中。

模型架构

Qwen3.8-Flash-Next Architecture

  • GDN+QSA 混合架构:遵循 Qwen3.5 中引入的架构设计,Qwen3.8-Flash-Next 采用了 GDN + Attention 混合架构:每 4 层中,有 3 层 GDN 层将历史信息压缩为固定大小的状态,而剩余 1 层则对完整上下文执行精确检索。对于全局 Attention 层,Qwen3.8-Flash-Next 进一步引入了 Qwen 稀疏注意力(QSA),以解决随着上下文变长,计算量和 KV 缓存内存访问成本都大幅增长的问题。稀疏注意力通过仅关注重要上下文来减少长序列计算量。QSA 更进一步:它将序列聚合为微块,在块级别估计重要性,然后选择最相关的区域,从而同时降低索引开销和注意力成本。
  • 门控残差(GR):结合了两个思路:遵循 Hyper-Connection,它将残差流拓宽为多个分支;同时将 GatedNorm 风格的逐元素动态门控引入残差读取中。原本单一的残差流被扩展为 4 个并行分支,使模型能够根据当前内容动态决定从每个分支读取多少信息以及写回多少信息。
  • N-gram 嵌入:使用“当前 token 加上前几个 token”构成的局部上下文进行查找,为常见短语和局部模式提供额外的表示,同时几乎不增加每个 token 的计算开销。N-gram 嵌入可以完全驻留在主机内存中以节省 GPU 内存:查找位置预先计算并异步预取,因此它不会永久占用 GPU 内存。最终,模型仅在网络起始位置附近使用一个 N-gram 嵌入层,以相对较低的成本增加了一个大规模的“局部模式记忆”。
  • IndexShare MTP:由草稿扩展阶段在目标模型刚接受的 token 上计算出的 QSA top-k 选择结果,会在整个 MTP 迭代期间被保留,因此每一步草稿解码都会跳过索引器,直接读取那份冻结的选择结果以及此后草稿生成的位置。在长上下文场景下,这能显著加速 MTP 草稿生成步骤。

Qwen 稀疏注意力:粗粒度检索,精粒度关注

Qwen3.8-Flash-Next 使用压缩比为 4(即 c4)的压缩版 QSA。每个 QSA 层有两条路径:一个轻量级索引器决定关注哪里,而稀疏 GQA 则从原始注意力 K/V 缓存中读取被选中的条目。

QSA index and attention data flow in SGLang.

索引器投影出四个 128 维的查询头和一个共享的键头。每四个原始索引键在 FP32 精度下取平均、归一化,并与第一个 token 的 MRoPE 位置一起旋转,从而形成一个压缩键。一个查询对可见的压缩块进行打分,使用

st,b=1128h=14ReLU(qt,hI,kˉbI).

QSA 保留最佳的 512 个块,将它们展开回 2048 个逻辑 token 位置,并追加当前未完成块中的零到三个 token。因此,最终的稀疏注意力最多能看到 2051 个位置。重要的是,压缩键仅仅是一个索引:最终的 softmax 和值聚合使用的是原始的、未压缩的 K/V。

这意味着 QSA 用少量的缓存容量换取大幅降低的长上下文计算量和内存流量。索引器扫描大约少量键,然后稀疏注意力读取约 2K 个完整 K/V 条目,而不是全部。模型层面的 KV 节省来自混合布局:48 层中只有 12 层存储不断增长的注意力 K/V,而其余 36 个 GDN 层使用固定大小的状态,并非通过在 QSA 层内部丢弃 K/V 来实现。L/4L

SGLang 仅将索引器附加到全注意力层,并复用它们的 MRoPE 实现。原始 K/V 保留在常规的分页池中。QSA 每四个 token 增加一个 BF16 压缩索引键;未完成块的原始键存放在每个请求四个槽位的环形缓冲区中。这避免了为整个上下文保留原始索引键,并将 QSA 的索引缓存开销降低了 80%。按页对齐的 full_slot / 4 寻址方式让压缩缓存能够遵循 Radix Cache 的所有权,而无需单独的生命周期管理。

在预填充阶段,一个定制的 GPU 内核计算索引分数,一个快速的 top-k 操作选择块,然后 Triton 展开索引并运行稀疏 GQA。解码阶段使用同一评分器的分页版本,压缩所选的原生 K/V,并在 Blackwell 上分派给 TRTLLM-Gen,否则使用打包的 FlashAttention。索引器可以在第二个 CUDA 流上与主 Q/K/V 投影重叠执行,元数据路径与 CUDA 图兼容。

IndexShare MTP:在草稿步骤间复用 QSA 选择

QSA 层运行一个索引器,挑选要关注的 token,然后仅对这些 token 执行稀疏注意力。第二阶段有固定的 token 预算;第一阶段将其查询与所有 ⌈L/4⌉ 个压缩块进行评分,因此一旦超过几千个 token,决定该层成本的就是索引器,而非其馈送的注意力。推测解码将其放大:使用 --speculative-num-steps N 时,一次 MTP 迭代需要 N 次索引器调用(N - 1 次草稿解码前向传播加上一次草稿扩展)才能将草稿推进最多 N 个位置。

因此,草稿解码步骤完全不再运行索引器。每次 MTP 迭代都以对目标刚接受的 token 进行草稿扩展开始,而该过程无论如何都会运行索引器;每个请求最后被接受的行在此处被捕获,并由整个草稿循环复用,查找时额外填充 N + 1 列,填入自捕获以来草稿出的位置,这样草稿仍能看到自己进行中的 token。该选择是一个逻辑 token 索引列表,而请求只会不断增长,因此永远不会越界;并且由于查询在 L 中最多移动了 N 个位置,复用的排序本质上与索引器本会重新计算的排序一致;接受长度不变。每次 MTP 迭代中草稿的索引器工作从 N 次调用降为一次。那些仅为喂给索引器而存在的小型元数据内核,包括压缩解码视图以及待处理环和组环布局,也一并从草稿解码步骤中移除。

HyperConnection 内核优化

HyperConnection(HC)维护四条并行残差流,而 Attention 和 MoE 则在单一隐藏状态上运行。因此,每个模块都使用 Mix 从四条流中读取数据,并用 Combine 将其输出写回。此处,M 为单次调用处理的 token 数量:在解码和推测验证阶段它很小,但在预填充阶段可达数千。我们根据 M 的大小分派到不同的内核。

Mix

Mix 使用低秩投影生成逐元素门控,并将四条残差流缩减为一个隐藏状态。当 M ≤ 16 时,我们使用 FlashInfer PR #4266 中的低延迟 split-K CuTe GEMM。Split-K 对 K 维度进行划分,使多个 CTA 能并行处理同一输出区域,从而弥补 M 维度并行度不足的问题。SiLU、Sigmoid、门控以及最终归约都被融合到两个 GEMM 尾声(epilogue)中,避免了对全局内存的中间写入。上投影权重在离线状态下重新排序,使得每个输出的四个门控值可以在 tile 内部进行局部归约。对于更大的 M,实现则使用 cuBLAS,因为它在这些形状下效率更高。

在 NVIDIA B300 上,当 M = 4 时,融合路径将 Mix 延迟从 12.36 微秒降至 6.03 微秒,内核级加速达 2.05 倍。在与之前 Triton 路径的端到端推测解码基准测试中,吞吐量提升了 7.6%。

Combine

Combine 计算四个注入系数,并对四条流执行残差更新。对于较大的 M,一个融合内核会在单次遍历中处理每个 token 行。在 M 较小时,这种映射暴露出的 CTA 数量过少,因此 M ≤ 32 的路径会沿隐藏维度拆分每一行。由此产生的双内核实现提供了足够的并行度,同时保持了参考 FP32 累加顺序和逐位一致的输出。

在 M = 4 时,拆分路径将 Combine 延迟从 4.17 微秒降至 2.13 微秒,内核级加速达 1.96 倍。在与原始每行一个 CTA 内核的独立端到端基准测试中,吞吐量提升了 5.49%。对于较大的 M,融合内核比基于 cuBLAS 的基线快达 2.54 倍,并达到 6144 GB/s 的有效带宽。

形状感知调度让 HC 能够针对低延迟解码和大规模预填充分别采用合适的执行路径。

逐层嵌入(PLE)

架构

该模型将 PLE(一种基于哈希寻址的学习式 N-gram 嵌入记忆)放置在第二个解码器块(配置层 ID 为 2,对应从零开始的索引 1)。其 512 亿个嵌入参数(BF16 格式下约 95.4 GiB)是固定的模型权重,而非 KV 缓存或可变的注意力记忆。

对于 token x_t,八个 2-gram 哈希头使用 (x_{t-1}, x_t),八个 3-gram 哈希头使用 (x_{t-2}, x_{t-1}, x_t),共生成 16 个嵌入行 ID。每行贡献 160 个值,这些值被拼接成形状为 [2560] 的 E_t。

PLE dataflow and SGLang's sparse pinned-host offload path.

位于第二个解码器块的 PLE。稀疏 N-gram 检索被门控到四个 HC 分支中,然后进入 HC Mix。SGLang 将词表并行表分片移至锁页主机内存,并且每个 token 仅收集选中的 16 行。

EtR2560KtR4×2560,VtR2560 RtR4×2560QtR4×2560 gt=Gate(Norm(Qt),Norm(Kt))R4×1,Ut=gtVt Δt=Ut+SiLU(DWConv(RMSNorm(Ut))) R~t=Rt+Δt,R~tHC MixhtR2560

第四行通过将门控值与其短卷积输出相加来形成 PLE 增量;第五行将该增量注入 HC 状态。PLE 维护两个请求局部状态:用于哈希的两个最近 token ID,以及形状为 [10240, 9] 的短卷积历史。目标模型在预填充、解码和目标验证阶段均保留 PLE;仅单层 MTP 草稿模型将其禁用。

稀疏锁页主机内存卸载

由于每个 token 仅涉及 16 行,SGLang 将每个 rank 的词表并行表分片保留在锁页主机内存中,并使用 Triton UVA 内核将选中的行收集到一个小型 BF16 GPU 缓冲区中。一个专用的 CUDA 流将收集操作与第一个解码器块重叠执行。现有的 TP 归约和 DP 收集/分发路径保持不变:卸载仅改变存储位置,不改变表所有权或 PLE 计算。当有效模型 dtype 为 BF16 时,此 CUDA 路径默认启用,并且与 KV 缓存或通用层卸载保持独立。

在 H200 上,采用 TP4 和 MTP-213(2 个草稿步骤,top-k 为 1,每次目标验证 3 个草稿 token)时,卸载将目标模型权重从每 GPU 83.91 GiB 降至 60.45 GiB(减少 23.46 GiB),并在相同内存占比下将分配的 KV 容量从 1.84M 提升至 3.28M token(增加 78.54%)。在 1、2 和 4 个并发请求下,匹配吞吐量基本不变(几何平均值 -0.07%)。四个固定提示词各生成 128 个 token,输出 ID 完全一致;首个案例记录的所选 token logprob 轨迹也完全匹配。

致谢

本工作是 RadixArk 的 SGLang 团队、Qwen、NVIDIA 和 AMD 之间的合作成果。

SGLang 社区:Qiaolin Yu、Yuhao Yang、Cheng Wan、Xinyuan Tong、Zijie Xia、Ke Bao、Mingyi Lu、Haoguang Cai、Banghua Zhu、Ying Sheng

Qwen:Yi Zhang、Yizhong Cao、Guangda Liu

AMD:Andy Luo、Haichen Zhang

NVIDIA:NVIDIA 与 SGLang 联合优化了 Qwen3.8-Flash-Next 在 Blackwell 和 Hopper 上的性能。

来源:LMSYS:Blog(Chatbot Arena 团队)· lmsys.org