← 返回 2026-01-30

扩展嵌入参数优于扩展专家参数:语言模型中的稀疏缩放新范式 Scaling Embeddings Outperforms Scaling Experts in Language Models

Hong Liu, Jiaqi Zhang, Chao Wang, Xing Hu, Linkun Lyu, Jiaqi Sun, Xurui Yang, Bo Wang, Fengcun Li, Yulei Qian, Lingtong Si, Yerui Sun, Rumei Li, Peng Pei, Yuchen Xie, Xunliang Cai 📅 2026-01-29 👍 105 2026-07-13 08:35
Embedding Scaling Mixture-of-Experts N-gram Embedding 大语言模型 推理优化 稀疏模型

用 N-gram 嵌入替代 MoE 专家扩展,实现更优的稀疏缩放效率

前置知识

Mixture-of-Experts (MoE)

MoE 是一种稀疏激活架构,模型包含多个「专家」子网络(通常是 FFN 层),每个 token 通过路由器(Router)选择其中 Top-K 个专家进行计算。这使得模型可以拥有海量总参数(如数千亿),但每次前向传播只激活其中一小部分(如几十亿),从而在保持大容量的同时控制计算开销。例如,LongCat-Flash 每层有 256 个专家,每个 token 只选择 12 个,激活比例约 5%。

本文的核心论点是用嵌入扩展替代专家扩展,因此必须理解 MoE 的工作原理、稀疏性定义(总参数/激活参数之比)以及专家扩展面临的具体瓶颈,才能理解「为什么嵌入是更好的缩放维度」。

N-gram Embedding(N 元语法嵌入)

N-gram Embedding 是一种扩展嵌入层参数的方法,它不仅使用当前 token 的 ID 查表获取嵌入向量,还对前 $N-1$ 个 token 组成的 n-gram 序列计算哈希值,从额外的嵌入表中查找对应的嵌入向量,与原始嵌入相加。公式为 $e_i = \frac{1}{(N-1)K+1} \left[ E_0(t_i) + \sum_{n=2}^{N} \sum_{k=1}^{K} W_{n,k} E_{n,k}(H_{n,k}(t_{i-n+1},...,t_i)) \right]$,其中 $K$ 个子表通过不同哈希函数减少碰撞。这种设计让嵌入向量编码了局部上下文信息,且参数量随 $N$ 和 $K$ 的增加不变(子表大小按比例缩小)。

这是本文采用的核心技术,理解其哈希机制、子表分解方式和参数计算公式是理解全文实验设计的基础。

Per-Layer Embedding (PLE)

PLE 是另一种扩展嵌入参数的策略,它为 Transformer 的每一层分配独立的嵌入表,将嵌入输出注入到每一层的 SwiGLU FFN 中。具体做法是用嵌入向量替换 FFN 上投影矩阵的输出,即 $\text{FFN}^{(l)}(x_i) = W_d^{(l)}(\text{SiLU}(W_g^{(l)} x_i^{(l)}) \odot E_0^{(l)}(t_i))$。这种方法被 Google DeepMind 等团队采用,每个 token 在每一层都有一个独立的嵌入向量参与计算。

论文将 N-gram Embedding 与 PLE 进行了直接对比,并提出了结合两者的 PLNE 方法,理解 PLE 才能理解第 5 节的实验对比和结论。

投机解码(Speculative Decoding)

投机解码是一种推理加速技术,使用一个轻量级的「草稿模型」快速生成多个候选 token,然后用目标大模型并行验证这些 token 是否正确。如果草稿模型猜对了,就跳过逐 token 生成的瓶颈,相当于用一次前向传播验证多个 token。这在 MoE 模型中尤为重要,因为稀疏模型在小 batch 时内存带宽受限,投机解码通过增大有效 batch size 来提升硬件利用率。

论文指出 N-gram Embedding 减少了 MoE 层的激活参数,与投机解码形成天然协同,是实现推理加速的关键环节,也是 LongCat-Flash-Lite 部署的核心技术。

Hash 碰撞与词汇表大小

N-gram Embedding 使用多项式滚动哈希函数将任意长度的 n-gram 映射到固定大小的词汇表索引,公式为 $H_n(t_{i-n+1},...,t_i) = (\sum_{j=0}^{n-1} t_{i-j} \cdot V_0^j) \bmod V_n$。当不同 n-gram 映射到同一索引时就发生碰撞,导致一个嵌入向量被迫代表多个不同的语义,严重影响学习效率。论文发现当 n-gram 词汇表大小接近基础词汇表大小的整数倍时,碰撞率会急剧飙升。

论文给出了详细的碰撞分析和词汇表大小选择原则,这是实际部署 N-gram Embedding 时必须解决的工程问题。

研究动机

当前大语言模型的稀疏缩放主要依赖 MoE 架构,通过增加专家数量来扩展参数容量。然而,随着模型规模和稀疏度的提升,专家扩展面临严重的边际收益递减问题。具体而言,当总参数与激活参数之比(sparsity ratio)增大到一定程度后,每增加一个专家带来的损失下降幅度显著减小,缩放曲线呈现对数线性饱和趋势。此外,系统层面的瓶颈也日益突出:在分布式训练中,专家数量的增加导致 All-to-All 通信开销急剧上升,内存带宽压力在推理阶段(尤其是小 batch 解码场景)成为主要瓶颈。以 LongCat-Flash 架构为例,每层 256 个专家已经接近实际可行的上限,继续增加专家数量在工程上面临巨大的调度和通信挑战。这意味着我们需要寻找与专家缩放正交的、更高效的稀疏参数扩展维度。

本文的目标是本文的目标是系统性地研究嵌入层参数缩放作为 MoE 专家缩放的替代或补充方案,建立一套完整的嵌入缩放框架。具体包括:(1)定量比较嵌入缩放与专家缩放在不同稀疏度水平下的 Pareto 前沿,确定嵌入缩放的优势区间;(2)全面分析影响嵌入缩放效果的架构因素,包括集成时机、参数预算分配、哈希碰撞、超参数选择、模型宽度与深度等;(3)针对嵌入缩放带来的推理开销提出系统级优化方案;(4)基于这些发现训练一个实际的大规模模型 LongCat-Flash-Lite(68.5B 总参数,2.9B-4.5B 激活参数),验证嵌入缩放在实践中的有效性。

与已有工作不同的是,尽管最近已有研究开始探索在 LLM 中扩展嵌入参数(如 Per-Layer Embedding、N-gram Embedding 等),但现有工作存在几个关键空白。首先,嵌入参数与专家参数之间的缩放效率对比尚不清楚——在什么稀疏度下、什么模型规模下,嵌入缩放优于专家扩展?这个问题没有系统性的答案。其次,嵌入缩放的约束条件未被完整刻画:总参数预算、词汇表大小、初始化方案、模型宽度与深度如何共同影响嵌入缩放的有效性?第三,不同嵌入缩放策略(N-gram Embedding vs PLE vs 其他方法)在不同场景下的优劣对比缺失。最后,嵌入缩放改变了模型解码时的输入输出特性,对端到端推理效率的影响缺乏分析和优化。本文的独特切入角度是将嵌入缩放视为一个独立的缩放维度,与专家缩放进行系统性的 Pareto 对比分析,并首次给出了嵌入缩放何时优于专家扩展的明确判据。

核心方法

本文的方法整体思路可以概括为「先分析、再优化、后验证」三个阶段。首先,研究团队在多个激活参数规模(280M、790M、1.3B)下进行了大规模的缩放实验,对比了纯 MoE 基线与 N-gram Embedding 模型在不同稀疏度水平下的训练损失和验证损失。通过绘制完整的缩放曲线,他们发现嵌入缩放的优劣高度依赖于稀疏度水平——在低稀疏度下增加专家更有效,而在高稀疏度下嵌入缩放展现出显著优势。基于这些实验观察,他们提炼出若干设计原则:何时引入 N-gram Embedding(超过专家「甜点」之后)、参数预算上限(不超过总参数的 50%)、词汇表大小选择(避开基础词汇表的整数倍)、超参数敏感性分析等。最后,他们将这些原则应用于训练 LongCat-Flash-Lite,并通过 N-gram Cache、Kernel 融合、投机解码协同等系统优化,将理论上的参数效率优势转化为实际的推理加速。

本文的核心创新点在于揭示了嵌入参数与专家参数之间存在一个关键的「缩放交叉点」。传统 MoE 模型的损失与稀疏度呈对数线性关系,这意味着在低稀疏度区(专家数量较少时),增加专家的边际收益很高;但在高稀疏度区(专家数量已经很多时),继续增加专家的边际收益急剧下降。此时,将参数预算从专家转向嵌入层反而能获得更大的性能提升。这与已有的 Engram 等工作的发现一致(损失随 N-gram Embedding 比例呈 U 型曲线),但本文更进一步,给出了明确的定量判据:当总参数与激活参数之比超过约 20(即 N-gram Embedding 参数占总参数约 50%)时,嵌入缩放开始优于专家扩展。此外,论文发现模型宽度是影响这一交叉点的关键因素——更宽的模型允许嵌入缩放在更大的参数比范围内保持优势(在 1.3B 激活参数下,即使参数比高达 50,嵌入缩放仍然优于专家扩展)。

方法步骤详情

本文的方法分为以下几个关键步骤:(1)基准模型构建:在 LongCat-Flash 架构上训练不同稀疏度(35% 到 98%)的纯 MoE 基线模型,激活参数规模包括 280M、790M 和 1.3B,每个模型在 300B token 语料上预训练。(2)N-gram Embedding 集成:从特定稀疏度水平开始,将 N-gram Embedding 层嵌入到 MoE 模型中。具体做法是使用多项式滚动哈希函数($H_n = (\sum_{j=0}^{n-1} t_{i-j} \cdot V_0^j) \bmod V_n$)将 n-gram 映射到嵌入表,并采用 $K$ 个子表加线性投影($W_{n,k}$)来减少碰撞。(3)参数预算对齐:为每个 N-gram Embedding 模型构建参数等价的 MoE 基线(通过增加专家数量达到相同总参数量),确保对比的公平性。(4)缩放曲线绘制:在每个激活参数规模下,绘制总参数与激活参数之比(x 轴)与损失(y 轴)的关系曲线,对比 NE 曲线与 MoE 曲线的交叉点。(5)架构因素分析:系统地消融分析集成时机、词汇表大小、N 和 K 的选择、初始化策略(嵌入放大技术)、模型宽度与深度等因素。(6)推理优化:提出 N-gram Cache 机制(类似 KV Cache 的缓存策略)、定制 CUDA 内核、与投机解码的协同优化等方案。(7)大规模验证:基于上述原则训练 LongCat-Flash-Lite(68.5B 参数,其中 31.4B 为 N-gram Embedding 参数),进行完整的预训练-中期训练-监督微调流程。

技术新颖性

本文的技术新颖性体现在多个层面。首先,它是首个系统性对比嵌入缩放与专家缩放 Pareto 前沿的工作,给出了明确的定量判据和设计原则,而非仅展示单一模型的性能。其次,论文发现了「嵌入放大」(Embedding Amplification)问题——在标准初始化下,嵌入层的 L2 范数比第一个注意力模块的输出小约 10 倍,导致嵌入信号被残差流「淹没」。通过引入缩放因子 $\sqrt{D}$ 或 LayerNorm 归一化,可以有效缓解这一问题,带来一致的 0.02 损失下降。第三,论文首次发现 N-gram Embedding 的哈希碰撞率与词汇表大小之间存在强烈的非线性关系——当词汇表大小接近基础词汇表的整数倍时,碰撞率急剧上升,无论是否使用素数大小。第四,论文提出了 Per-Layer N-gram Embedding(PLNE),将 N-gram Embedding 与 PLE 结合,虽然实验中 PLNE 相比 NE 的改进有限,但这一探索为未来的工作提供了方向。最后,在系统层面,论文提出将 N-gram Embedding 的 I/O 开销与投机解码的「有效 batch size 扩大」特性相结合,实现了稀疏参数效率到实际推理速度的完整转化。

N-gram Embedding 层架构
Figure 1: N-gram Embedding 层架构
词汇表命中率与哈希碰撞分析
Figure 3: 词汇表命中率与哈希碰撞分析
不同 N 和 K 组合的超参数敏感性分析
Figure 4: 不同 N 和 K 组合的超参数敏感性分析
各层模块输出与残差分支的 L2 范数对比
Figure 5: 各层模块输出与残差分支的 L2 范数对比

实验结果

本文的核心发现可以归纳为以下几个方面。首先,在缩放曲线对比方面(Figure 2 和 Figure 6),N-gram Embedding 在高稀疏度区(总参数/激活参数比 > 约 20)展现出明确的性能优势。以 790M 激活参数为例,当参数比在 10-30 范围内时,NE 模型的训练损失比参数等价的 MoE 基线低 0.02-0.05;但当参数比超过约 40 后,NE 的优势逐渐消失,印证了「不超过 50% 参数预算给嵌入」的设计原则。其次,模型宽度对嵌入缩放的优势区间有显著影响(Figure 7a):在 280M 激活参数下,NE 的优势在参数比 > 30 后消失;在 790M 下,NE 在参数比 30 时仅在英文验证集上落后;而在 1.3B 下,即使参数比高达 50,NE 仍然保持明显优势。第三,模型深度则相反——当深度从 10 层增加到 20 层和 40 层时,NE 相对 MoE 基线的优势明显收缩(Figure 7b),这是因为残差连接中嵌入信号随深度增加而衰减。第四,嵌入放大技术(缩放因子 $\sqrt{D}$ 或 LayerNorm)将嵌入层的贡献从被注意力输出淹没的状态中恢复出来,带来训练损失和两个验证损失各约 0.02 的一致下降。第五,在超参数方面(Figure 4),当 $N \geq 3$ 且 $K \geq 2$ 时,模型对超参数选择具有鲁棒性,但 $N=2, K=1$ 的配置性能明显较差。第六,LongCat-Flash-Lite 在所有三个评估域(通用、推理、编码)上都超越了参数等价的 MoE 基线 LongCat-Flash-Lite-Vanilla,特别是在推理和编码任务上提升显著(BBH: 43.67 vs 38.54,BigCodeBench: 36.05 vs 33.42)。在与同类模型的对比中(Table 2),LongCat-Flash-Lite 在代理工具使用任务(τ²-Bench 三个子场景均排名第一)和代理编码任务(SWE-Bench 54.4 vs Qwen3-Next 的 37.6)上展现出显著优势。

LongCat-Flash-Lite 与 Vanilla 版本的基准模型评估对比
Table 1: LongCat-Flash-Lite 与 Vanilla 版本的基准模型评估对比
MoE 模型与 N-gram Embedding 模型的缩放曲线
Figure 2: MoE 模型与 N-gram Embedding 模型的缩放曲线
790M 和 1.3B 激活参数规模下的缩放曲线
Figure 6: 790M 和 1.3B 激活参数规模下的缩放曲线
不同模型宽度和深度下 NE 相对 MoE 的损失降低量
Figure 7: 不同模型宽度和深度下 NE 相对 MoE 的损失降低量
MoE 激活参数数量与解码性能对比
Figure 8: MoE 激活参数数量与解码性能对比
N-gram Embedding、PLE 和 PLNE 的损失对比
Figure 9: N-gram Embedding、PLE 和 PLNE 的损失对比
LongCat-Flash-Lite 与 Vanilla 版本的训练损失曲线
Figure 10: LongCat-Flash-Lite 与 Vanilla 版本的训练损失曲线
查看结构化数据
任务指标本文基线提升
MMLU(大规模多任务语言理解) 准确率 (acc) 85.52 Qwen3-Next-80B-A3B-Instruct: 89.28, Gemini 2.5 Flash-Lite: 84.68, Kimi-Linear-48B-A3B: 79.91 超越 Kimi-Linear 5.61 个百分点,与 Gemini 2.5 Flash-Lite 相当,略低于 Qwen3-Next
SWE-Bench(软件工程基准) 准确率 (acc) 54.40 Qwen3-Next-80B-A3B-Instruct: 37.60, Gemini 2.5 Flash-Lite: 41.3, Kimi-Linear-48B-A3B: 32.80 超越最强基线 Gemini 2.5 Flash-Lite 约 13.1 个百分点,超越 Qwen3-Next 约 16.8 个百分点
τ²-Bench Telecom(代理工具使用-电信场景) 平均分数 (avg@8) 72.80 Qwen3-Next-80B-A3B-Instruct: 13.2, Gemini 2.5 Flash-Lite: 21.93, Kimi-Linear-48B-A3B: 15.68 大幅超越所有基线,比最强基线 Gemini 2.5 Flash-Lite 高约 50.87 个百分点
TerminalBench(终端命令执行基准) 准确率 (acc) 33.75 Qwen3-Next-80B-A3B-Instruct: 15.19, Gemini 2.5 Flash-Lite: 20.00, Kimi-Linear-48B-A3B: 20.00 超越所有基线,比最强基线 Gemini 2.5 Flash-Lite 和 Kimi-Linear 高约 13.75 个百分点
AIME 2025(数学竞赛) 平均准确率 (avg@32) 63.23 Qwen3-Next-80B-A3B-Instruct: 68.44, Gemini 2.5 Flash-Lite: 50.1, Kimi-Linear-48B-A3B: 59.58 超越 Gemini 2.5 Flash-Lite 约 13.13 个百分点,超越 Kimi-Linear 约 3.65 个百分点
LongCat-Flash-Lite-Vanilla 对比(嵌入 vs 专家基线) 多基准综合 BBH: 43.67, GPQA: 29.66, DROP: 52.43, CEval: 67.21, BigCodeBench: 36.05 BBH: 38.54, GPQA: 25.37, DROP: 47.92, CEval: 64.09, BigCodeBench: 33.42 BBH +5.13, GPQA +4.29, DROP +4.51, CEval +3.12, BigCodeBench +2.63,全面超越参数等价的纯 MoE 基线

局限与改进

本文存在以下几个值得注意的局限性。首先,论文坦承当 N-gram Embedding 参数占比过高(超过总参数的 50%)时,嵌入缩放的性能会低于参数等价的 MoE 基线,这说明嵌入缩放存在一个明确的饱和区间,不能无限制地将参数分配给嵌入层。其次,论文发现模型深度增加会削弱嵌入缩放的优势——当深度超过 20 层后,NE 相对 MoE 的性能差距明显缩小。虽然作者指出当前大多数实用模型不超过 40 层(80 个常规层),但对于未来可能探索更深层架构的研究,这一限制不容忽视。第三,论文的缩放实验最大激活参数规模为 1.3B,而 LongCat-Flash-Lite 的激活参数为 2.9B-4.5B,中间存在一个缩放推断的区间——论文假设更宽模型的优势在这一区间仍然成立,但缺乏直接的实验验证。第四,N-gram Embedding 的哈希碰撞问题虽然通过子表分解和词汇表大小选择得到了缓解,但并未完全消除,碰撞率分析仅基于 100 个训练序列的统计,在更大规模训练中可能出现不同的碰撞模式。第五,论文的基线对比主要限于参数等价的 MoE 模型(LongCat-Flash-Lite-Vanilla),与其他嵌入缩放方法(如 Engram)的对比有限,Table 2 中的对比模型虽然涵盖了一些 MoE 模型,但它们的架构和训练数据差异较大,难以完全归因于嵌入缩放的贡献。此外,PLNE 方法在深度和宽度增加后未能展现出一致优势,论文选择不采用它,但未深入分析失败原因。

独立分析的弱点

从独立分析的角度来看,本文存在以下几个可改进的弱点。第一,嵌入缩放的优势高度依赖于模型宽度,但在实际工程中,模型宽度受到训练稳定性、内存占用和通信开销的多重约束,论文未给出在不同硬件条件下的宽度-深度最优配比建议。改进方向是建立一个考虑硬件约束的缩放公式,类似于 Chinchilla scaling law 但同时包含嵌入和专家两个维度。第二,论文发现 PLNE(Per-Layer N-gram Embedding)在更大模型上未能保持优势,但未进行深入的消融实验来定位失败原因——是嵌入信息在过多层中稀释了,还是投影矩阵增加了过多激活参数?改进方向是对 PLNE 的层分配策略进行更细粒度的研究,例如只在特定层(如前几层或最后一层)注入 N-gram Embedding。第三,论文的哈希碰撞分析基于多项式滚动哈希,这是一种简单的哈希函数,可能存在系统性的碰撞模式。改进方向是探索更先进的哈希函数家族(如 locality-sensitive hashing)或学习型哈希(learned hash),以进一步降低碰撞率。第四,论文未充分讨论 N-gram Embedding 对模型可解释性的影响——嵌入向量混合了多个 n-gram 的语义,这使得分析模型学到的表示变得更加困难。第五,推理优化部分的 N-gram Cache 设计细节(如缓存大小、替换策略、与 KV Cache 的协调机制)描述不够充分,难以复现。

未来方向

论文在结论和讨论中提出了几个值得探索的未来研究方向。首先是 N-gram Embedding 作为超快草稿模型的可能性——由于 N-gram Embedding 已经隐式编码了前 $N-1$ 个 token 的短程依赖信息,可以直接在其输出上附加一个轻量级线性投影层作为投机解码的草稿模型,无需额外的草稿网络。其次是「早期拒绝」策略——利用 N-gram Embedding 的表示作为外部草稿模型生成 token 的语义一致性检查,在进入昂贵的目标模型验证阶段之前,提前淘汰低置信度的候选 token。基于本文的成果,还可以延伸出以下方向:(1)将嵌入缩放与 LoRA 等参数高效微调方法结合,研究 N-gram Embedding 在微调阶段是否也能带来类似的优势;(2)将 N-gram Embedding 应用于多模态模型,探索图像 patch 或音频帧的 n-gram 嵌入是否能带来类似的缩放效果;(3)研究嵌入缩放与量化(如 INT4/INT8 量化)的协同效应,因为嵌入层的参数访问模式与 FFN 不同,可能对量化更友好;(4)探索动态 N-gram 阶数 $N$ 的自适应策略,在不同位置使用不同的 n-gram 阶数以平衡参数效率和表示能力。

复现评估

在复现性方面,本文提供了较好的开源支持。LongCat-Flash-Lite 模型已在 Hugging Face 上公开(meituan-longcat/LongCat-Flash-Lite),可以直接下载使用。论文详细描述了模型架构(14 个 shortcut layers,每层 256 个 FFN 专家 + 128 个 zero-experts,每个 token 选择 12 个专家)、训练数据(11T tokens 预训练 + 1.5T tokens 中期训练 + SFT 数据)、以及超参数选择原则($N$ 在 3-5 范围,$K \geq 2$,词汇表大小避开基础词汇表整数倍)。然而,完全复现仍面临几个挑战:(1)训练数据的具体构成和来源未公开,仅说明与 LongCat-Flash-Chat 相同的数据配方;(2)N-gram Cache 的 CUDA 内核实现细节未在论文中给出,也未在开源仓库中提供;(3)11T tokens 的预训练需要大量算力(论文使用了 8×H800-80G 集群),对于学术界来说复现成本极高;(4)缩放实验部分(280M-1.3B 激活参数,300B tokens)的代码和数据也未公开。总体而言,使用已发布的模型权重进行推理评估相对容易,但从头训练的复现难度较高。