Catalog

    【论文解读】 Qwen3.8 Flash Next

    Categories: Paper

    目录


    概览

    Qwen3.8-Flash-Next 是一个开源权重的多模态 MoE 模型,同时作为 Qwen4 所用模型结构的先导预览。它承担的角色与 Qwen3-Next 对 Qwen3.5 的角色一致。

    Qwen3.8-Flash-Next 围绕 Attention、Residual、Embedding 和 Optimization 四个方面对模型进行了系统升级,在提升模型能力的同时,进一步优化计算效率、模型容量和训练稳定性:

    • Attention:采用 GDN + QSA Hybrid 架构。Gated DeltaNet(GDN)高效压缩历史信息;Qwen Sparse Attention(QSA) 通过压缩式轻量 Indexer 在 micro-block 粒度上筛选重要上下文,显著降低长序列 Attention 开销。
    • Residual:引入 Gated Residual(GR),将 Residual Stream 扩展为 4 条分支,并通过动态 Gate 控制信息读写,增强跨层信息传递和训练稳定性。
    • Embedding:引入 N-gram Embedding,利用局部上下文进行查表,以很少的额外计算扩展模型容量;Embedding Table 可以卸载到 Host Memory,并通过异步 Prefetch 与模型计算重叠。
    • Optimization:采用 Muon Optimizer,围绕正交化精度、Muon 与 AdamW 的参数分工以及融合参数拆分等策略进一步优化,并针对新架构重新拟合 Scaling Law。

    Qwen3.8-Flash-Next 的主模型参数量为 125B,额外配备 51B 的 N-gram Embedding,每 token 激活 6B 参数。 相比于 Qwen3.7-Plus,Qwen3.8-Flash-Next 显著降低了训练与推理成本,训练开销仅约为前者的 1/9,但在编码和办公任务上却具有更强的能力。它原生支持 262,144 token 上下文,并可通过 YaRN 扩展至 1,000,000 token。

    本篇解读着重关注模型架构部分。模型整体架构如下图所示:

    image-20260930150135787

    Blog 链接:Qwen3.8-Flash-Next

    技术报告链接:Qwen3.8-Flash-Next/tech_report.pdf

    相关解读:【论文解读】Transformers are RNNs、【论文解读】Gated Delta Network、【论文解读】Gated Attention、【手撕系列】手撕Qwen3-Next、【论文解读】DeepSeek mHC、【论文解读】DeepSeek Engram

    一、注意力

    1. GDN 混合架构

    完整自注意力(Full Self-Attention)可以基于内容直接访问此前的每一个 Token,但其 Token Mixing 的计算成本会随着序列长度呈二次增长,同时在自回归生成过程中,其 KV Cache 也会随着序列长度线性增长。滑动窗口注意力(Sliding-Window Attention, SWA)使用一个有界的局部感受野来取代全局访问,从而同时降低计算量和 Cache 占用。然而,窗口之外的信息只能通过网络深度间接传播。这就造成了一种矛盾:一方面希望进行高效的局部处理,另一方面又希望拥有能够长期保留、并且依赖内容的持久记忆。

    Qwen3.8-Flash-Next 采用逐层混合 Gated DeltaNet(GDN)和全局注意力的方式来解决这一矛盾。GDN 将整个前缀压缩到一个固定大小的递归状态中,并根据当前内容更新这一状态;与此同时,穿插其中的全局注意力层仍然保留直接进行 Token 级检索的能力,而这种能力很难由任何有限状态的递归记忆精确复现。

    这一设计选择与表 1 中的架构消融实验结果相一致。与 Full-Attention Transformer 基线相比,GDN 混合模型在选取的 9 个 Benchmark 中有 8 个取得了提升;与 SWA 混合架构相比,它在 9 个 Benchmark 中有 7 个表现更强。这些结果支持采用混合架构,但仅凭这些结果还无法进一步分离出究竟是哪一个架构组件带来了各项性能提升。

    image-20260930151237659

    Gated Delta 循环

    本部分具体可参考:【论文解读】Gated Delta Network

    线性注意力可以被解释为一种 Fast-Weight Memory:它将 Key-Value 之间的关联存储在一个矩阵状态中。对于每一个 Head,令 $q_t,k_t\in\mathbb{R}^{d_k}$,$v_t\in\mathbb{R}^{d_v}$,GDN 维护一个状态 $S_t\in\mathbb{R}^{d_k\times d_v}$(这里的状态定义是原始论文中状态定义的转置)。随后,GDN 应用 Gated Delta Rule: \(\begin{align} \widetilde S_{t-1} &= \alpha_tS_{t-1} \\ e_t &= v_t-\widetilde S_{t-1}^{\top}k_t \\ S_t &= \widetilde S_{t-1}+\beta_tk_te_t^{\top} \\ y_t &= S_t^{\top}q_t \end{align}\) 其中,$\alpha_t\in(0,1)$ 是一个依赖数据的衰减系数,而 $\beta_t\in(0,1)$ 控制 Delta 更新的强度。等价地,上述状态更新也可以写成: \(\begin{equation} S_t= \alpha_t \left( I-\beta_tk_tk_t^\top \right) S_{t-1} + \beta_tk_tv_t^\top \end{equation}\) 这两个 Gate 扮演着互补的角色。衰减系数 $\alpha_t$ 从整体上控制已有状态能够存活多长时间;而 Delta 项则首先估计当前 $k_t$ 已经关联了什么样的 Value,随后只写入其残差误差(residual error)。因此,当出现重复或相似的 Key 时,模型会更新已经存在的关联,而不是不断累积没有上界的外积项。正是这种具有针对性的擦除并写入(erase-and-write)操作,将 GDN 与纯加法式的线性注意力区分开来。

    GDN 参数化

    给定经过归一化的 Residual Stream 输入 $x_t\in\mathbb{R}^{d}$,GDN 首先通过可学习的线性投影,再经过一个短程的 Depthwise Causal Convolution,得到内容特征: \(\begin{align} q_t &= \operatorname{L2Norm} \left( \operatorname{SiLU} \left( \operatorname{ShortConv}(W_qx_t) \right) \right) \\ k_t &= \operatorname{L2Norm} \left( \operatorname{SiLU} \left( \operatorname{ShortConv}(W_kx_t) \right) \right) \\ v_t &= \operatorname{SiLU} \left( \operatorname{ShortConv}(W_vx_t) \right) \end{align}\) 在信息被压缩进递归状态之前,短卷积为模型显式引入了局部归纳偏置。L2 归一化则限制了 $q/k$ 的幅值,并稳定 Rank-one 的 Delta 状态转移。

    写入强度与衰减系数分别参数化为: \(\begin{align} \beta_t &= \sigma(W_\beta x_t) \\ \alpha_t &= \exp \left[ -\exp(A) \operatorname{softplus} \left( W_\alpha x_t+b_\alpha \right) \right] \end{align}\) 在不同 Head 上分别独立完成上述递归之后,各 Head 的输出会先经过归一化,然后再由一个依赖输入的 Output Gate 进行调制: \(\begin{equation} o_t= W_o \left[ \sigma(W_zx_t) \odot \operatorname{RMSNorm}(y_t) \right] \end{equation}\) 与原始 GDN 使用 SiLU Output Gate 不同,Qwen3.8-Flash-Next 在上式中使用了有界的 Sigmoid Gate,并在实验中观察到了持续一致的性能提升。沿用 Qwen3-Next 的设计,采用 Zero-Centered RMSNorm,以限制 RMSNorm 权重的增长。模型中其他所有 RMSNorm 层也统一采用相同形式。下图总结了完整的 GDN Token Mixing 路径。

    image-20260930173129426

    在整个模型层面,混合架构仍然在 Full-Attention Layer 中保留 RoPE。在 Pretraining 阶段,RoPE 与不使用位置编码的 NoPE 变体之间几乎没有差异。但是在 Post-Training 之后,NoPE 变体出现 Endless Generation(无休止生成)的比例明显更高,因此更容易发生无法正常终止生成的问题。最终,每四层放置一个这样的 Full-Attention Layer,其余三层使用 GDN。这种安排在效率和模型质量之间取得了较好的平衡,同时,周期性地加入 Full Attention 对于长上下文性能尤其重要。

    Kernel 效率

    为了提高效率,使用 FlashQLA 对 GDN Kernel 进行了优化。FlashQLA 是一个基于 TileLang 的融合线性注意力 Kernel 库。在 NVIDIA GPU 的多种配置下,与 FLA 的 Triton Kernel 相比,FlashQLA 能够实现 Forward 2–3 倍加速、Backward 约 2 倍加速。

    架构消融实验

    使用同一套评测 Pipeline 对三个 Checkpoint 进行比较:Full-Attention Transformer、SWA Hybrid、GDN Hybrid。两个 Hybrid 变体都采用每四层中包含一个 Full-Attention Layer 的配置,其余 Token-Mixing Layer 则分别使用 SWA 或 GDN。其中,SWA Layer 的窗口大小设置为 128。每个 Checkpoint 都对应一个基于 Qwen3.5 架构构建的 28 层、25B-A3B MoE 模型。这些模型首先使用 4K Context Length 在 400B Tokens 上进行预训练。随后进一步使用 32K Context Length 在 80B Tokens 上继续训练。结果如前文中的表 1 所示。GDN Hybrid 在所选的 9 个 Benchmark 中,有 8 个超过了 Transformer,并且有 7 个超过了 SWA Hybrid。它在 7 个 Benchmark 上取得最佳结果,同时拥有最高的整体平均分;而 SWA Hybrid 在 MMLU 上略高,并且在 EvalPlus 上表现更强。

    2. Qwen Sparse Attention

    通过选择性地关注重要上下文,稀疏注意力(sparse attention)缓解了长上下文场景下 softmax attention 的二次计算瓶颈。近期,DSA 通过使用轻量级索引器(lightweight indexer)生成 token 级稀疏掩码(token-level sparse masks),实现了显著的推理加速。然而,随着序列长度增加,其 $O(n^2)$ 的索引器开销仍然不可忽略。

    为了降低索引成本,Qwen3.8-Flash-Next 采用了 Qwen Sparse Attention(QSA)。具体而言,QSA 使用一个轻量级索引器,将序列压缩为微块表示(micro-block representations),估计这些微块的重要性,并选择最相关的上下文用于注意力计算。该设计降低了长输入场景中的索引开销,同时平衡了任务性能和推理效率。相比于跨层共享索引的方法,QSA 在层内进行序列压缩,因此对跨层相似性的依赖更低,使其天然适用于混合架构。

    下图展示了 QSA 的整体架构。QSA 索引器(左侧)使用压缩后的因果注意力掩码对 key blocks 进行评分,并选择 top-k 索引。这些索引随后被扩展为 micro-block sparse attention mask,用于右侧的 sparse core attention。

    image-20261008110742695

    Compressed Lightweight Indexer

    给定输入隐藏状态 $x_i$,索引器采用 MQA 结构,包含 $H$ 个 query head 和一个共享 key head。它首先执行独立的轻量级投影: \(\begin{equation} \hat{q}_i^h=\text{RMSNorm}(W_Q^h x_i), \quad k_i=W_K x_i \end{equation}\) 为了降低序列长度,key 被划分为长度为 $r$ 的非重叠 block,并通过平均池化(average pooling)进行压缩。设第 $b$ 个块的起始位置为 $p_b=b\cdot r$,则对应的压缩 key 为: \(\begin{equation} \hat{k}_b= \text{RMSNorm}(\text{AvgPool}(k_{p_b:p_b+r-1})), \quad 0\le b \lt \left\lfloor\frac nr\right\rfloor \end{equation}\) 对于位置编码,索引器采用 partial RoPE。具体而言,在索引器的每个 head 中,128 个维度中的 64 个维度使用 partial RoPE,这与 core attention 模块中的旋转维度保持一致。如上式所示,key 压缩发生在位置编码之前。因此,每个块首先被汇总为一个内容表示,然后被分配一个块级位置。这种顺序避免了对具有不同旋转相位的 token 表示进行平均。每个 query 保留其 token 位置 $i$,而每个压缩后的 key 被赋予其所在块的起始位置 $p_b$: \(\begin{equation} q_i^h=\text{PRoPE}(\hat{q}_i^h,i), \quad \bar{k}_b=\text{PRoPE}(\hat{k}_b,p_b) \end{equation}\) 随后,通过 block-causal scoring 获得块的重要性分数 $I$。对于 query token $i$ 和压缩块 $b$,索引器中所有 head 的 query-key 相似度经过 ReLU 激活后求和: \(\begin{equation} I_{ib} = \begin{cases} \sum\limits_{h=1}^H \text{ReLU}( \langle q_i^h,\bar{k}_b\rangle ), & p_b+r-1\le i \\ -\infty, & \text{otherwise} \end{cases} \end{equation}\) 这种块级因果条件保证每个 query 只能对已经完全可见的块进行打分。给定 token 预算 $K$,每个 query 选择得分最高的 $K_B$ 个压缩块。由于每个块包含 $r$ 个 token,因此有: \(\begin{equation} B_i=\text{TopK}_{K_B}(\{I_{ib}\}_b), \quad K_B=\left\lceil\frac Kr\right\rceil \end{equation}\) 被选择的块随后展开为原始 token 索引,并截断到预算 $K$。同时,最后一个不完整块中的 token 始终被包含。这些 token 共同组成最终用于核心注意力计算的集合。

    训练细节

    QSA 在 Qwen3.8-Flash-Next 的持续预训练(CPT, Continued PreTraining)阶段引入,训练序列长度为 256K tokens。训练过程包含两个阶段:密集蒸馏(Dense Distillation)和稀疏训练(Sparse Training)。

    这里需要说明的是,稀疏注意力的训练难点在于 Top-K 选择是离散的、不可微的操作,因此下游注意力计算产生的损失无法通过选中的索引直接反向传播到索引器的打分过程。为此,QSA 采用两阶段训练策略:首先利用全注意力分布作为监督信号,通过可微的 KL 散度损失训练索引器,使其学会识别重要的上下文;随后启用稀疏注意力,并联合训练骨干模型与索引器,使模型逐渐适应稀疏注意力模式。

    Stage 1:密集蒸馏

    首先,将骨干模型的全序列注意力分布蒸馏到索引器中。通过对所有 teacher head 的 softmax 注意力分布进行求和,然后执行 L1 归一化,得到 token 级教师分布。设 query $i$ 对 token $j$ 的概率为 $a_{ij}$,完整 token 级分布为 $a_i\in R^n$。遵循已有的研究,使用最大池化(max pooling)将该分布对齐到块级索引器分数。这样可以保留重要 token 信号,避免其在聚合过程中被稀释: \(\begin{equation} \bar{a}_{ib} = \text{MaxPool}(a_{i,p_b:p_b+r-1}), \quad \hat a_i= \frac{\bar a_i}{||\bar a_i||_1} \end{equation}\) 令 $B=\lfloor n/r\rfloor$,则池化后的教师分布 $\hat a_i\in R^B$ 和索引器分数 $I_i\in R^B$ 具有相同的块维度。通过最小化以下 KL 损失,将归一化后的教师分数蒸馏到索引器: \(\begin{equation} L_{\text{KL} } = \frac1N \sum_i D_{\text{KL} } ( \hat a_{i,:} || \text{Softmax}(I_{i,:}) ) \end{equation}\) 其中 $N$ 是 query token 的数量。对于每个 query,仅完整 key block 被用于 KL 损失计算。在 warm-up 阶段,仅训练索引器 1000 step,学习率为 $1\times10^{-3}$。每一步包含 8 个长度为 256K 的序列,总训练 token 数约为 2B。

    Stage 2:稀疏训练

    在完成索引器初始化之后,整个 Backbone 在索引器的指导下进行训练,以适应稀疏注意力模式。QSA 首先选择 top-$K_B$ 个块,这些块随后被展开为 token 索引,并与最后一个不完整块中的尾部 token 合并: \(\begin{equation} S_i= \text{Expand}(B_i) \cup \left\{ r \left\lfloor \frac{i+1}{r} \right\rfloor, \ldots, i \right\} \end{equation}\) 其中,Expand 操作符将选中的块映射为对应的 token 索引。得到的集合 $S_i$ 用于核心注意力(core attention)计算。在该阶段,索引器的 KL 损失仅在 $B_i$ 中的 top-$K_B$ 个块上计算。在计算 KL 散度之前,需要对 $B_i$ 内部的教师概率重新归一化,使其和为 1: \(\begin{equation} L_{\text{KL} } = \frac{1}{N} \sum_i D_{\text{KL} } ( \hat a_{i,B_i} \| \text{Softmax}(I_{i,B_i}) ) \end{equation}\) 在 CPT 的最后阶段,启用 QSA,并对 Backbone 与 Indexer 进行联合训练,共训练 8000 steps,学习率为 $2.5\times10^{-5}$。每一步包含 96 个长度为 256K tokens 的序列,总训练 token 数约为 200B。

    这两个阶段实际上触及了 Sparse Attention 训练中一个核心矛盾:Indexer 的 recall 和 ranking 之间的权衡。Stage 1 训练 Indexer 学习全局重要性分布;Stage 2 只在已经选出的 $B_i$ 内优化排序。这样就需要避免 Stage 2 的梯度让 Indexer 变得更擅长局部排序,却损害了原来的全局 Top-K 能力。

    实现细节

    对于 Qwen3.8-Flash-Next,为了提升长序列推理效率,Backbone 和 MTP 模块中的所有 Full Attention 层均被替换为 QSA。压缩轻量级 Indexer 采用 MQA 结构,其中包含 4 个 Query Head、1 个共享 Key Head,并采用前文介绍的 partial-RoPE 配置。token 预算 $K=2048$,压缩比例 $r=4$。QSA 对每个 query 最多选择 512 个完整 block,并额外包含最后一个不完整 block 中的尾部 token。准确的重要性估计使得模型在 Stage 2 稀疏训练期间能够接近 Full Attention 的语言模型 Loss 轨迹。如下图所示,两条 Loss 曲线保持高度一致,整体 Loss 差异约为 $10^{-4}$ 量级。

    image-20261009141419152

    为了提高训练效率,实现了一个融合 QSA Kernel,该 Kernel 可以同时计算稀疏 Attention 输出、KL Loss,而无需显式生成中间结果,从而显著降低显存占用。压缩 Indexer 会在序列压缩后进行评分,因此同时降低了 Indexer 计算开销和 Top-K 选择开销。此外,MTP 会在多个预测步骤之间复用 top-k 索引,从而进一步降低 Draft Model 的推理成本。

    QSA 评估

    通过比较搭载 QSA 的 Qwen3.8-Flash-Next 与其 Full Attention 基线模型来评估 QSA。表 2 展示了模型在知识、STEM、推理、多语言和代码 Benchmark 上的结果,从而全面评估稀疏注意力是否会影响模型除长上下文检索之外的通用能力。QSA 在 8 个 Benchmark 中的 7 个上匹配或超过 Full Attention 基线,并将平均分从 75.9 提升到 76.8,剩余差异较小,并未显示出某一类任务上的系统性退化。

    image-20261009143135699

    总体而言,这些结果表明 QSA 在保持短上下文任务通用能力的同时,实现了更加高效的长上下文推理。除了短上下文 Benchmark 外,还在 RULER、MRCR 两个广泛使用的长上下文 Benchmark 上评估 QSA 的检索能力。RULER 的评估长度范围为 4K-1000K,MRCR 使用 8-needle 设置,评估长度范围为 128K-1M。结果如表 3 所示。

    image-20261009143206139

    QSA 在较短长度下保持与 Full Attention 相当的性能,并且随着上下文长度增加表现更好。具体而言,在超过 512K 长度时,QSA 将 RULER 分数从 90.08 提升至 93.00。在 MRCR 上,512K 长度下从 30.66 提升至 40.53;1M 长度下从 20.71 提升至 26.44。这些结果表明,QSA 在不牺牲任务性能的情况下,提高了长上下文推理效率,并且在更长序列长度下进一步获得收益。

    此外,进一步研究了 QSA 对 MTP 模块的影响。除了将 MTP 中的 Attention Layer 替换为 QSA 外,遵循 GLM 的做法,在多个 Speculative Decoding Step 之间复用 top-k 索引,以进一步提高 Draft Model 的效率。为了评估复用 QSA 索引是否影响 MTP 性能,在不同领域 Benchmark 上进行了四步 Speculative Decoding 实验,结果如表 4 所示。

    image-20261009143536269

    结果显示,启用 QSA 索引复用后,平均接受长度没有明显变化。

    QSA 架构消融

    在 35B-A3B 模型规模上进行了 QSA 架构消融实验,重点关注压缩比例和 Indexer Head 数量。如下图所示,使用长度达到 1M 的 RULER 分数作为评估指标。所有实验均基于 Stage 2 稀疏训练之后得到的 CPT 模型进行评估。

    image-20261009153437749

    对于压缩比例消融,使用不同的 Micro-Block 大小评估 QSA。此外,加入了训练感知的 IndexShare 作为基线,该方法通过在混合模型中相邻 Full Attention Layer 之间共享 Top-K Index,从而降低索引开销。如图中 (a) 所示,比较了两种方法在 RULER 基准上的性能表现,并对比了它们各自预估的 Indexer Latency 降低幅度。结果显示:当 Indexer Latency 降低到原来的 0.25 时,QSA 仍然能够匹配 Full Attention 基线;IndexShare 在降低到 0.5 时仍低于 Full Attention 基线。对于 IndexShare,0.5 表示在由三个 GDN 层分隔的两个 Full Attention Layer 之间共享 Index。该结果说明在 Hybrid Architecture 中,层内序列压缩具有优势,因为跨层 Index Sharing 可能受到层间低相似性的限制。

    Query Head 数量会直接影响 Indexer 效率,尤其是在 Prefill 阶段。因此,评估了不同 Query Head 数量的 MQA Indexer 在 RULER 上的表现,如图中 (b) 所示。经过 Dense 初始化之后,直接应用 Indexer 进行 Sparse Attention 会导致明显性能下降。一小段联合训练能够使 Backbone 适应 Sparse Attention 模式,并恢复到 Full Attention 水平。实验结果表明,QSA 在仅使用少量 Indexer Query Head 的情况下仍然能够保持性能,而 Core Attention 模块使用的 Head 数量远多于 Indexer。为了平衡推理速度和准确率,最终采用 4 个 Query Head 的轻量级 Indexer 配置。

    效率分析

    通过以比例 $r$ 压缩 Key Sequence,QSA 将 Indexer 的复杂度从 $O(n^2)$ 降低到 $O(n^2/r)$,从而在长序列场景中获得显著效率提升。对于 Indexer 而言,序列压缩直接降低了 MQA Logits 和 Top-K 选择的计算成本,因此获得与压缩比例相近的加速效果。如下图 (a,b) 所示,这显著降低了长序列推理成本,在此场景中 Indexer 往往是主要瓶颈。

    image-20261009155646545

    此外,进一步评估了 QSA 的 Kernel-Level 加速效果,同时考虑了 Indexer 成本和 Sparse Core Attention 计算。Dense Attention 基线采用 FlashInfer 提供的 Paged GQA 实现。Prefill 在 Chunked-Prefill 设置下评估,而 Decode 包含三个额外 MTP Step。如图 (c,d) 所示,QSA 从 64K 上下文长度开始提供加速,并且随着序列长度增长获得越来越大的收益。在 1M 上下文长度下,预填充和解码阶段注意力模块分别实现了 7.6 倍和 4.9 倍的加速,这展示了 QSA 在长上下文推理中的扩展能力。

    二、残差

    残差连接为每个 block 提供了一条通往网络输出的直接路径。预归一化(Pre-Normalization)能够保持大规模训练的稳定性,但它也会削弱每一层接收到的信号:由于每个 block 都从同一条残差流中读取信息,早期写入的特征必须与之后所有层写入的信息相互竞争。

    已有多项研究通过增加绕过这一瓶颈的路径来解决该问题,直接修改残差路径的研究主要分为两类。第一类沿用 Highway Networks 的思路,提高每层读取和写入操作的表达能力。第二类则拓宽残差流本身:Alternating Updates (AltUp) 和 Hyper-Connections (HC) 使用多个并行分支取代单一残差向量。这两种方法相互补充:拓宽残差流可以增加容量,而更丰富的读写机制则决定如何使用这些容量。

    1. 拓宽残差流

    首先研究已报告的性能提升中,有多少仅来自残差流宽度的增加。为此,使用了 AltUp 的一种简化变体,使其适用于 Pre-Norm 网络。在第 $\ell$ 个 block 之前,残差状态由 $n_r$ 个分支组成:$R^{(\ell)}\in\mathbb{R}^{n_r\times d}$,其中,$d$ 为隐藏维度,$R_i^{(\ell)}$ 表示第 $i$ 个分支。每个 block 维护 $n_r$ 个可学习标量 $h\in\mathbb{R}^{n_r}$,并通过对各分支进行加权求和,得到该 block 的输入: \(\begin{equation} x^{(\ell)} = \sum_{i=1}^{n_r}h_iR_i^{(\ell)} \label{eq:input} \end{equation}\) 随后,block 的输出 $y^{(\ell)}$ 被写回单个分支,该分支按照网络深度以轮询方式选择,即将输出加到轮流选中的一个分支上,其余分支保持不变: \(\begin{equation} R_i^{(\ell+1)} = R_i^{(\ell)} + \mathbf{1}[i=\ell\bmod n_r]y^{(\ell)} \label{eq:output} \end{equation}\) 这种设计每个 block 仅增加 $n_r$ 个参数,且不需要额外的矩阵乘法,因此计算开销可以忽略。额外的成本主要来自维护 $n_r$ 个分支所产生的内存数据传输量。即便如此,对于一个在 400B Token 上训练的 25B-A3B MoE 模型,仅拓宽残差流就能使训练 Loss 降低约 0.01。因此,仅增加残差流宽度,就能够显著降低 Loss。剩下的问题是:在已经拓宽的残差流上,究竟值得增加多复杂的读写机制,才能在性能、效率和稳定性之间取得良好平衡?

    2. 超连接(Hyper-Connections,HC)

    HC 将公式 $\eqref{eq:input}$ 和公式 $\eqref{eq:output}$ 推广为三个可学习的算子:

    • 读取算子 $H_{\mathrm{mix} }$:构建 block 的输入。
    • 写入算子 $H_{\mathrm{combine} }$:将 block 的输出分配到各个分支。
    • 混合算子 $H_{\mathrm{res} }$:在不同分支之间交换信息。

    具体形式为: \(\begin{align} x^{(\ell)} &= H_{\mathrm{mix} }^\top R^{(\ell)} \\ y^{(\ell)} &= \mathcal{F}^{(\ell)} \left( \operatorname{Norm}(x^{(\ell)}) \right) \label{eq:block}\\ R^{(\ell+1)} &= H_{\mathrm{res} }R^{(\ell)} + H_{\mathrm{combine} }y^{(\ell)\top} \end{align}\) 其中,$H_{\mathrm{mix} },H_{\mathrm{combine} } \in\mathbb{R}^{n_r}$,$H_{\mathrm{res} }\in\mathbb{R}^{n_r\times n_r}$。在 HC 原论文的符号体系中,这三个算子分别对应 $A_m$、$B$ 和 $A_r$,它们均根据残差状态预测得到。令 $\bar R=\operatorname{Norm}(R^{(\ell)})$ 表示经过归一化的残差分支,每个算子都由一个静态项和一个依赖数据的动态项相加得到: \(\begin{align} H_{\mathrm{mix} } &= H_{\mathrm{mix} }^s + \lambda_m\odot\phi(\bar RW_m) \label{eq:mix}\\ H_{\mathrm{combine} } &= H_{\mathrm{combine} }^s + \lambda_c\odot\phi(\bar RW_c) \label{eq:combine}\\ H_{\mathrm{res} } &= H_{\mathrm{res} }^s + \lambda_r\odot\phi(\bar RW_r) \end{align}\) 其中,$H_\star^s$ 是可学习的静态项,$W_\star$ 用于对归一化后的残差状态进行投影,$\phi$ 为激活函数,$\lambda_\star$ 为可学习的缩放系数。符号 $\star$ 代表上述三个算子中的任意一个。HC 使用 $\phi=\tanh$,并将 $\lambda_\star$ 初始化为 0.01。mHC 则使用 Sigmoid 激活函数,并额外将 $H_{\mathrm{res} }$ 约束在双随机矩阵流形上。如果将三个静态项分别设置为 $e_{\ell\bmod n_r}$、$\mathbf{1}$、$I$,并令 $W_\star=0$,拓宽后的网络在初始化时就与原始 Pre-Norm 网络完全一致。如果进一步始终保持 $\lambda_\star=0$,这些算子就会保持静态,拓宽后的残差流也不会引入额外计算,从而恢复为前文介绍的 AltUp 变体的简化版。

    3. 设计消融实验

    从静态算子出发,仅在额外表达能力能够带来足够收益的地方保留相应设计。表 5 展示了这一设计探索过程中的最终配置,五项观察结果决定了最终的设计。

    image-20261012131357730
    • 有界正值门控。在 Loss 和训练稳定性两个方面,Sigmoid Gate 都优于 Tanh。这一结果与 mHC 一致,也与 GDN 和 Attention 组件中观察到的现象相符:Sigmoid Gate 的表现优于 SiLU 或 Tanh。
    • 数据依赖性。使 $H_{\mathrm{mix} }$ 和 $H_{\mathrm{combine} }$ 依赖输入数据,相比静态变体能够进一步降低 0.002 的 Loss,而静态变体相较 Pre-Norm 基线已经降低了 0.021。但在 Benchmark 上,两者的提升比例恰好相反:从 Static 改为 Dynamic,平均准确率提高了 1.98 分;从 Pre-Norm 基线改为 Static,平均准确率提高了 1.58 分。这是本文中 Loss 与下游准确率变化趋势不一致的多个例子之一。
    • 读取粒度比写入粒度更加重要。将 $H_{\mathrm{mix} }$ 从每个分支对应一个标量,细化为每个分支、每个通道分别对应一个权重,能够改善模型表现。但对 $H_{\mathrm{combine} }$ 进行同样的细化,几乎没有带来收益。因此,写入操作仍然保持每个分支使用一个标量的设计。
    • 读取所有分支。根据所有分支来预测算子,效果优于仅使用最后一个分支或者先对所有分支进行池化。此外,对每个分支分别进行归一化,即在拓宽的残差流上采用 Group RMSNorm,能够进一步提升性能。
    • $H_{\mathrm{res} }$ 的作用较小。当读取和写入操作已经具有足够的表达能力时,额外增加一个 $n_r\times n_r$ 的混合算子,并不会带来显著改善。

    仅通过静态算子拓宽残差流,平均准确率就已经比 Pre-Norm 基线高出 1.58 分;进一步使读取和写入操作依赖输入数据,又带来了 1.98 分的提升。mHC Static 与 Dynamic 的 Loss 差异只有 0.002,但 Benchmark 表现却存在显著差距。这表明仅凭损失函数会低估改进的价值,因此要在整个设计过程中同时检查 Benchmark 与 Loss。

    4. 门控残差(Gated Residual,GR)

    在另一项研究中发现,在 RMSNorm 之后增加一个轻量级的逐元素自门控机制,可以显著改善训练稳定性,称为 GatedNorm: \(\begin{equation} \operatorname{GatedNorm}(u) = \operatorname{RMSNorm}(u) \odot \sigma\left( W_2\operatorname{SiLU} \left( W_1\operatorname{RMSNorm}(u) \right) \right) \end{equation}\) 其中,$W_1$ 和 $W_2$ 构成一个低秩瓶颈(Low-Rank Bottleneck)。前面的消融实验发现:

    • residual branch 的动态读取(dynamic read)有效;
    • 逐元素(element-wise)的 gate 比 scalar gate 更有效;
    • 写入和 branch mixing 的复杂机制收益有限。

    这个有效的读取机制,本质上和 GatedNorm 很像。因此,将两者合并为一个统一的算子,并将其称为 Gated Residual(GR)。

    GR 首先对每个分支独立进行归一化: \(\begin{equation} \widehat R_i = \operatorname{RMSNorm}(R_i;\gamma_i), \quad i=1,\ldots,n_r \label{eq:rms} \end{equation}\) 每个分支都具有独立的增益参数 $\gamma_i\in\mathbb{R}^{d}$。随后,GR 根据所有分支的信息,为每个分支的每个通道预测逐元素门控分数,并对经过门控的分支求平均,得到 block 的输入: \(\begin{align} G &= \operatorname{unvec} \left[ \sigma\left( W_u\operatorname{SiLU} \left( \frac{1}{n_r}W_d\operatorname{vec}(\widehat R) \right) \right) \right] \in\mathbb{R}^{n_r\times d} \label{eq:gate} \\ x &= \frac{1}{n_r} \sum_{i=1}^{n_r} G_i\odot\widehat R_i \label{eq:use_gate} \end{align}\) 其中,$\operatorname{vec}$ 将所有分支堆叠为一个长度为 $n_rd$ 的向量,$\operatorname{unvec}$ 则执行相反的操作。两个投影矩阵的维度分别为 $W_d\in\mathbb{R}^{r\times n_rd}$、$W_u\in\mathbb{R}^{n_rd\times r}$,低秩瓶颈的秩为 $r=\frac d8$。Block 的输出 $y=\mathcal{F}(x)$ 随后通过每个分支对应的一个依赖数据的标量,将输出写入所有分支: \(\begin{align} s &= 2\sigma \left( \frac{1}{n_r}W_w\operatorname{vec}(\widehat R) \right) \in\mathbb{R}^{n_r} \label{eq:s}\\ R_i'&=R_i+s_i y \label{eq:write} \end{align}\) 其中 $W_w\in\mathbb{R}^{n_r\times n_rd}$。公式 $\eqref{eq:gate}$ 和公式 $\eqref{eq:s}$ 分别对应公式 $\eqref{eq:mix}$ 和公式 $\eqref{eq:combine}$ 中的读取与写入算子,并采用以下配置:

    • $\phi=\sigma$;
    • $H_{\mathrm{mix} }$ 为逐元素读取算子;
    • $H_{\mathrm{combine} }$ 为每个分支对应一个标量的写入算子;
    • $R$ 为所有分支经过 Group RMSNorm 后的结果。

    静态项 $H_\star^s$ 对 GR 没有带来性能提升。在当前配置下,可学习权重不需要特殊初始化,静态项的贡献也可以忽略,使用与 Backbone 相同的标准随机初始化即可。采用 $n_r=4$ 个分支,并为每一层中的 Attention Block 和 MLP Block 分别设置一个独立的 GR 模块。

    从表 5 可以看出,GR 与 mHC(Dynamic)的主要区别在于:GR 使用逐元素 $H_{\mathrm{mix} }$,并移除了 $H_{\mathrm{res} }$。在当前模型规模下,两者的性能相近。GR 在效率方面的优势在于,移除 $H_{\mathrm{res} }$ 可以避免每个网络块额外完整读取一次残差状态,从而降低内存数据传输量。GR 在稳定性方面具有两项优势:首先,GatedNorm 本身能够改善训练稳定性。其次,移除需要额外约束的 $H_{\mathrm{res} }$,消除了一个潜在的不稳定来源。GR 与 HC、mHC 和 VWN 属于同一类方法。它们之间的区别在于如何分配额外的表达能力。HC 和 mHC 的读取与写入操作均采用每个分支对应一个标量的形式,并将额外容量投入 $H_{\mathrm{res} }$;其中,mHC 进一步将 $H_{\mathrm{res} }$ 约束为双随机矩阵。VWN 同样保留每个分支对应一个标量的设计,但选择拓宽 Token Embedding,将其划分为多个较窄的片段,以实现更细粒度的读取和写入操作。GR 则将表达能力集中于读取操作:其 Gate 采用逐元素形式,并完全移除 $H_{\mathrm{res} }$。消融实验表明,移除 $H_{\mathrm{res} }$ 不会带来性能损失,同时能够避免每个网络块完整读取一次残差状态。在拓宽的残差流中,这种读取是推理成本的主要来源。

    由于公式 $\eqref{eq:use_gate}$ 中的读取操作已经包含归一化和门控,GR 也直接替代了 block 原本的 Pre-Normalization,而无需在其之前额外放置一个模块。因此,公式 $\eqref{eq:block}$ 中的 Norm 操作被移除,拓宽残差流也没有增加新的归一化层。此外,由于不存在混合算子,各个分支始终保持独立。每个分支只会直接接收 block 写入的输出,并通过公式 $\eqref{eq:use_gate}$ 读取,这使得信息流更加容易追踪。

    5. 与 Attention Residual 的比较

    Attention Residuals(AttnRes,注意力残差)通过对先前网络层的输出执行 Softmax Attention,决定每个子层应该读取哪些信息。Full AttnRes 会对所有先前子层的输出执行注意力计算。Block AttnRes 则将 $L$ 个子层划分为多个大小为 $S$ 的块,将每个块中的输出求和得到一个表示,再对这些表示执行注意力计算。

    表 6 将这两种变体与 GR 进行了比较。实验使用一个 28 层模型,分别测试使用和不使用 GatedNorm(GN)的情况。

    image-20261012174407805

    Full AttnRes 是这一系列方法中表现最好的配置,其 Loss 为 1.762,与 GR 持平。将子层输出按块汇总会产生一定损失:当 $S=2$ 时,Loss 增加 0.008;当 $S=4$ 时,Loss 增加 0.011。在更深的网络中,表现顺序依然相同:对于 48 层模型,$S=4$ 的 Block AttnRes 达到 1.711,而 GR 达到 1.707。GN 在所有配置下都能降低 Loss,在 AttnRes 中,Loss 降低 0.004–0.005;在普通 Pre-Norm 基线中,Loss 降低 0.002。当子层读取的输入更加复杂时,Gate 能够带来更大的帮助。

    6. 残差分支的实际用途

    消融实验表明,GR 能够同时改善 Loss 和 Benchmark 表现,但究竟是什么机制带来了这些提升?由于 GR 不包含残差分支之间的混合,每个分支实际上都是一个对历史输出进行累积的简单累加器。因此,我们可以精确地将每个 block 读取的信息,分解为此前各个 block 的贡献。利用这一分解,将采用 GR 的模型与其他条件完全相同、但不使用 GR 的参考模型进行比较。结果发现,增加的残差流宽度被用于几条特定的信息传递路径:其中一个分支能够跨越多个网络层保留早期的 Attention 输出,而其余三个分支则主要负责局部信息传递。

    在 block $v$ 之前,分支 $c$ 的状态为: \(\begin{equation} R_c^{(v)} = R_c^{(0)} + \sum_{u<v}s_c^{(u)}y^{(u)} \label{eq:rcv} \end{equation}\) 其中:

    • $R_c^{(0)}$ 是分支 $c$ 的初始值,即 Token Embedding;
    • $y^{(u)}$ 是 block $u$ 的输出;
    • $s_c^{(u)}$ 是公式 $\eqref{eq:s}$ 中的标量写入门,用于控制 $y^{(u)}$ 有多少被写入分支 $c$。

    Block $v$ 通过公式 $\eqref{eq:use_gate}$ 的门控读取操作访问这一分支:首先对分支进行归一化,再通过公式 $\eqref{eq:rms}$ 中可学习的逐通道增益 $\gamma_c$ 进行缩放,随后使用公式 $\eqref{eq:gate}$ 中依赖数据的门控 $G_c^{(v)}$ 逐元素调制,最后对所有分支求平均。由于归一化会将分支状态除以 $\operatorname{rms}(R_c^{(v)})$,因此,blcok $u$ 对 block $v$ 输入的贡献为: \(\begin{equation} a_{u\rightarrow v} = \frac{1}{n_r} \sum_{c=1}^{n_r} G_c^{(v)} \odot \gamma_c \odot \frac{s_c^{(u)}y^{(u)} }{\operatorname{rms}(R_c^{(v)})} \label{eq:auv} \end{equation}\)

    上述计算使用前向传播过程中实际产生的 Gate 值。其中,每个因子都有明确含义:

    • $s_c^{(u)}y^{(u)}$:网络块 $u$ 写入分支 $c$ 的内容;
    • 除以 $\operatorname{rms}(R_c^{(v)})$:对应读取时执行的归一化;
    • $\gamma_c$:对每个通道进行缩放;
    • $G_c^{(v)}$:决定 block $v$ 实际使用该分支中多少信息。

    统计这些贡献经过归一化后的幅值: \(\begin{equation} \pi_{uv} = \frac{\|a_{u\rightarrow v}\|} {\sum_{u'<v}\|a_{u'\rightarrow v}\|} \end{equation}\) 它表示 block $v$ 的输入中,来自 block $u$ 的贡献比例。由于公式 $\eqref{eq:auv}$ 在求和之前就已经按分支分解了各项贡献,因此我们可以观察每条信息传递路径由哪个分支承载。这一分解是精确的:每个读取端的贡献比例之和与 1 的误差不超过 $3\times10^{-8}$。

    实验比较了一个使用 GR 训练的 20 层 MoE 模型,以及一个除 GR 之外完全相同的参考模型。两个模型使用相同的训练方案、数据、优化器和训练步数,并在相同 Token 上进行分析。两者贡献比例之差为 $\Delta_{uv} = \pi_{uv}^{GR} - \pi_{uv}^{ref}$,通过减去参考模型的贡献比例,可以消除所有残差网络共有的模式,即距离较近的写入层通常占据主导地位。

    image-20261013102559962

    上图展示了全部 780 个有序 block 对中,满足至少跨越一层且 $\Delta_{uv}\geq0.05$ 的 21 条路径。作为参考,在第 15 层,前面共有 30 个写入端。如果均匀分配,每个写入端的贡献比例约为 0.03;而 0.13 的贡献比例约为这一数值的四倍。

    其中一个分支承载长距离路径,其余三个分支主要负责局部信息传递。具体由哪个分支承担长距离传递并不重要,因为所有分支在初始化时是可交换的。但这种模式具有一致性:在五个 GR Checkpoint 中,每个模型都恰好存在一个这样的分支。该分支的典型跨越距离为 10.9 层,而其他分支为 3.4–3.9 层。下面通过三个例子说明这一模式。每个例子分别给出参考模型(无 GR 的单一残差流)和 GR 模型中的贡献比例。

    • 第 0 层 GDN → 第 15 层 Attention:在参考模型中,这条路径的贡献比例为 0.020;在 GR 中上升至 0.138。对于第 10 层至第 19 层的所有读取端,该比例始终保持在 0.072–0.138 之间,没有呈现下降趋势。这进一步证实了第一层在跨网络深度保留信息方面具有超出一般水平的重要作用,与先前研究的观察结果一致。
    • 第 10 层 GDN → 第 11 层 Attention:$\Delta_{uv}=0.117$,该路径带来的增益与前一个长距离路径相当,但它只跨越一层。这表明 GR 同样能够强化短距离连接。
    • 第 0 层 MLP 同时通过两个分支传递信息:在长距离分支上,该输出传递至第 15 层,其贡献比例从不使用 GR 时的 0.008 上升至 0.058。在一个局部分支上,该输出传递至第 2 层,其贡献比例从 0.139 上升至 0.192。同一份输出能够以不同的强度传递给附近和远处的读取端。单一残差流无法表达这种差异,因为在单一残差流中,每个写入端只有一种衰减速率。

    分支 0 中典型的长距离路径可以由公式 $\eqref{eq:rcv}$ 解释:该分支在第 0 层接收了最强的写入,此后几乎不再更新,因此第 0 层的信息始终能够被后续所有层访问。此外,从 GR 分支中读取信息最多的子层主要是 Softmax Attention 层。这表明,全局注意力充当了整合显式长距离历史上下文的关键枢纽,而这些信息可能已经在 GDN 层中被压缩掉。

    为了观察整体模式,根据跨越的层数对全部 780 条路径进行分组,并在各组内对 $\Delta_{uv}$ 求和。其中,$\Delta_{uv}$ 表示相较于参考模型,GR 为路径 $(u,v)$ 额外分配的贡献比例。

    结果如下:

    • 相邻层路径(跨越 1 层):贡献比例合计增加 0.96;
    • 长距离路径(跨越超过 12 层):贡献比例合计增加 0.91;
    • 中距离路径(跨越 2–12 层):贡献比例合计减少 3.21。

    加权平均跨越距离几乎没有变化(3.97 vs 3.91)。因此,跨层信息传递的总体规模基本相似,变化主要体现在其分布方式上。GR 会选择少数特定路径并增强其作用,同时减少对中距离路径的依赖。

    7. 推理效率

    GR 的推理成本主要由拓宽残差状态所产生的内存数据传输量决定。因此,我们尝试减少需要传输的数据量。

    第一个尝试是对读取操作进行稀疏化。我们观察到,在训练完成的模型中,每个 GR 层的写入操作通常由两个分支主导。因此,我们尝试引入稀疏写入(Sparse Writes),分别从训练初始阶段或训练中途开始实施,使每个网络块只读取 Gate 值最高的两个分支,而无需读取全部 $n_r$ 个分支。在预训练阶段,Loss 和 Benchmark 表现几乎没有受到影响,但经过后训练之后,模型质量出现了明显下降,因此最终没有采用该方案。更加复杂的变体,例如让不同层采用不同的稀疏程度,也未能解决这一问题。我们将其视为一个典型例子:如果只参考预训练指标,就可能做出错误的架构设计决策。近期研究 xHC 尝试使用更大的 $n_r$,以便更容易实现稀疏分支更新。但考虑到更大的 $n_r$ 会引入额外内存开销,我们没有进一步探索这一方向。

    第二个尝试是使用 FP8 格式存储残差状态。GR、Gated Attention 和 GDN 中的 Gate 都能够限制写入残差流的数值幅度,因此残差值保持在较窄的范围内,非常适合采用低精度格式。与 BF16 相比,使用 FP8 存储残差分支,可以将残差状态的数据传输字节数减少一半,同时几乎不会造成模型质量损失。最后,我们分别将公式 $\eqref{eq:rms} - \eqref{eq:use_gate}$ 中的读取操作,以及公式 $\eqref{eq:s} - \eqref{eq:write}$ 中的写入操作融合为单个 Kernel。其中,Group RMSNorm 也被融合进读取操作。这样,每个 block 在读取和写入两个方向上,都只需要对拓宽的残差流遍历一次。

    三、N-gram Embedding

    基于 Embedding 的记忆机制提供了扩展模型容量的一个互补维度。N-gram 嵌入通过局部上下文而不仅仅是 token 标识来进行条件记忆检索,进一步推广了一元组(unigram)查找机制。具体而言,以每个 token 结尾的短 n-gram 作为嵌入表的键,并将检索得到的向量增强对应的 token 表示。N-gram memory 能够以极低的额外每 token FLOPs 扩展模型容量,同时确定性寻址使得其能够进行主机内存卸载以及异步预取。下文系统研究 N-gram embedding 的关键架构设计选择。在所有实验中,统一采用每个激活参数 300 个 token(tokens per active parameter, TPP)的设置。

    1. N-gram Embedding Layers 的位置选择

    在固定参数预算下,对 N-gram embedding layer 的位置和数量进行了消融实验。单层配置涵盖了浅层位置(Layers 1-4)、中间层位置(Layers 10 和 15)以及深层位置(Layer 25)。对于多层配置,将浅层 Layer 2 与中间层 Layer 15 或深层 Layer 25 进行组合。实验结果如表 7 所示。

    image-20261013111718596

    没有任何单一深度区域能够持续占据优势。前两层表现较强,而中间层和深层位置仍然具有竞争力。将相同的参数预算分布到多个 layer 中,并不会带来一致性的收益。结合 Layer 2 和 Layer 25 所带来的轻微 loss 降低,并没有转化为下游任务性能的提升。单个 N-gram embedding layer 已经足够。此外,在 full attention 和 GDN 设置下,不同位置的相对性能表现相似,这表明 layer 位置选择基本不受注意力机制影响。我们最终将其放置在 Layer 2,使得主机内存预取能够与第一层的计算过程进行重叠。

    2. N-gram Vocabulary Size

    进一步研究 N-gram embedding 词表规模扩展的影响。

    固定参数预算下的分配

    遵循已有工作的方法,在保持总参数量固定的情况下扩展 N-gram embedding slots,同时减少 expert 数量。结果如表 8 所示。loss 随 vocabulary size 呈现非单调变化,并在 10×(25%)时达到最低值,这与已有工作中报告的参数分配最佳点一致。不过这一最优点并未在其他评测中体现,域外(out-of-domain)的不可作弊(uncheatable)PPL 在不同预算下变化很小,下游 benchmark 也没有显示出相对于仅使用 MoE 的 baseline 有明确提升。这些结果表明,N-gram embeddings 和 MoE experts 在扩展容量方面承担着不同的作用。因此,进一步研究在保持 MoE 参数预算固定情况下的 N-gram vocabulary scaling。

    image-20261013133919864

    通过增加参数进行扩展

    由于 embedding table 具有稀疏访问和确定性寻址的特点,因此它们可以在几乎不增加每 token 计算量的情况下扩展,并存储在加速器之外的存储中。因此,可以突破固定规模设置,将 N-gram vocabulary 从 $20V$ 扩展到 $200V$,其中 $V$ 表示 Qwen3.5 的基础 tokenizer vocabulary size。结果如表 9 所示。

    image-20261013152015570

    随着 N-gram vocabulary 增大,loss 持续下降,而下游性能并没有呈现相同趋势。Vocabulary scaling 相比 baseline 带来了整体性能提升,但部分 benchmark 的性能随着 vocabulary 增大出现饱和或波动。此外,中文 benchmark(例如 C-Eval 和 CMMLU)的性能随着 N-gram vocabulary size 增加而持续提升。

    除了 vocabulary scaling 外,还探索了一系列提升 N-gram embedding 参数效率的方法,包括但不限于:用于 vocabulary 压缩的 token normalization、在不同 n-gram order 之间进行非均匀分配、基于频率划分 embedding slots。然而,在当前训练方案下,这些方法均未观察到一致性的性能提升。

    四、总结

    Qwen3.8-Flash-Next 是一个面向超长上下文和高效推理场景设计的混合架构大语言模型,其核心思想是在保持 Transformer 强表达能力的同时,通过多种结构优化降低长序列计算成本。模型采用 Hybrid Attention 架构,将传统 Softmax Attention 与 Gated DeltaNet 结合,使模型同时具备精确的长距离检索能力和高效的序列建模能力;在 Softmax Attention 层引入 Qwen Sparse Attention,通过轻量级 Indexer 预测重要 token/block,仅对 Top-K 相关区域执行 Core Attention,将长上下文 Attention 复杂度显著降低,同时通过 Dense Distillation 和 Sparse Training 保证稀疏化后的模型能力;在残差结构方面提出 Gated Residual,通过扩展多分支 Residual Stream,利用逐元素动态 Gate 学习不同层之间的信息读取路径,使模型能够保留跨层长距离信息传递能力;此外引入 N-gram Embedding 作为外部稀疏记忆机制,通过局部 token 上下文进行确定性检索,在较低计算成本下扩展模型容量。整体来看,Qwen3.8-Flash-Next 的架构设计围绕三个核心目标展开:利用 Hybrid Attention 降低长序列建模成本,利用 QSA 提升超长上下文推理效率,利用 GR 和 N-gram Embedding 增强模型的信息存储与传递能力,最终实现百万级上下文长度下兼顾性能与推理效率的大模型架构。

    Read More

    【论文解读】 DeepSeek-V4.1-Flash

    【2026-10-01】本文提出 DeepSeek-V4.1-Flash,通过 Causal Encoder-Decoder 架构、CSA2 压缩稀疏注意力配合 FP4 KV 缓存、SWA Bounded Replay 部署优化以及外挂 Engram 条件记忆模块,将全局 KV 缓存压至每 token 890 字节、持久 KV 缓存降至约 1/8,在大幅降低 Agent 负载成本的同时保持甚至提升了多模态与 Agent 场景性能。