注意力也按 token 选参数:NESTOR 把专家路由嵌进列路由,同算力下预训练损失更低
核心概要
混合专家(MoE)Transformer 只在多层感知机上做条件计算,每个 token 仍要经过全部注意力参数。NESTOR 把同样的路由思路搬到注意力上:每个 token 先被分到若干“列”,每列有自己的注意力和专家,两层稀疏按层级嵌套。在 100M 到 1B 活跃参数的语言模型预训练中,达到相同留出损失时 MoE 需要 1.13–1.29 倍算力,稠密模型需要 3.1–4.1 倍,且这一倍数随规模增大没有缩小趋势。
深度剖析
条件计算不再只发生在多层感知机上,注意力算子本身也按 token 选择参数和上下文。 此前的 MoE Transformer 把每个 MLP 换成多个专家、每个 token 只激活少数专家,但每一层里所有 token 仍共用同一套注意力参数。 在 100M、200M、500M、1B 四个活跃参数规模上,NESTOR 的留出损失都低于同稀疏度的 MoE 和稠密基线;按拟合的损失-算力曲线外推,最大规模处 MoE 达到 NESTOR 损失约需 1.22 倍算力,稠密模型约需 4.1 倍。
每个 token 先由列路由器分到少数几列,每列自带注意力和一组专家,列内再选专家。 列路由在每个由 M 层组成的块入口处计算一次,块内各层沿用同一组列,因此一次选择同时决定了用哪些注意力参数、看哪些 token、以及后续用哪些专家。 实验用 C=8 列,活跃列数随深度从首块 3 列升到末块 8 列;训练数据为 DCLM-baseline,上下文长度 4096,每个活跃参数训练 50 个 token,并与使用全因果注意力的 MoE 和稠密基线比较。
启示与展望
已展示的范围是 100M 到 1B 活跃参数的语言模型预训练、四个目标域的持续预训练以及 4k 到 64k 的上下文扩展,评价指标均为留出交叉熵;作者提出下一步应检验算力倍数在更大规模上是否保持,以及后训练后能否体现在标准基准等下游任务上。
作者指出最大模型只有 1B 活跃参数,且全部以留出损失评价;理论分析针对的是单层、线性注意力、平方损失下的简化模型,作者称其复现了预训练算力效率、随上下文长度增长的优势和更少的遗忘,但这是风格化设定下的结论。
