LLM2D
TorchTitan:面向生产环境的 LLM 预训练一体化 PyTorch 原生解决方案
TorchTitan: One-stop PyTorch native solution for production ready LLM pre-training
作者: Wanchao Liang, Tianyu Liu, Less Wright, Will Constable, Andrew Gu, Chien-Chin Huang, Iris Zhang, Wei Feng, Howard Huang, Junjie Wang, Sanket Purandare, Gokul Nadathur, Stratos Idreos
发布日期: 10/10/2024
arXiv ID: oai:arXiv.org:2410.06511v1

摘要

大型语言模型 (LLM) 的发展推动了自然语言处理应用的最新进展。训练具有数十亿参数和数万亿个标记的 LLM 需要复杂的分布式系统,这些系统能够组合和比较几种最先进的技术,以便在数千个加速器上有效地扩展。然而,现有的解决方案复杂,分散在多个库/存储库中,缺乏互操作性,并且维护起来很麻烦。因此,整理和经验性地比较训练配方需要非凡的工程努力。 本文介绍了 TorchTitan,这是一个开源的、基于 PyTorch 的分布式训练系统,它统一了最先进的技术,简化了集成并减少了开销。TorchTitan 以模块化方式实现 3D 并行,具有弹性扩展性,提供全面的日志记录、检查点和调试工具,用于生产就绪的训练。它还结合了硬件-软件协同设计的解决方案,利用 Float8 训练和 SymmetricMemory 等功能。作为灵活的测试平台,TorchTitan 便于定制配方整理和比较,使我们能够为 Llama 3.1 开发优化的训练配方,并根据我们的经验提供有关选择技术以实现最大效率的指导。 我们在 Llama 3.1 家族的 LLM 上对 TorchTitan 进行了全面评估,涵盖了 80 亿到 4050 亿个参数,并展示了其卓越的性能、模块化可组合性和弹性可扩展性。通过叠加训练优化,我们证明了在 128 个 GPU 规模(Llama 3.1 8B)上使用 1D 并行加速了 65.08%,在 256 个 GPU 规模(Llama 3.1 70B)上使用 2D 并行加速了 12.59%,在 512 个 GPU 规模(Llama 3.1 405B)上使用 3D 并行加速了 30%,这些都是在 NVIDIA H100 GPU 上相对于优化的基线而言的。