循环Transformer为什么不能无限加深:MoE循环超过两次的失效机制

作者:rousong2026.11.04 12:19浏览量:0

简介:混合专家模型与循环Transformer的结合看似能同时获得参数扩展与深度收益,但真实训练中却常出现激活方差爆炸、损失不可逆突刺等问题。本文从定义出发,分析循环MoE的结构原理、两步后的不稳定性来源、典型表现与适用边界,帮助读者理解为什么循环超过两次并非简单的算力问题,而是数值与路由机制层面的系统性限制。

什么是循环MoE:从两个基础概念说起

要理解“循环超过两次会怎样”,首先需要明确两个基础概念:循环Transformer与混合专家模型。

循环Transformer并不是一种新的模型类别,而是对Transformer层的一种复用策略。标准Transformer通常堆叠若干层,每层拥有独立参数;循环Transformer则让同一组层被重复执行多次,每一轮都以前一轮的输出作为输入。这种设计的目标很直接:在不显著增加参数量的前提下,增加模型的计算深度,从而提升表达能力和抽象能力。

混合专家模型则是一种稀疏激活的神经网络架构。它由多个专家子网络和一个路由器组成。每次处理输入时,路由器会根据当前输入特征选择少数几个专家进行计算,而不是让所有专家都参与。这样可以在扩大总参数规模的同时,控制实际的计算开销。

循环MoE是两者的组合:模型不是反复执行同一组稠密层,而是反复使用同一个专家池。每一轮循环都会重新经过路由器,为当前表示重新选择专家。从设计意图上看,MoE提供了额外的参数容量,循环提供了额外的计算深度,二者理论上是一种互补关系。但论文实验显示,这种组合在循环次数增加时并不稳定。

循环超过两次的实验现象

研究者做了一个直接而克制的实验:将一个已经训练好的MoE模型原样改为循环执行,不额外引入归一化、门控或正则化改动,只逐步增加循环次数,观察模型行为。

结果在循环次数达到6次、9次、12次时非常一致:模型内部激活值的方差迅速增大,部分层激活方差膨胀到1000甚至2500以上。与此同时,训练损失出现剧烈上升,且这种上升不是暂时波动,而是持续恶化,最终进入无法通过继续训练恢复的状态。论文用“不可逆的损失突刺”来描述这一现象。

这一结果说明,循环MoE并不是简单地“多循环几次就更好”。在第二步之后,模型的数值稳定性开始被破坏,而不是继续获得深度收益。

为什么会在两次之后出问题

循环MoE的不稳定性可以从三个层面理解:激活方差累积、路由选择漂移和梯度传播困难。

第一,激活方差累积。Transformer每一层都会对输入的数值尺度产生一定影响。在标准堆叠结构中,不同层有各自的参数,层之间可以通过参数初始化策略和归一化层来控制和调整尺度。但在循环结构中,同一组层被反复使用,相当于同一个变换被连续应用多次。如果该变换存在轻微数值放大倾向,多轮循环后会形成指数级放大效应。激活方差从接近1逐步增长到上千,正是这种连续复合效应的典型表现。

第二,路由选择漂移。循环MoE每一轮都会重新执行路由选择。前一轮输出经过同一专家池处理后,其特征分布可能已经发生变化。路由器面对这种逐渐偏离初始分布的特征,可能做出越来越极端的选择——例如持续选择同一组专家,或在不同轮次间频繁切换。这种漂移会进一步放大激活分布的方差,并降低不同循环轮次之间的表征一致性。

第三,梯度传播困难。循环结构在反向传播时,梯度会沿着时间步展开。同一组参数的梯度会被多轮共享,导致梯度幅值被反复放大。对于MoE结构而言,路由器与专家网络之间的梯度耦合进一步增加了数值不稳定的风险。当梯度与激活同时出现大幅波动时,优化过程很难恢复到稳定状态。

这与普通循环Transformer的关键区别

普通循环Transformer同样存在循环深度增加后的优化困难,但其不稳定性通常表现为梯度消失或优化停滞,而激活方差爆炸的程度相对可控。原因在于稠密层参数共享使得每轮变换相对平滑,且可以通过层归一化进行一定约束。

循环MoE的不同之处在于,每一轮循环都加入了离散路由决策。路由选择本质上是非光滑操作:同一个输入在不同轮次可能被分配给完全不同的专家组合。这种离散切换使得循环过程不再是一个简单重复的连续变换,而是一种带决策分支的迭代过程。连续变换的微小数值偏差,可能在每次路由后进入完全不同的计算路径,从而在极短时间内累计成显著偏差。

因此,循环MoE在两步之后出现剧烈不稳定,不是单纯因为“循环太深”,而是因为稀疏激活与循环重用之间的交互方式导致数值控制更加困难。

典型表现与识别方法

在实际开发过程中,如果工程师尝试在MoE结构上增加循环次数,可以通过以下信号识别是否已经进入不稳定区间:

  • 激活方差统计值在某一循环轮次后突然上升,例如从个位数跳变到三位数;
  • 训练损失在某个轮次后出现一次性大幅上升,并且后续难以回落;
  • 专家被选择的频率分布出现明显偏斜,例如绝大多数输入被分配到极少数专家;
  • 不同循环轮次输出之间的相似度显著下降。

这些表现通常先于最终训练失败出现,可以作为早期预警。若观察到上述现象,通常意味着当前循环配置本身已经不适合继续增加深度。

可行的缓解方向

需要指出的是,循环MoE并非完全不可用,但需要额外的工程干预。常见方向包括在循环之间引入更严格的数值控制,例如在每轮循环后加入重归一化或尺度约束;对路由器的输出增加正则化,避免过度集中选择;或者采用课程学习思路,逐步增加循环次数而非直接设置较大深度。

此外,也可以通过改变路由策略来降低离散决策的不稳定性,例如使用软路由、温度退火或多轮一致性约束。这些方法的目标并不是完全消除路由选择的稀疏性,而是让不同轮次之间的路由行为更加平滑可预测。

适用边界与工程启示

循环MoE在固定两次或较少次数的配置下,仍可作为一种参数效率较高的模型结构使用。其核心优势在于,通过复用专家池来提升模型容量,而不必为每个深度级别重新训练额外参数。

但这一结构并不天然适合无限加深。当循环次数继续增加时,数值不稳定性会迅速取代表达能力成为主要瓶颈。对于希望获得更深模型能力的团队而言,将资源投入更宽的专家池、更合理的路由机制或额外的数值稳定性设计,通常比单纯增加循环次数更务实。

从更一般的角度看,这个案例也说明:循环复用与稀疏激活虽然各有优势,但它们的组合会引入新的系统性问题,需要在结构设计阶段就加以评估,而不是在训练失败后再被动调整。循环Transformer与MoE结合后,为什么循环超过两次就会训练失败?