Qwen 团队开源 Qwen3.8-Flash-Next 多模态 MoE 模型,为 Qwen4 架构预览版,SGLang 发布首日即提供支持。
Qwen Sparse Attention:粗召回,精参与
IndexShare MTP:在 Draft 步间复用 QSA 选择结果
HyperConnection 内核优化
Per-Layer Embeddings(PLE)
Sparse Pinned-Host Offload
今天,Qwen 团队开源了 Qwen3.8-Flash-Next,一个多模态 MoE 模型,也是 Qwen4 架构的早期预览版。它在 Qwen4 中的角色,与 Qwen3-Next 在 Qwen3.5 中的角色相同。从 Qwen3.5 到 Qwen3.8,一路沿用了 Gated DeltaNet + Gated Attention 混合设计。SGLang 与 Qwen、NVIDIA 和 AMD 团队合作,在发布当天(day-0)即提供了模型支持。
Qwen3.8-Flash-Next 在多个方向对架构进行了升级:
GDN + QSA 混合注意力:Gated DeltaNet(GDN)高效压缩历史信息,而 Qwen Sparse Attention(QSA)使用一个轻量级索引器在微块粒度上筛选重要上下文,使长序列注意力成本保持在低位。
Gated Residual(GR):将残差流扩展为 4 个分支,并通过动态门控控制读写,强化了层间信息流动。
N-gram Embedding:基于局部上下文进行查找,为常见短语和局部模式提供额外表征,以极少的额外计算量扩展模型容量。
混合架构:主模型 125B 参数,辅以额外的 51B N-gram Embedding,每个 token 激活 6B 参数。共 48 层:36 层 GDN 线性注意力层 + 12 层 QSA 稀疏注意力层。MoE 层使用 512 个专家,采用 top-10 路由。
NVFP4 量化检查点:RadixArk/Qwen3.8-Flash-Next-NVFP4,发布当天即有。
N-Gram Embedding:将 N-gram embedding 卸载到主机内存,大大降低了 GPU 显存占用,异步预取将其与模型计算重叠,几乎零额外开销。
Gated Residual,由 NVIDIA 打造,通过 FlashInfer 交付:通过低延迟单 GEMM 路径实现高性能 Mix/Combine HyperConnection 算子(2.05 倍内核级加速)。
GDN+QSA:面向 GDN+QSA 混合架构的 KV Cache 内存管理,兼容 Radix Cache。
Speculative Decoding:MTP draft 模型的索引复用功能,在长上下文场景下裁剪 draft 模型的索引器耗时。在 TP4 B200 上,NVFP4 检查点在 batch size 1 + MTP 条件下解码速度达 540 tok/s,接受长度为 3.3(含奖励 token)。
启动命令和各负载配置指南见 SGLang Cookbook。
GDN+QSA 混合架构:延续 Qwen3.5 引入的架构设计,Qwen3.8-Flash-Next 采用 GDN + Attention 混合架构:每 4 层中,3 层 GDN 将历史压缩为固定大小状态,剩余 1 层则在完整上下文上做精确检索。对于全局 Attention 层,Qwen3.8-Flash-Next 进一步引入了 Qwen Sparse Attention(QSA),以应对上下文长度增长时计算量和 KV Cache 内存访问成本急剧上升的问题。稀疏注意力通过仅参与重要上下文来降低长序列计算量。QSA 更进一步:将序列聚合成微块,在块级估计重要性,然后选中最相关的区域,同时降低了索引开销和注意力成本。
Gated Residual(GR):结合了两个思路:沿用 Hyper-Connection,将残差流扩展为多个分支;同时引入 GatedNorm 风格的逐元素动态门控到残差读取中。原始单残差流被扩展为 4 个并行分支,使模型能够根据当前内容动态决定从每个分支读取多少信息以及写回多少。
N-gram Embedding:使用"当前 token 加上前面若干 token"形成的局部上下文进行查找,为常见短语和局部模式提供额外表征,同时几乎不增加 per-token 计算开销。N-gram Embedding 可以完全存放在主机内存中以节省 GPU 显存:查找位置预先计算并异步预取,因此它永远不会永久占用 GPU 显存。最终,模型仅在网络靠前位置使用单一 N-gram Embedding 层,以相对较低的成本添加了一个大规模"局部模式记忆"。
IndexShare MTP:在 draft-extend 阶段对目标模型刚接受的 token 运行的 QSA top-k 选择结果,会被保留供整个 MTP 迭代使用,因此每个 draft 解码步都跳过索引器,直接读取冻结的选择结果加上自捕获以来 draft 的位置。在长上下文场景下,这大幅加速了 MTP draft 步。
Qwen Sparse Attention:粗召回,精参与
Qwen3.8-Flash-Next 使用压缩比为 4 的压缩 QSA(c4)。每个 QSA 层有两条路径:轻量级索引器决定去哪里查找,稀疏 GQA 则从原始注意力 K/V Cache 中读取选中的条目。
索引器投影 4 个 128 维 query head 和 1 个共享 key head。每 4 个原始索引 key 在 FP32 中求均值、归一化,并用第一个 token 的 MRoPE 位置进行旋转,形成一个压缩 key。Query 对可见的压缩块打分
QSA 保留最佳 512 个块,将其扩展回 2048 个逻辑 token 位置,并追加当前未完成块中从零到三个 token。最终稀疏注意力最多看到 2051 个位置。重要的是,压缩 key 仅用作索引:最终 softmax 和值聚合使用的是原始未压缩的 K/V。
这意味着 QSA 以少量 Cache 容量为代价,换取了远低于长上下文的计算量和内存访问量。索引器扫描约 L/4 个小 key,然后稀疏注意力读取约 2K 个完整 K/V 条目,而不是全部 L 个。模型级 KV 节省来自于混合布局:仅 12/48 层存储增长的注意力 K/V,其余 36 层 GDN 层使用固定大小状态,而非在 QSA 层内部丢弃 K/V。
SGLang 仅将索引器附加到全注意力层,并复用其 MRoPE 实现。原始 K/V 保留在普通 paged pool 中。QSA 每 4 个 token 添加一个 BF16 压缩索引 key;未完成块的原始 key 存放在每个请求 4 槽位的环形缓冲区中。这避免了为完整上下文保留原始索引 key,并将 QSA 的索引缓存开销降低了 80%。页对齐的 full_slot / 4 寻址方式使压缩 Cache 可以跟随 Radix Cache 的所有权机制,无需独立的生命周期管理。
对于 prefill,自定义 GPU kernel 计算索引分数,快速 top-k 选中块,Triton 展开索引并运行稀疏 GQA。Decode 使用同一评分器的 paged 版本,紧凑化选中的原始 K/V,并在 Blackwell 上分派到 TRTLLM-Gen,或在 else 情况下使用打包的 FlashAttention。索引器可以在第二个 CUDA stream 上与主 Q/K/V 投影重叠,元数据路径兼容 CUDA Graph。
IndexShare MTP:在 Draft 步间复用 QSA 选择结果
QSA 层运行一个索引器来选择要参与的 token,然后对 exactly 这些 token 进行稀疏注意力。第二阶段有固定的 token 预算;第一阶段将其 query 对所有 ⌈L/4⌉ 压缩块打分,因此在数千 token 之外,决定该层成本的不是它所供给的注意力,而是索引器本身。投机解码放大了这一问题:使用 --speculative-num-steps N 时,一次 MTP 迭代花费 N 次索引器调用(N-1 次 draft decode 前向 + 1 次 draft-extend),来将 draft 最多推进 N 个位置。
因此 draft decode 步完全不再运行索引器。每个 MTP 迭代以对目标刚接受 token 的 draft-extend 开头,而该 pass 本来就要运行索引器;每个请求的最后一个接受行在那里被捕获并供整个 draft 循环复用,N+1 个额外列在查找时用自捕获以来 draft 的位置填充,使 draft 仍能看到自己的飞行中 token。选择结果是一个逻辑 token 索引列表,而请求只会增长,永远不会超出范围;而且由于 query 相比 L 仅移动了最多 N 个位置,复用的排序结果本质上与索引器本应重新计算的排序相同;接受长度不变。Draft 每个 MTP 迭代的索引器工作量从 N 次调用降为 1 次。仅存在以为其服务的元数据 kernel(包括压缩 decode 视图和待处理环形缓冲区及组环形缓冲区布局)也从 draft decode 步中移除。
HyperConnection 内核优化
HyperConnection(HC)维护 4 个并行残差流,而 Attention 和 MoE 在单一隐藏状态上操作。因此每个 block 使用 Mix 从 4 个流读取,并使用 Combine 将其输出写回。这里 M 是单次调用处理的 token 数:decode 和投机验证时很小,但 prefill 时可达数千。我们根据 M 调度到不同的 kernel。
Mix 使用低秩投影生成逐元素门控,并将 4 个残差流归约为一个隐藏状态。对于 M ≤ 16,我们使用 FlashInfer PR #4266 中的低延迟 split-K CuTe GEMM。Split-K 对 K 维进行分区,使多个 CTA 能够并行处理同一输出区域,补偿 M 维有限的并行性。SiLU、Sigmoid、门控和最终归约被融合到两个 GEMM 后处理中,避免了向全局内存的中间写入。上投影权重离线重排序,使每个输出的 4 个 gate 值能够在 tile 内部本地归约。对于更大的 M,实现使用 cuBLAS,在这些 shape 上效率更高。
在 NVIDIA B300 上,M = 4 时,融合路径将 Mix 延迟从 12.36 µs 降至 6.03 µs,内核级加速 2.05 倍。在与之前 Triton 路径的端到端投机解码基准测试中,吞吐量提升 7.6%。
Combine 计算 4 个注入系数,并向 4 个流应用残差更新。对于大 M,一个融合 kernel 在单次 pass 中处理每个 token 行。对于小 M,这种映射暴露的 CTA 太少,因此 M ≤ 32 路径沿隐藏维度拆分每个行。产生的两 kernel 实现提供了足够的并行性,同时保留了参考 FP32 累积顺序和比特级一致的输出。
M = 4 时,split 路径将 Combine 延迟从 4.17 µs 降至 2.13 µs,内核级加速 1.96 倍。在与原始每行一 CTA kernel 的独立端到端基准测试中,吞吐量提升 5.49%。对于大 M,融合 kernel 比 cuBLAS 基线最多快 2.54 倍,有效带宽达 6144 GB/s。
形状感知的调度使 HC 能够在低延迟 decode 和大规模 prefill 两种场景下使用适当的执行路径。
Per-Layer Embeddings(PLE)
该模型在第二个 decoder block(配置层 ID 2,对应从零开始的索引 1)处放置 PLE,这是一种哈希寻址的可学习 N-gram embedding 记忆。其 512 亿个 embedding 参数,约 95.4 GiB(BF16),是固定模型权重,而非 KV Cache 或可变注意力内存。
对于 token x_t,8 个 2-gram hash head 使用 (x_{t-1}, x_t),8 个 3-gram hash head 使用 (x_{t-2}, x_{t-1}, x_t),产生 16 个 embedding 行 ID。每行贡献 160 个值,拼接成形状为 [2560] 的 E_t。
第二个 decoder block 处的 PLE。稀疏 N-gram 检索在 HC Mix 之前被门控到 4 个 HC 分支。SGLang 将词表并行的表分片移到 pinned 主机内存,仅 gather 每个 token 选中的 16 行。
第四行通过将门控值加到其短卷积输出来形成 PLE delta;第五行将该 delta 注入 HC 状态。PLE 保持两个请求局部状态:用于哈希的两个最近 token ID 和形状为 [10240, 9] 的短卷积历史。目标模型在 prefill、decode 和目标验证期间保留 PLE;只有单层 MTP draft 模型禁用了它。
Sparse Pinned-Host Offload
由于每个 token 仅访问 16 行,SGLang 将每个 rank 的词表并行表分片保留在 pinned 主机内存中,并使用 Triton UVA kernel 将选中的行 gather 到一个小型 BF16 GPU buffer 中。专用 CUDA stream 将 gather 与第一个 decoder block 重叠。现有的 TP 归约和 DP gather/scatter 路径保持不变:卸载改变的是存储位置,而非表的所有权或 PLE 计算。当有效模型 dtype 为 BF16 时此 CUDA 路径默认启用,与 KV Cache 或通用层卸载分离。
在 H200 + TP4 + MTP-213(2 draft 步,top-k 1,每目标验证 3 个 draft token)条件下,卸载将目标模型权重从 83.91 GiB/GPU 降至 60.45 GiB/GPU(-23.46 GiB),并在相同显存占用比例下将已分配 KV 容量从 1.84M token 提升至 3.28M token(+78.54%)。在 1、2 和 4 个并发请求下,匹配的吞吐量基本不变(几何平均 -0.07%)。4 个固定 prompt 各生成 128 个 token,输出 ID 完全匹配;第一个 case 记录的 chosen-token logprob 轨迹也完全匹配。
本工作是 SGLang 团队(RadixArk)、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 上的性能。