Runtime-Orchestrated Second-Order Optimization for Scalable LLM Training
本文介绍了 Asteria,这是一个运行时系统,它通过将优化器状态动态分布到异构内存层级,并将昂贵的预条件计算与关键的 GPU 训练路径解耦,从而降低开销并加速收敛,进而为大语言模型实现实用且可扩展的二阶优化。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在尝试教一个巨大且超级聪明的机器人(大型语言模型)写故事。为此,你需要一位“老师”(优化器),它能审视机器人的错误并告知其如何改进。
目前,大多数老师使用一种名为AdamW的简单方法。这就像一名学生检查作业,看到几个错误答案后,做出快速的小幅修正。它速度快且效果良好,但要变得真正出色,需要大量的练习(数百万个示例)。
还有一种更聪明、更先进的老师方法,称为二阶优化(如 SOAP 或 Shampoo)。这位老师不仅查看哪里错了,还会分析错误的形态,从而深入理解问题。它学习速度快得多,且需要的示例更少。然而,这里有一个巨大的弊端:这位聪明的老师极其沉重。它需要海量的内存和计算能力来执行复杂的数学运算,常常导致计算机崩溃,或者运行速度慢到让那位简单的老师反而先完成了任务。
引入 Asteria:聪明的“物流经理”
牛津大学的研究人员构建了一个名为Asteria的新系统。不妨将 Asteria 视为一位全新的老师,而是一位杰出的物流经理,它重新组织了整个教室,使得聪明的老师最终能够在不破坏学校运作的前提下开展工作。
以下是 Asteria 如何利用简单的类比解决三大难题:
1. “小房间里的家具”问题(内存)
问题所在:聪明的老师需要在脑海(GPU 显存)中保存巨大且复杂的图表(矩阵)。在普通计算机上,空间远远不够。这就像试图将一张特大号床、一张餐桌和一个衣柜塞进一间单身公寓。房间被塞满,老师不得不放弃。
Asteria 的解决方案:Asteria 扮演了一位折叠家具专家的角色。它意识到老师并不需要一次性将所有东西都拿在手中。
- 它将图表中最活跃的部分保留在 GPU(书桌)上。
- 它将那些沉重且较少使用的部分移至 CPU(走廊)甚至硬盘(车库)。
- 关键在于,它仅在确有需要时,才将这些沉重部分重新搬回书桌。这使得聪明的老师即使在微型笔记本电脑上,也能像在超级计算机上一样高效工作。
2. “交通堵塞”问题(速度)
问题所在:每隔几步,聪明的老师就必须执行一次庞大而复杂的计算(就像解决一个巨型拼图)来更新其图表。这耗时很长,并导致整个班级停工。这就像一辆送货卡车在卸载单个包裹时堵住了整条高速公路。GPU(计算机的大脑)只能闲置等待。
Asteria 的解决方案:Asteria 引入了一条并行流水线。
- 它不再为了进行繁重的数学运算而让主课堂停摆,而是将“重体力活”派往后方办公室(CPU)的一个工作团队。
- 当主课堂(GPU)继续教导机器人时,后方办公室的工作人员正在后台默默解决复杂的拼图。
- 等到主课堂需要新图表时,后方办公室早已完成并将它们滑送过来。主课堂无需停顿,“交通堵塞”随之消失。
3. “群聊”问题(分布式训练)
问题所在:当使用多台计算机同时训练时,每个人通常必须停下来,确认完全一致的信息后才能进入下一步。这就像在一个群聊中,所有人都必须等待最慢的那个人回复,之后才能再次输入。
Asteria 的解决方案:Asteria 采用了一种"足够好"的策略。
- 它不再等待所有人完美同步,而是允许计算机在短时间内使用略微“陈旧”(稍有过时)的信息。
- 它仅在真正必要时才发送更新。
- 这使得团队能够保持高速运转,就像一支互相信任的团队,在继续工作的同时稍后同步更新,而不是每五分钟就停止整个项目。
结果:他们发现了什么?
研究人员在真实硬件上测试了 Asteria,包括一台强大的单机(Nvidia DGX Spark)和一个大型计算机集群(Nvidia GH200)。
- 它能在小型机器上运行:他们能够在单台机器上训练一个大型语言模型(10 亿个参数),而该机器此前无法处理这位聪明老师所需的内存。
- 实时速度更快:由于它隐藏了“交通堵塞”,即使数学运算更复杂,训练完成所需的实际时钟时间也更短。
- 节省能源:通过保持计算机大脑(GPU)处于忙碌状态,不让其因等待计算而闲置,Asteria 实际上比旧有的笨拙方法使用更少的总能耗就能达到相同的结果。
- 不损失质量:模型的训练效果与使用“原生”(未优化)的聪明老师一样好,但它能以更快、更便宜的方式达成目标。
总结:
Asteria 并没有发明新的数学公式。相反,它重新思考了计算机如何运行这些数学运算。它将繁重的体力劳动与主要工作分离,明智地利用所有可用的存储空间,并允许计算机异步工作。这将一种“理论上很棒但实践中不可能”的方法,转变成了训练下一代 AI 的实用工具。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。