Skip a Layer or Loop It? Learning Program-of-Layers in LLMs
本文介绍了“层程序”(Program-of-Layers,简称 PoLar),这是一个无需训练的框架,它通过动态跳过或循环预训练层,为每个输入创建定制化的执行路径,证明了这种灵活的推理方式相比于标准的固定深度大语言模型处理方式,在准确率和效率上都有显著提升。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你有一位非常聪明、经过预训练的机器人厨师(即大语言模型,简称 LLM),他以解决复杂问题而闻名。这位厨师有一本严格的食谱,无论制作什么菜肴,都必须遵循固定数量的步骤(层级)。
如果有人要求他“煮个鸡蛋”,他仍然会走完那套 100 步的完整大师级食谱,从切菜到调味汤品,即便煮个鸡蛋只需要一锅水。如果有人要求他“用糖建造一座城堡”,他仍然会遵循同样的 100 个步骤,即使他在中途卡住了,需要重新思考他的方法。
问题所在:
这篇论文指出,这种“一刀切”的食谱效率低下。有时,厨师会浪费时间在不必要的步骤上;有时,由于在处理难题时思考时间不足,会导致失败。
发现(“顿悟”时刻):
研究人员问道:如果厨师能在烹饪过程中随时修改自己的食谱会怎样?
他们发现,对于几乎每个问题,并不存在一种“正确”的使用厨师技能的方式。存在许多不同的“程序”(步骤序列)可以奏效:
- 跳过(Skipping): 对于简单问题(如煮鸡蛋),厨师可以跳过前 50 步,直接执行最后的 10 步。
- 循环(Looping): 对于难题(如建造糖城堡),厨师可能会卡在某个特定步骤上,通过重复该步骤几次来完善结果,然后继续进行。
研究人员使用了一种“搜索引擎”(称为蒙特卡洛树搜索,Monte-Carlo Tree Search)来寻找这些隐藏的、更好的食谱。他们发现:
- 短小往往更好: 许多问题可以用比标准食谱更少的步骤正确解决。
- 重复会有帮助: 对于难题,重复特定的步骤块(循环)通常能修复标准食谱中出现的错误。
- 混合是关键: 最好的食谱通常涉及跳过某些部分和循环其他部分的结合。
解决方案:POLAR
寻找这些完美食谱的问题在于,搜索过程耗时太长。你不能针对每个问题都要求厨师“尝试 1,000 种不同的食谱”;那会耗费太久。
因此,团队构建了一个微型、轻量级的“食谱预测器”(POLAR)。
- 它是如何工作的: 在厨师开始烹饪之前,这个预测器会观察问题并瞬间猜出最佳定制食谱。它会说:“跳过第 1-10 步,正常执行第 11-20 步,将第 21-25 步重复两次,然后跳过剩余部分。”
- 神奇之处: 主厨师(大型 LLM)本身完全没有改变。它仍然是冻结且经过预训练的。预测器只是告诉它如何针对那一特定时刻来使用其现有的技能。
结果:
当他们在数学问题上测试时:
- 准确率提升了: 厨师解决了更多问题,甚至修复了标准食谱中犯下的错误。
- 速度提升了: 在简单问题上,由于跳过了不必要的步骤,厨师完成得更快。
- 它对新事物有效: 即使在测试从未见过的数学问题时,预测器仍然知道如何调整食谱以获得良好结果。
总结:
与其强迫一个聪明的模型对每一项任务都遵循僵化、固定的路径,这篇论文教会我们如何给模型一个“遥控器”。这个遥控器让我们能够跳过无聊的部分,或者在棘手的部分按下“重复”键,从而在无需重新训练或改变其大脑的情况下,让模型变得更聪明、更快、更高效。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。