Megatron-LM

GitHub
15.9k 3.8k 较难 1 次阅读 今天NOASSERTION语言模型
AI 解读 由 AI 自动生成,仅供参考

Megatron-LM 是 NVIDIA 推出的开源项目,专注于在大规模 GPU 集群上高效训练 Transformer 模型。它主要解决了大模型训练中遇到的显存受限、计算效率低以及分布式并行策略复杂等核心难题,让千亿甚至万亿参数模型的训练成为可能。

该项目包含两个核心部分:Megatron-LM 提供了一套完整的参考实现和预配置脚本,非常适合研究团队快速上手、学习分布式训练原理或进行实验验证;而 Megatron Core 则是一个模块化的底层库,提供了经过 GPU 深度优化的构建块,适合框架开发者和机器学习工程师用来定制专属的训练流水线。

其技术亮点在于支持多种先进的并行策略(包括张量并行、流水线并行、数据并行及上下文并行等),并全面适配混合精度训练(如 FP16、BF16 乃至最新的 FP8/FP4)。此外,它还提供了与 Hugging Face 生态双向互通的模型转换工具,极大提升了工程落地的便利性。无论是希望探索前沿模型架构的研究人员,还是致力于构建高性能训练平台的工程师,Megatron-LM 都是值得信赖的强大助手。

使用场景

某大型金融科技公司的大模型团队正试图在自建的 GPU 集群上训练一个拥有千亿参数的行业专属大语言模型,以处理复杂的合规审查任务。

没有 Megatron-LM 时

  • 显存瓶颈难以突破:单卡甚至单机显存无法容纳巨大模型参数,团队需花费数周手动编写复杂的模型切分代码,且极易出错。
  • 训练效率低下:缺乏优化的并行策略(如张量并行、流水线并行),导致多卡通信开销巨大,GPU 利用率长期低于 30%,训练周期被无限拉长。
  • 精度与稳定性风险:自行实现的混合精度训练(FP16/BF16)常引发梯度溢出或数值不稳定,导致训练中途频繁崩溃,实验迭代成本极高。
  • 生态兼容困难:训练好的模型权重格式独特,难以直接转换为 Hugging Face 格式进行部署或二次开发,阻碍了业务落地。

使用 Megatron-LM 后

  • 轻松实现大规模扩展:利用内置的张量并行(TP)、流水线并行(PP)及上下文并行(CP)策略,一键将千亿模型分布到数百张 GPU 上,无需手动重构网络结构。
  • 极致算力释放:依托 NVIDIA 深度优化的算子内核和动态上下文并行技术,将有效训练吞吐量提升数倍,显著缩短从实验到生产的时间。
  • 稳定高效的精度控制:原生支持 FP8、BF16 等先进混合精度格式,自动处理梯度缩放与数值稳定性,确保长周期训练平稳运行。
  • 无缝生态互通:通过 Megatron Bridge 工具,实现与 Hugging Face 检查点的双向无损转换,让模型训练完即可直接接入现有推理服务框架。

Megatron-LM 将原本需要数月攻坚的底层分布式训练难题,转化为可配置的工程流程,让团队能专注于模型算法创新而非基础设施修补。

运行环境要求

操作系统
  • Linux
GPU

必需 NVIDIA GPU(支持 H100 等),显存需求视模型规模而定(大规模训练需高显存),支持 FP16/BF16/FP8/FP4 混合精度

内存

未说明(源码编译时若内存不足需限制并行编译任务数 MAX_JOBS)

依赖
notes该工具主要针对大规模 Transformer 模型训练优化。推荐使用 NGC 容器或参考官方安装指南进行部署。从源码构建时消耗内存较大,若遇到内存溢出错误,可通过设置环境变量 MAX_JOBS(如 MAX_JOBS=4)来限制并行编译任务数。支持多种并行策略(TP, PP, DP, EP, CP)。
python3.12+ (即将弃用 3.10,建议升级至 3.12 以兼容未来版本)
megatron-core
uv
Megatron-LM hero image

快速开始

Megatron-LM 与 Megatron Core

面向 GPU 优化的库,用于大规模训练 Transformer 模型

文档 版本 许可证

关于

本仓库包含两个组件:Megatron-LMMegatron Core

Megatron-LM 是一个参考示例,包含了 Megatron Core 以及预配置的训练脚本。非常适合研究团队、学习分布式训练以及快速实验。

Megatron Core 是一个可组合的库,提供针对 GPU 优化的构建模块,适用于自定义训练框架。它提供了 Transformer 的基础组件、先进的并行化策略(TP、PP、DP、EP、CP)、混合精度支持(FP16、BF16、FP8、FP4)以及模型架构。最适合框架开发者和构建自定义训练流水线的机器学习工程师使用。

Megatron Bridge 提供 Hugging Face ↔ Megatron 检查点的双向转换,并配有生产就绪的配方。

快速入门

从 PyPI 安装:

uv pip install megatron-core

或从源码克隆并安装:

git clone https://github.com/NVIDIA/Megatron-LM.git
cd Megatron-LM
uv pip install -e .

注意: 从源码构建可能会占用大量内存。如果构建过程中出现内存不足的情况,可以通过设置 MAX_JOBS 来限制并行编译任务数(例如 MAX_JOBS=4 uv pip install -e .)。

有关 NGC 容器的设置及所有安装选项,请参阅 安装指南

最新动态

  • [2026/03] 弃用 Python 3.10 支持: 我们将在即将发布的 0.17.0 版本中正式停止对 Python 3.10 的支持。下游应用必须将最低兼容版本提升至 3.12,才能与 MCore 保持兼容。
  • [2026/01] 动态上下文并行化 - 通过自适应调整 CP 大小,可使变长序列训练速度提升高达 1.48 倍。
  • [2025/12] Megatron Core 开发已迁移到 GitHub! 所有开发和 CI 现在都在开源环境中进行。我们欢迎社区贡献。
  • [2025/10] Megatron 开发分支 - 提供早期访问的实验性功能分支。
  • [2025/10] Megatron Bridge - 用于 Hugging Face 和 Megatron 检查点之间互操作性的双向转换工具,附带热门模型的生产就绪配方。
  • [2025/08] MoE 2025 年第三至第四季度路线图 - 包含 DeepSeek-V3、Qwen3、高级并行化策略、FP8 优化以及 Blackwell 性能增强在内的 MoE 功能综合路线图。
  • [2025/08] GPT-OSS 模型 - YaRN RoPE 缩放、注意力汇流以及自定义激活函数等高级特性正被整合到 Megatron Core 中。
  • [2025/06] Megatron MoE 模型库 - 提供 DeepSeek-V3、Mixtral 和 Qwen3 MoE 模型训练的最佳实践与优化配置,并配有性能基准测试和检查点转换工具。
  • [2025/05] Megatron Core v0.11.0 为多数据中心 LLM 训练带来了新能力(博客)。
往期新闻
  • [2024/07] Megatron Core v0.7 提升了可扩展性和训练容错能力,并新增了多模态训练支持(博客)。
  • [2024/06] Megatron Core 新增了对 Mamba 模型的支持。请参阅我们的论文 基于 Mamba 的语言模型实证研究代码示例
  • [2024/01 公告] NVIDIA 已将 Megatron-LM 中的核心功能剥离出来,发布到本仓库的 Megatron Core 中。Megatron Core 在 Megatron-LM 的 GPU 优化技术基础上,进一步引入了更前沿的系统级优化创新,具备可组合、模块化的 API。

项目结构

Megatron-LM/
├── megatron/
│   ├── core/                    # Megatron Core(内核、并行化、基础组件)
│   │   ├── models/              # Transformer 模型
│   │   ├── transformer/         # Transformer 基础组件
│   │   ├── tensor_parallel/     # 张量并行
│   │   ├── pipeline_parallel/   # 流水线并行
│   │   ├── distributed/         # 分布式训练(FSDP、DDP)
│   │   ├── optimizer/           # 优化器
│   │   ├── datasets/            # 数据集加载器
│   │   ├── inference/           # 推理引擎与服务端
│   │   └── export/              # 模型导出(如 TensorRT-LLM)
│   ├── training/                # 训练脚本
│   ├── legacy/                  # 遗留组件
│   ├── post_training/           # 后训练处理(量化、蒸馏、剪枝等)
│   └── rl/                      # 强化学习(RLHF 等)
├── examples/                    # 即用型训练示例
├── tools/                       # 工具集
├── tests/                       # 全面的测试套件
└── docs/                        # 文档

性能基准测试

有关我们最新的性能基准测试结果,请参阅 NVIDIA Megatron Bridge 性能摘要

我们的代码库能够在数千张 GPU 上高效训练参数量从 20 亿到 4620 亿的模型,在 H100 集群上最高可达到 47% 的模型浮点运算利用率 (MFU)

模型表格

基准测试配置:

  • 词汇表大小:131,072 个词元
  • 序列长度:4096 个词元
  • 模型缩放:通过调整隐藏层大小、注意力头数和层数来实现目标参数量
  • 通信优化:与数据并行(--overlap-grad-reduce--overlap-param-gather)、张量并行(--tp-comm-overlap)以及流水线并行(默认启用)进行细粒度重叠

关键结果:

  • 6144 张 H100 GPU:成功完成了 4620 亿参数模型的训练基准测试
  • 超线性扩展:随着模型规模增大,MFU 从 41% 提升至 47%-48%
  • 端到端测量:吞吐量包括所有操作(数据加载、优化器步骤、通信、日志记录)
  • 生产就绪:完整的训练流水线,具备检查点保存和容错能力
  • 注:性能结果是在未训练至收敛的情况下测得的

弱扩展结果

我们的弱扩展结果显示了超线性扩展特性(MFU 从最小模型的 41% 增加到最大模型的 47%-48%);这是因为较大的 GEMM 具有更高的算术强度,因此执行效率更高。

弱扩展

强扩展结果

我们还对标准 GPT-3 模型进行了强扩展测试(由于词汇表更大,我们的版本参数略多于 1750 亿),从 96 张 H100 GPU 扩展到 4608 张 GPU,期间始终使用 1152 个序列的固定批大小。在更大规模下,通信开销变得更加显著,导致 MFU 从 47% 降至 42%。

强扩展

路线图

  • MoE 路线图 - DeepSeek-V3、Qwen3、高级并行化、FP8 优化以及 Blackwell 加速

资源

获取帮助

  • 📖 文档 - 官方文档
  • 🐛 问题 - Bug 报告和功能请求

参与贡献

我们非常欢迎各种形式的贡献!您可以这样参与:

  • 🐛 报告 Bug - 帮助我们提升系统可靠性
  • 💡 提出建议 - 共同塑造 Megatron Core 的未来
  • 📝 改进文档 - 让 Megatron Core 更加易用
  • 🔧 提交 Pull Request - 贡献代码改进

贡献指南

引用

如果您在研究或项目中使用 Megatron,我们非常感谢您采用以下引用格式:

@article{megatron-lm,
  title={Megatron-LM: 使用模型并行训练数十亿参数语言模型},
  author={Shoeybi, Mohammad 和 Patwary, Mostofa 和 Puri, Raul 和 LeGresley, Patrick 和 Casper, Jared 和 Catanzaro, Bryan},
  journal={arXiv 预印本 arXiv:1909.08053},
  year={2019}
}

版本历史

core_v0.16.12026/03/20
core_v0.16.02026/02/26
core_v0.15.32026/02/06
core_v0.15.22026/01/08
core_v0.15.12026/01/07
core_v0.15.02025/12/17
core_v0.14.02025/10/08
25.09-alpha.rc12025/10/03
core_v0.13.12025/08/12
core_v0.14.0rc52025/08/11
core_v0.12.32025/08/12
core_v0.14.0rc42025/08/04
core_v0.14.0rc32025/07/28
core_v0.13.02025/07/25
core_v0.14.0rc22025/07/21
core_v0.13.0rc42025/07/22
core_v0.13.0rc32025/07/17
core_v0.14.0rc12025/07/14
core_v0.14.0rc02025/07/07
core_v0.13.0rc22025/07/02

常见问题

相似工具推荐

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

139k|★★☆☆☆|今天
开发框架Agent语言模型

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|今天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|2天前
Agent图像开发框架

PaddleOCR

PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。

74.9k|★★★☆☆|今天
语言模型图像开发框架

OpenHands

OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。

70.6k|★★★☆☆|今天
语言模型Agent开发框架