[博客翻译]Meta如何大规模训练大型语言模型


原文地址:https://engineering.fb.com/2024/06/12/data-infrastructure/training-large-language-models-at-scale-meta/


随着我们专注于解决越来越复杂的AI问题,一个显著且具有挑战性的转变是训练大型语言模型(LLMs)所需的计算规模。过去,我们的AI模型训练通常涉及大量小型模型,这些模型需要相对较少的GPU来运行。比如,推荐系统(如新闻推送和排名算法)会处理大量信息,以提供精准的推荐,支撑着我们的大部分产品。

然而,随着生成式人工智能(GenAI)的到来,训练任务转向了少数几个大型任务。这意味着我们需要重新思考软件、硬件和网络基础设施如何协同工作,以支持这种大规模的计算需求。

大规模模型训练的挑战主要包括:

  1. 硬件可靠性:确保硬件稳定,减少因故障导致的中断。这需要严格的测试、质量控制和自动化故障检测和修复机制。

  2. 快速恢复:即使采取了预防措施,硬件故障仍会发生。一旦发生,我们需要迅速重启并重新初始化训练。

  3. 训练状态持久化:在故障后能继续从上次中断的地方开始,这就需要定期保存训练状态,并高效存储和检索数据。

  4. GPU间高效通信:大规模训练中,GPU间的数据同步至关重要。任何部分GPU间的通信延迟都可能拖慢整个过程,因此需要高性能网络和优化的数据传输协议。

为了应对这些挑战,Meta在基础设施各层进行了创新:

  • 训练软件:引入PyTorch等开源工具,加速研究到生产环境的转换,开发新的大规模训练算法,并整合新的软件工具和框架。

  • 调度:使用复杂算法合理分配资源,根据任务需求动态调整,确保资源利用率最大化。

  • 硬件:升级硬件性能,针对GenAI优化配置,包括GPU的大小、带宽和I/O能力。例如,Meta对Grand Teton平台进行了改造,增加GPU功率和内存容量。

  • 数据中心部署:重新考虑资源布局,如电力、冷却和网络,以最大化计算密度。

  • 可靠性:设计故障检测和恢复策略,保持足够的冗余资源,减少停机时间。

  • 网络:选择适合的高速网络技术(如RoCE和InfiniBand),并优化通信策略以适应大规模训练需求。

13.png

  • 存储:投资高容量、高速的存储解决方案,满足模型训练的数据需求。

未来,Meta将面临更大规模的GPU使用、更大数据量和更长距离的挑战,同时采用新技术并不断进化基础设施。在这个过程中,Meta将继续探索未知,推动AI技术的边界。