Galvatron: An Automatic Distributed System for Efficient Foundation Model Training
作者: Xinyi Liu, Yujie Wang, Shenhan Zhu, Fangcheng Fu, Qingshuo Liu, Guangming Lin, Bin Cui
分类: cs.DC, cs.AI, cs.LG
发布日期: 2025-04-30
🔗 代码/项目: GITHUB
💡 一句话要点
Galvatron:用于高效训练大模型自动分布式系统
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 分布式训练 大模型 并行策略 自动化 深度学习
📋 核心要点
- 现有分布式训练框架在选择最优并行策略时面临复杂性,需要专家知识和大量实验。
- Galvatron通过自动搜索和优化混合并行策略,结合多种并行技术和重计算,实现高效训练。
- 实验表明,Galvatron在不同集群上实现了比现有框架更高的吞吐量,并提供易用的接口。
📝 摘要(中文)
Galvatron是一个用于高效训练大规模基础模型的分布式系统。它通过自动识别最高效的混合并行策略来克服选择最优并行策略的复杂性,该策略结合了数据并行、张量并行、流水线并行、分片数据并行和序列并行,以及重计算。该系统的架构包括一个用于硬件和模型分析的分析器、一个使用决策树和动态规划进行策略优化的搜索引擎,以及一个用于高效执行这些策略的运行时。在各种集群上的基准测试表明,与现有框架相比,Galvatron具有更高的吞吐量。这个开源系统提供用户友好的界面和全面的文档,使复杂的分布式训练变得易于访问和高效。Galvatron的源代码可在https://github.com/PKU-DAIR/Hetu-Galvatron获取。
🔬 方法详解
问题定义:大规模基础模型的训练需要大量的计算资源和时间,而现有的分布式训练框架在选择合适的并行策略时面临挑战。手动选择和配置数据并行、张量并行、流水线并行等策略非常复杂,需要大量的专家知识和实验,效率低下。因此,如何自动地选择和优化并行策略,以实现高效的大模型训练是一个关键问题。
核心思路:Galvatron的核心思路是自动化并行策略的选择和优化。它通过构建一个包含硬件和模型信息的分析器,以及一个基于决策树和动态规划的搜索引擎,自动地搜索最优的混合并行策略。这种方法避免了手动选择和配置并行策略的复杂性,并能够根据不同的硬件和模型特点,选择最合适的策略。
技术框架:Galvatron的整体架构包括三个主要模块:分析器(Profiler)、搜索引擎(Search Engine)和运行时(Runtime)。分析器负责分析硬件资源和模型特性,为策略搜索提供信息。搜索引擎基于分析器的结果,使用决策树和动态规划算法搜索最优的混合并行策略。运行时负责高效地执行搜索到的并行策略,并进行资源管理和任务调度。
关键创新:Galvatron的关键创新在于其自动化的并行策略搜索和优化能力。与传统的需要手动配置并行策略的框架不同,Galvatron能够自动地根据硬件和模型特点,选择最优的混合并行策略。这种自动化能力大大降低了分布式训练的复杂性,提高了训练效率。
关键设计:Galvatron的搜索引擎使用了决策树和动态规划算法来搜索最优的并行策略。决策树用于快速筛选出有潜力的策略,而动态规划用于在这些策略中找到最优解。此外,Galvatron还支持多种并行技术,包括数据并行、张量并行、流水线并行、分片数据并行和序列并行,以及重计算技术,以进一步提高训练效率。具体的参数设置和损失函数等细节取决于具体的模型和任务。
🖼️ 关键图片
📊 实验亮点
Galvatron在多个集群上进行了基准测试,结果表明其吞吐量优于现有的分布式训练框架。具体的数据和提升幅度在论文中进行了详细的展示。通过自动选择和优化并行策略,Galvatron能够充分利用硬件资源,实现高效的大模型训练。
🎯 应用场景
Galvatron可应用于各种需要大规模模型训练的领域,例如自然语言处理、计算机视觉和语音识别。它可以帮助研究人员和工程师更高效地训练大型模型,从而加速相关领域的研究和应用。此外,Galvatron的开源特性使其能够被广泛使用和改进,促进分布式训练技术的发展。
📄 摘要(原文)
Galvatron is a distributed system for efficiently training large-scale Foundation Models. It overcomes the complexities of selecting optimal parallelism strategies by automatically identifying the most efficient hybrid strategy, incorporating data, tensor, pipeline, sharded data, and sequence parallelism, along with recomputation. The system's architecture includes a profiler for hardware and model analysis, a search engine for strategy optimization using decision trees and dynamic programming, and a runtime for executing these strategies efficiently. Benchmarking on various clusters demonstrates Galvatron's superior throughput compared to existing frameworks. This open-source system offers user-friendly interfaces and comprehensive documentation, making complex distributed training accessible and efficient. The source code of Galvatron is available at https://github.com/PKU-DAIR/Hetu-Galvatron.