Optimus: Accelerating Large-Scale Multi-Modal LLM Training by Bubble Exploitation

📄 arXiv: 2408.03505v2 📥 PDF

作者: Weiqi Feng, Yangrui Chen, Shaoyu Wang, Yanghua Peng, Haibin Lin, Minlan Yu

分类: cs.CL, cs.AI, cs.DC

发布日期: 2024-08-07 (更新: 2025-06-02)


💡 一句话要点

Optimus通过挖掘LLM训练中的GPU气泡,加速大规模多模态LLM训练。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 多模态学习 大型语言模型 分布式训练 GPU优化 气泡调度 并行计算 训练加速

📋 核心要点

  1. 现有MLLM训练系统由于异构模态模型和3D并行中的复杂数据依赖性,导致GPU气泡,训练效率低下。
  2. Optimus通过在LLM气泡内调度编码器计算来减少气泡,并搜索独立的并行计划,利用气泡调度算法优化训练。
  3. 实验结果表明,Optimus在3072个GPU上使用ViT-22B和GPT-175B模型时,加速MLLM训练20.5%-21.3%。

📝 摘要(中文)

多模态大型语言模型(MLLM)已将大型语言模型(LLM)的成功扩展到多种数据类型,如图像、文本和音频,在多模态翻译、视觉问答和内容生成等各个领域取得了显著的性能。然而,由于异构模态模型和3D并行中的复杂数据依赖性导致大量的GPU气泡,现有系统在训练MLLM时效率低下。本文提出了Optimus,一种分布式MLLM训练系统,旨在减少端到端的MLLM训练时间。Optimus基于我们的原则性分析,即在LLM气泡内调度编码器计算可以减少MLLM训练中的气泡。为了使所有GPU都能进行编码器计算调度,Optimus搜索编码器和LLM的独立并行计划,并采用气泡调度算法,以在不破坏MLLM模型架构中原始数据依赖性的情况下利用LLM气泡。我们进一步将编码器层计算分解为一系列内核,并分析3D并行的常见气泡模式,以仔细优化亚毫秒级的气泡调度,从而最大限度地减少整体训练时间。在生产集群中的实验表明,与基线相比,Optimus在使用ViT-22B和GPT-175B模型在3072个GPU上训练MLLM时,加速了20.5%-21.3%。

🔬 方法详解

问题定义:论文旨在解决大规模多模态LLM(MLLM)训练效率低下的问题。现有方法由于异构模态模型(如图像编码器和LLM)以及3D并行策略中的复杂数据依赖性,导致严重的GPU气泡现象,造成计算资源的浪费和训练时间的延长。

核心思路:Optimus的核心思路是利用LLM计算过程中产生的GPU气泡,通过在这些气泡中调度编码器的计算任务来填补空闲时间,从而提高整体的GPU利用率。关键在于如何在不破坏原始数据依赖性的前提下,有效地调度编码器计算。

技术框架:Optimus的整体框架包括以下几个主要部分:1) 独立的并行计划搜索:为编码器和LLM分别搜索最优的并行策略,以最大化各自的计算效率。2) 气泡调度算法:设计一种调度算法,能够在LLM计算产生的气泡中插入编码器的计算任务,同时保证数据依赖的正确性。3) 细粒度内核优化:将编码器层计算分解为一系列更小的内核,并针对3D并行的常见气泡模式进行优化,实现亚毫秒级的气泡调度。

关键创新:Optimus的关键创新在于:1) 提出了利用LLM气泡调度编码器计算的思想,这是一种新的优化MLLM训练效率的思路。2) 设计了气泡调度算法,能够在保证数据依赖的前提下,有效地利用LLM气泡。3) 通过细粒度的内核优化,实现了亚毫秒级的气泡调度,进一步提升了训练效率。

关键设计:Optimus的关键设计包括:1) 并行计划搜索策略:具体如何搜索编码器和LLM的最优并行策略,例如使用哪些搜索算法、搜索空间如何定义等。2) 气泡调度算法的细节:如何检测和预测LLM气泡的产生,如何选择合适的编码器计算任务插入气泡中,以及如何保证数据依赖的正确性。3) 细粒度内核优化的具体方法:如何将编码器层计算分解为内核,以及如何针对3D并行的常见气泡模式进行优化。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,Optimus在生产集群中使用ViT-22B和GPT-175B模型在3072个GPU上训练MLLM时,相比于基线方法,加速了20.5%-21.3%。这表明Optimus能够显著提高大规模MLLM的训练效率,具有重要的实际意义。

🎯 应用场景

Optimus的潜在应用领域包括:大规模多模态模型的训练,例如视觉问答、图像描述、多模态翻译等。该研究的实际价值在于降低MLLM的训练成本,加速模型迭代,并促进更多创新应用的发展。未来,Optimus可以进一步扩展到支持更多模态的数据,并与其他优化技术相结合,以实现更高的训练效率。

📄 摘要(原文)

Multimodal large language models (MLLMs) have extended the success of large language models (LLMs) to multiple data types, such as image, text and audio, achieving significant performance in various domains, including multimodal translation, visual question answering and content generation. Nonetheless, existing systems are inefficient to train MLLMs due to substantial GPU bubbles caused by the heterogeneous modality models and complex data dependencies in 3D parallelism. This paper proposes Optimus, a distributed MLLM training system that reduces end-to-end MLLM training time. Optimus is based on our principled analysis that scheduling the encoder computation within the LLM bubbles can reduce bubbles in MLLM training. To make scheduling encoder computation possible for all GPUs, Optimus searches the separate parallel plans for encoder and LLM, and adopts a bubble scheduling algorithm to enable exploiting LLM bubbles without breaking the original data dependencies in the MLLM model architecture. We further decompose encoder layer computation into a series of kernels, and analyze the common bubble pattern of 3D parallelism to carefully optimize the sub-millisecond bubble scheduling, minimizing the overall training time. Our experiments in a production cluster show that Optimus accelerates MLLM training by 20.5%-21.3% with ViT-22B and GPT-175B model over 3072 GPUs compared to baselines.