Meta最近发布了一份全面的研究报告,详细说明了在训练具有4050亿参数的Llama 3模型时遇到的重大挑战。该训练在由16,384个Nvidia H100 GPU组成的集群上进行,历时54天,期间系统经历了419次意外故障,平均每三小时出现一次。值得注意的是,这些故障中有超过一半与GPU及其高带宽内存(HBM3)相关。
Meta的Llama 3.1开源模型发布后引起了广泛关注,用户对训练数据的来源、合成数据的比例、缺乏专家混合架构(MoE)、后期训练和人类反馈强化学习(RLHF)过程、以及模型评估方法等多个方面充满好奇。此外,大家对Llama模型的未来,尤其是即将推出的Llama 4及代理技术的进展,充满期待。
在确定该大型语言模型参数规模时,Meta考虑了多种因素,包括规模法则、训练时长和硬件限制。研究显示,采用平衡的方法可以在规模法则和总训练令牌的限制下优化推理效率。Llama 3.1以4050亿参数的数量成为一强有力竞争者,可以与GPT-4媲美。尽管最终目标尚未实现,但进展显著,未来模型将进一步扩展。
Chinchilla论文强调训练数据令牌总数的重要性,认为在有限的计算能力约束下,模型参数与训练令牌的最佳比例至关重要。为了提高推理效率,Meta选择增加训练令牌的数量及其持续时间,从而提升在开源社区的采纳度。
尽管与Llama 2在架构上相似,Llama 3在数据规模和质量上取得了重大改进,数据集从2万亿令牌增长到15万亿令牌。当前模型开发的趋势是通过后期训练改进基准评分,然而模型评估仍然是一个尚未解决的研究挑战。过拟合的风险令人担忧,可能阻碍性能提升在相似能力之间的迁移。Llama 4模型的训练于6月启动,预计将重点关注代理技术。
在Llama 3的训练过程中,频繁的故障归因于其庞大的规模和高同步性,单个GPU的故障可导致整个训练过程中断。在419次意外故障中,约58.7%与GPU相关,包括各种NVLink问题。考虑到Nvidia H100 GPU在重负载下运行,也不足为奇的是,只有三起故障需要人工干预,其余问题均自动解决。
为了最大化有效训练时间,Llama 3团队实施了自动集群维护,确保超过90%的训练时间得以高效利用。Meta开发了多种工具和优化策略,如缩短任务开始和检查点时间、利用PyTorch的内置NCCL飞行记录器,以及识别滞后GPU。NCCLX在故障检测和定位中发挥了关键作用,尤其是与NVLink和RoCE相关的问题。
在训练过程中,数千个GPU的电力消耗波动对数据中心的电力需求构成了重大挑战。Meta必须确保其数据中心能够为Llama 3及更大规模的未来模型提供足够的电源。环境因素也影响了训练性能;例如,在Llama 3训练期间,温度变化导致GPU的动态电压和频率调整,造成吞吐量的轻微波动。
在16,384个H100 GPU上,平均每天发生7.76次故障,而装备有10万个H100 GPU的xAI Memphis超级计算机,其故障率可能更高。随着AI模型参数数量的不断增加,对计算资源的需求相应扩大。尽管面临这些挑战,Meta展示了强大的故障管理能力和在大规模AI训练中提升效率的能力,为未来训练更大规模模型打下了坚实基础。