跳过一层还是循环它?LLM中的“层程序”学习
大型语言模型(LLM)通常以固定深度和顺序执行所有层,但最新研究揭示了另一种可能性:无需额外训练,预训练层可像模块一样被跳过或循环,为每个输入动态定制执行程序。来自马里兰大学等机构的研究团队在ICML 2026上发表的论文《Skip a Layer or Loop It? Learning Program-of-Layers in LLMs》中提出了PoLar(Program-of-Layers)方法,证明对于大多数输入,更短的执行路径就能达到甚至超越原始模型的准确率,而原始模型的错误预测有时也能通过更少层的替代程序得到纠正。
核心发现:推理存在多条有效路径
传统LLM推理遵循固定层序,但PoLar发现,预训练模型中潜藏着多种有效的“程序化”执行方式。例如,对于简单问题,模型可能只需前几层就能给出正确答案,跳过后续层反而能避免噪声干扰。更令人惊讶的是,当原始完整推理给出错误结果时,一个跳过某些层或重复某些层的替代程序(使用更少层)却可能产生正确输出。这表明LLM的推理能力并非完全依赖于所有层的顺序执行,而是存在多条“潜伏”的计算路径。
方法:轻量级预测网络动态调度
为了实现PoLar,研究者设计了一个轻量级的PoLar预测网络,它接收输入(如数学问题的嵌入),输出一个执行程序——即指示哪些层被跳过、哪些层被重复的指令序列。该预测网络本身很小,附加在原始LLM上,通过强化学习或监督学习(论文未明确具体训练方式,但提及“学习生成执行程序”)来优化。在数学推理基准(如GSM8K、MATH)上,PoLar不仅提升了准确率,还常常减少了平均执行层数,且在分布外数据上表现稳健。
意义与启示
这项研究挑战了“固定深度推理”的默认假设。它暗示LLM的推理能力可能远未被充分利用——标准前向传播只是众多可能路径的一种。PoLar提供了一种训练无关的优化手段,即无需微调原始模型,仅通过动态调度即可提升性能。这对于资源受限的部署场景尤其有价值:在保持或提升精度的同时减少计算开销。
此外,PoLar的可解释性也值得关注:通过分析模型对哪些层跳过或循环,研究者或许能洞察不同层在推理中的角色。例如,某些层对特定类型的问题至关重要,而其他层则可能冗余。
局限与展望
目前PoLar主要在数学推理任务上验证,其在更广泛任务(如文本生成、对话)上的表现尚待探索。此外,预测网络本身需要额外训练,虽然轻量,但仍需考虑训练成本。未来工作可能包括将PoLar扩展到更大模型(如GPT-4规模),或结合剪枝、蒸馏等技术进一步压缩。
总之,PoLar为LLM推理提供了一种全新的视角:动态、可变深度的计算,而非一刀切的固定流程。这或许是迈向更高效、更智能AI系统的重要一步。