Compute Where it Counts: Self Optimizing Language Models
本文介绍了自优化语言模型(SOL),该框架将冻结的大语言模型与轻量级策略网络相结合,通过调整稀疏性、剪枝和量化来动态地为每个令牌分配可变计算预算,从而相较于静态分配策略显著提升了推理质量与效率。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在驾驶汽车进行长途旅行。大多数当前的人工智能模型(大型语言模型)采用“设定后遗忘”的策略来完成这段旅程:无论是在平坦空旷的高速公路上巡航,还是在陡峭崎岖的山路上爬坡,它们对每一英里都使用完全相同的燃油量和发动机功率。
本文介绍了一种名为自优化语言模型(SOL)的新系统。SOL 不像固定发动机设置那样驾驶,而是像一个智能的副驾驶驾驶员,不断检查前方路况,并逐刻调整发动机功率。
以下是其工作原理,分解为简单概念:
1. 问题:“一刀切”的发动机
当前的人工智能模型一次生成一个单词(或“词元”)。为了节省成本和能源,工程师们构建了使模型“轻量化”的方法:
- 忽略部分上下文:仅查看最重要的先前单词(就像忽略背景噪音)。
- 修剪大脑:关闭模型内部处理中当前不需要的部分。
- 降低精度:使用更少的小数位进行数学运算(就像四舍五入数字)以加快速度。
问题在于,这些方法通常对每一个单词应用相同的“轻量化”程度。
- 错误:如果人工智能正在写一个简单的词如“的”,它却使用重型、高精度的发动机,这是在浪费能源。如果它正在写一个复杂的词如“量子”,它可能正在使用一个轻量、粗糙的发动机,从而导致错误。
2. 解决方案:智能“副驾驶”(策略)
作者在主人工智能模型中添加了一个微小的、轻量级的“副驾驶”(一个小型神经网络)。
- 主模型:这是重型、冻结的发动机。它懂得如何说话和思考,但不会自行更改设置。
- 副驾驶:这是新添加的部分。在生成单词的每一步,副驾驶都会观察主模型正在思考的内容(其“隐藏状态”),并问道:“下一个单词会有多难?”
基于这个答案,副驾驶切换开关以选择适当的努力程度:
- 简单的词? 降低功率(使用更少的内存、降低精度、忽略更多上下文)。
- 困难的词? 提高功率(使用全精度、查看更多上下文、保持所有大脑部分活跃)。
3. 训练:通过“如果……会怎样?”来学习
你如何教导副驾驶做出这些瞬间决定?你不能让它随意猜测并观察是否失败,因为这会破坏文本。
相反,作者使用了一种巧妙的训练技巧,称为反事实(或“如果……会怎样”场景):
- 他们给人工智能一个句子让其完成。
- 他们连续生成完全相同的句子 16 次。
- 在这 16 次尝试中的每一次,他们强制副驾驶做出不同的一组选择(例如,“尝试在第 1 步偷懒”,“尝试在第 2 步超级小心”)。
- 他们比较结果:哪一组选择在消耗最少能源的同时产生了最佳句子?
- 副驾驶从这种比较中学习,意识到:“啊,我本应该在第 12 步节省精力,而不是在第 1 步。”
4. "KV 污染”警告
论文指出了一种棘手的副作用。如果你过于激进地关闭发动机部分,可能会在汽车的内存中留下“脏”数据(称为KV 污染)。即使你后来将发动机恢复到全功率,这些脏数据也会扰乱未来的预测。
为了解决这个问题,SOL 以短促的爆发(称为回合)工作。每 16 步,它会进行一次快速的“进站”休息,将内存清理回原始状态,然后再开始下一个爆发。这确保了汽车不会因早期做出的懒惰决定而在 later 发生崩溃。
5. 结果:更高的每加仑里程数
作者在各种人工智能模型上测试了这种方法(从 10 亿参数的小模型到 80 亿参数的大模型)。
- 发现:当他们要求人工智能使用特定数量的能源(即“预算”)时,SOL 副驾驶始终比仅使用固定设置的模型产生质量更高的文本。
- 类比:如果你有 10 加仑汽油的预算,一辆固定设置的车可能带你行驶 200 英里。而 SOL 汽车通过为每一座山丘和每一个山谷完美换挡,用同样的 10 加仑汽油带你行驶 215 英里。
总结
在关键处计算旨在教导人工智能停止像机器人那样以相同的方式做所有事情。相反,它学会成为一个聪明的驾驶员,知道何时滑行、何时全力加速,确保每一单位的计算能力都恰好花在最需要的地方。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。