MT-MegatronLM:国产训练框架逆袭!三合一并行+FP8黑科技,大模型训练效率暴涨200%

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: MT-MegatronLM 是摩尔线程推出的面向全功能 GPU 的开源混合并行训练框架,支持多种模型架构和高效混合并行训练,显著提升 GPU 集群的算力利用率。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦


"还在为千亿模型训练烧钱?国产框架让8卡GPU跑出80卡的效果!"

大家好,我是蚝油菜花。当国外大厂用天价GPU集群训练AI时,中国工程师用算法魔法实现了算力暴击!你是否正在经历:

  • 👉 训练百亿参数模型,显存爆炸导致Batch Size只能个位数
  • 👉 多模态任务中,不同数据流并行效率不足50%
  • 👉 尝试MoE架构时,专家路由拖垮整体训练速度...

今天揭秘的 MT-MegatronLM ,正在改写AI训练的游戏规则!这个由摩尔线程开源的硬核框架:

  • 三合一混合并行:模型/数据/流水线并行智能切换,GPU利用率直冲90%+
  • FP8核弹级优化:相比FP16显存占用减半,吞吐量提升200%
  • MoE专属加速:专家并行策略让稀疏训练速度提升3倍
  • 国产通信库MCCL:比NCCL延迟降低40%,8卡跑出竞品80卡效果

某NLP团队实测显示——1750亿参数模型训练时间从28天压缩到9天,省下90%算力成本!想知道如何用20行代码激活这个国产黑科技?深度解析马上开始!

🚀 快速阅读

MT-MegatronLM 是摩尔线程推出的开源混合并行训练框架,主要用于高效训练大规模语言模型。

  1. 核心功能:支持密集模型、多模态模型及混合专家模型的训练,提供高效的混合并行训练策略。
  2. 技术原理:通过模型并行、数据并行和流水线并行等技术,结合混合精度训练和高性能算子库,显著提升训练效率。

MT-MegatronLM 是什么

MT-MegatronLM

MT-MegatronLM 是摩尔线程推出的面向全功能 GPU 的开源混合并行训练框架,主要用于高效训练大规模语言模型。支持 dense 模型、多模态模型及 MoE(混合专家)模型的训练。框架基于全功能 GPU 支持 FP8 混合精度策略、高性能算子库和集合通信库,显著提升了 GPU 集群的算力利用率。

通过模型并行、数据并行和流水线并行等技术,实现了高效的分布式训练,支持混合精度训练以减少内存占用和加速计算。

MT-MegatronLM 的主要功能

  • 支持多种模型架构
    • 密集模型(Dense Models):支持传统的 Transformer 架构,如 GPT、BERT 等。
    • 多模态模型(Multimodal Models):可以处理包含文本、图像等多种模态数据的模型。
    • 混合专家模型(MoE Models):支持稀疏激活的混合专家架构,提高模型的灵活性和效率。
  • 高效混合并行训练
    • 模型并行(Model Parallelism):将模型参数分布在多个 GPU 上,突破单 GPU 内存限制。
    • 数据并行(Data Parallelism):通过在多个 GPU 上分配数据,加速训练过程。
    • 流水线并行(Pipeline Parallelism):将模型划分为多个阶段,通过流水线方式提高吞吐量。
  • 高性能优化:支持 FP8 混合精度策略,减少内存占用,加速计算。集成高性能算子库(如 muDNN),提升计算效率。使用优化的集合通信库(如 MCCL),减少通信开销。
  • 灵活的扩展性:支持从小型到超大规模模型的训练,适应不同硬件配置。优化了多 GPU 集群的并行训练,提升集群利用率。

MT-MegatronLM 的技术原理

  • 混合并行策略
    • 模型并行:将模型参数按维度切分,分配到多个GPU上,减少单卡显存占用。
    • 流水线并行:将模型划分为多个阶段,分配到不同GPU,通过微批次传递提高吞吐量。
    • 数据并行:将数据集划分到不同GPU,执行相同模型,通过All-Reduce汇总梯度。
  • 混合精度训练:使用AMP或BF16等技术,前向和反向传播中使用低精度计算,关键路径使用高精度保持数值稳定。
  • 高效优化器与梯度聚合:提供融合的Adam优化器,结合ZeRO或1-bit Adam等技术,减少通信开销,节省显存。使用All-Reduce等操作汇总梯度,确保全局梯度一致性。
  • 高性能算子库:如muDNN,针对GPU优化,提升计算效率。
  • 集合通信库:如MCCL,优化GPU间通信,减少通信开销。

如何运行 MT-MegatronLM

Installation

你可以创建一个名为 megatron_dev 的目录,并使用以下命令克隆 Megatron-LMMT-MegatronLMmegatron_dev

# Megatron-LM
git clone https://github.com/NVIDIA/Megatron-LM.git
pushd Megatron-LM
git checkout -b core_r0.9.0 core_r0.9.0
popd

# megatron-lm-musa-patch
git clone https://github.com/MooreThreads/MT-MegatronLM.git
pushd MT-MegatronLM
popd
AI 代码解读

Getting started

Llama3

cd MT-MegatronLM/examples/llama3
bash dist_run_pretrain_megatron_llama3_musa.sh
AI 代码解读

Mixtral

cd MT-MegatronLM/examples/mixtral
bash dist_run_pretrain_megatron_llama3_musa.sh
AI 代码解读

Llava

cd MT-MegatronLM/examples/llava
AI 代码解读

DeepSeekV3

cd MT-MegatronLM/examples/deepseekv3
AI 代码解读

在 deepseek-v2/v3 中,前几个密集层的 ffn-size 与 moe-ffn-size 不同。因此需要修改 Megatron 中的一些代码以支持这种情况,而不使用 GroupGEMM。

修改 Megatron 中的一些代码

Megatron-LM/megatron/core/transformer/mlp.py

在第63行添加:

if is_expert:
    ffn_hidden_size = self.config.moe_ffn_hidden_size
AI 代码解读

在第83行修改:

-         self.config.ffn_hidden_size,
+         self.config.ffn_hidden_size if not is_expert else self.config.moe_ffn_hidden_size,
AI 代码解读

Megatron-LM/megatron/core/transformer/moe/experts.py

注释第757-760行:

+      # assert (
+      #     self.config.moe_ffn_hidden_size == self.config.ffn_hidden_size
+      # ), "Please use GroupedMLP or TEGroupedMLP when moe_ffn_hidden_size is \
+      #         different from ffn_hidden_size"
AI 代码解读

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦

目录
打赏
0
18
18
1
378
分享
相关文章
【解决方案】DistilQwen2.5-R1蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践
阿里云的人工智能平台 PAI,作为一站式的机器学习和深度学习平台,对DistilQwen2.5-R1模型系列提供了全面的技术支持。无论是开发者还是企业客户,都可以通过 PAI-ModelGallery 轻松实现 Qwen2.5 系列模型的训练、评测、压缩和快速部署。本文详细介绍在 PAI 平台使用 DistilQwen2.5-R1 蒸馏模型的全链路最佳实践。
MT-TransformerEngine:国产训练核弹!FP8+算子融合黑科技,Transformer训练速度飙升300%
MT-TransformerEngine 是摩尔线程开源的高效训练与推理优化框架,专为 Transformer 模型设计,通过算子融合、并行加速等技术显著提升训练效率,支持 FP8 混合精度训练,适用于 BERT、GPT 等大型模型。
97 10
MT-TransformerEngine:国产训练核弹!FP8+算子融合黑科技,Transformer训练速度飙升300%
Java机器学习实战:基于DJL框架的手写数字识别全解析
在人工智能蓬勃发展的今天,Python凭借丰富的生态库(如TensorFlow、PyTorch)成为AI开发的首选语言。但Java作为企业级应用的基石,其在生产环境部署、性能优化和工程化方面的优势不容忽视。DJL(Deep Java Library)的出现完美填补了Java在深度学习领域的空白,它提供了一套统一的API,允许开发者无缝对接主流深度学习框架,将AI模型高效部署到Java生态中。本文将通过手写数字识别的完整流程,深入解析DJL框架的核心机制与应用实践。
73 3
DistilQwen2.5蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践
DistilQwen2.5 是阿里云人工智能平台 PAI 推出的全新蒸馏大语言模型系列。通过黑盒化和白盒化蒸馏结合的自研蒸馏链路,DistilQwen2.5各个尺寸的模型在多个基准测试数据集上比原始 Qwen2.5 模型有明显效果提升。这一系列模型在移动设备、边缘计算等资源受限的环境中具有更高的性能,在较小参数规模下,显著降低了所需的计算资源和推理时长。阿里云的人工智能平台 PAI,作为一站式的机器学习和深度学习平台,对 DistilQwen2.5 模型系列提供了全面的技术支持。本文详细介绍在 PAI 平台使用 DistilQwen2.5 蒸馏小模型的全链路最佳实践。
阿里云PAI发布DeepRec Extension,打造稳定高效的分布式训练,并宣布开源!
阿里云PAI发布DeepRec Extension,打造稳定高效的分布式训练,并宣布开源!
Diff-Instruct:指导任意生成模型训练的通用框架,无需额外训练数据即可提升生成质量
Diff-Instruct 是一种从预训练扩散模型中迁移知识的通用框架,通过最小化积分Kullback-Leibler散度,指导其他生成模型的训练,提升生成性能。
122 11
Diff-Instruct:指导任意生成模型训练的通用框架,无需额外训练数据即可提升生成质量
|
3月前
如何看PAI产品下训练(train)模型任务的费用细节
PAI产品下训练(train)模型任务的费用细节
115 6
Qwen2.5-Coder 系列模型在 PAI-QuickStart 的训练、评测、压缩及部署实践
阿里云的人工智能平台 PAI,作为一站式、 AI Native 的大模型与 AIGC 工程平台,为开发者和企业客户提供了 Qwen2.5-Coder 系列模型的全链路最佳实践。本文以Qwen2.5-Coder-32B为例,详细介绍在 PAI-QuickStart 完成 Qwen2.5-Coder 的训练、评测和快速部署。
Qwen2.5-Coder 系列模型在 PAI-QuickStart 的训练、评测、压缩及部署实践
魔搭支持在阿里云人工智能平台PAI上进行模型训练、部署了!
现在,魔搭上的众多模型支持在阿里云人工智能平台PAI-Model Gallery上使用阿里云算力资源进行模型训练和部署啦!
367 22
DistilQwen2 蒸馏小模型在 PAI-QuickStart 的训练、评测、压缩及部署实践
本文详细介绍在 PAI 平台使用 DistilQwen2 蒸馏小模型的全链路最佳实践。

热门文章

最新文章

相关产品

  • 人工智能平台 PAI