开发与工程 ✓ NVIDIA · 官方 gpu-memorycudapytorchmegatron-bridgelorasequence-parallelismactivation-recomputedistributed-training

NeMo MBridge GPU 内存调优

诊断 Megatron Bridge 训练中的 GPU OOM,并降低碎片、激活和 PEFT 内存占用。

FollowSkills 评估 · FSRS-2.0
谨慎使用
61/ 100 五分制 3.1 / 5
信任安全19 / 25 · 3.8/5

技能仅建议环境变量和训练配置,未见恶意行为、凭据收集、隐蔽外传或破坏性默认操作;说明了NCCL、CUDA Graph、PP和LoRA适用约束,也提供了禁用配置等回退方向。因缺少明确的用户确认、变更前备份/回滚流程、依赖版本与数据流边界,扣6分。NVIDIA官方组织来源可支持归属与治理,但不额外证明安全性。

可靠稳定9 / 20 · 2.3/5

正文包含决策顺序、兼容性约束、失败症状、确认方法和诊断修复表,关键路径在静态阅读下较连贯。因依赖Megatron Bridge、PyTorch、MCore、CUDA、NCCL和特定配置,且本次未执行命令或测试,异常输入覆盖和可复现性有限;按静态上限取9分,扣11分。

适用触发11 / 15 · 3.7/5

触发词、目标用户和OOM/LoRA+SP场景较明确,并清楚列出TP、PP、VPP、CPU offloading及适用模块边界。技能不依赖海外在线服务,具备一般中文用户环境可达性;但没有中文说明,且对硬件、软件版本、模型配置和集群环境的适配范围仍不充分,扣4分。

规范维护10 / 15 · 3.3/5

文档结构清晰,包含快速决策、配置示例、约束、测量结果、故障诊断、已知限制、验证命令和Apache-2.0许可证;skill card补充了所有者、版本和维护/评估信息。因缺少明确Instructions和Examples章节、作者元数据、完整依赖安装说明、变更日志与具体维护责任,扣5分。

有效结果7 / 15 · 2.3/5

对已知Megatron Bridge训练OOM可直接给出首选配置、替代方案、性能代价和兼容性警告;正文及基准文件提供了Llama3、LoRA和CPU offloading案例。因静态审查未验证输出或实际修复,覆盖面依赖外部文档,且没有自动 profiling 或针对环境的策略选择,按静态上限取7分,扣8分。

证据核验5 / 10 · 2.5/5

包含代码锚点、测试命令、失败信息、测量表、PR编号和梯度/输出一致性声明,达到可审计的一手材料水平。因未执行测试,PR和测量结果无法在给定材料内独立复核,也缺少多来源交叉证据;按静态上限取5分,扣5分。

证据充分度: 评估于 2026年7月20日 审查版本 55f18499943e
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 不要将expandable_segments视为所有OOM的通用容量解决方案;先确认是否为碎片化,并注意其与--use-nccl-ub及部分CUDA Graph配置冲突。
  • 在生产训练前应由用户确认配置变更,并以实际GPU、CUDA、NCCL、Megatron Bridge版本和运行时指标验证;CPU offloading在PP>1时不可用,LoRA输入重聚集会增加通信和吞吐代价。
  • 基准仅包含1个正向任务且本次未执行测试,不能据此推断对其他模型、硬件或集群的普遍效果。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

该技能面向 NeMo MBridge 与 Megatron Bridge 训练任务中的 GPU 内存不足问题。它优先处理 CUDA 分配器碎片,并覆盖 LoRA 配合序列并行、激活重计算、并行度调整、分布式优化器和 CPU offloading 等方案。技能还提供理论内存估算、兼容性约束、故障诊断表和验证测试。实测结果主要来自 32 张 H100 80GB 上的 Llama3 70B 训练,以及多个 LoRA 序列并行配置。

指导用户设置 PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True,使用 Megatron Bridge 的 estimate_training_memory 估算训练内存,并根据参数、优化器、激活和临时工作区分析内存来源。它给出 TP、PP、DP、分布式优化器、FSDP 和激活重计算的调整建议,配置 LoRA(sequence_parallel_input_regather=True) 以减少符合条件的序列并行 LoRA-A 输入保留,并检查 CPU offloading、CUDA graphs、NCCL UB 和适配器类型等约束。它还提供环境变量检查、pytest 单元测试和双进程分布式回归测试命令。

  1. Megatron Bridge 训练在单个 GPU 上 OOM,但其他 GPU 仍有显存余量时,用于排查内存碎片。
  2. 使用 LoRA 或 PEFT 与 sequence parallelism 训练时,用于降低 gathered LoRA-A 输入带来的激活显存。
  3. 模型确实超出 GPU 容量时,用于比较 PP、TP、分布式优化器、FSDP 和激活重计算方案。
  4. 需要确认某次配置或提交导致 OOM 回归时,用于对照内存估算、运行时指标和配置测试。
  5. 计划启用 CPU offloading 或 CUDA graphs 时,用于检查 pipeline parallelism 与 CUDA/NCCL 兼容性。

这个 Skill 有哪些优点和局限?

优点
  • 优先推荐 expandable_segments,实测可在不改变模型或并行度的情况下解决碎片导致的 OOM。
  • 覆盖 LoRA 序列并行 input re-gather,并提供多种模型配置的显存节省和吞吐变化数据。
  • 明确说明 TP、PP、VPP、CPU offloading、CUDA graphs 和 NCCL UB 的限制与代价。
  • 包含理论估算、故障诊断、代码锚点和可复制的验证命令。
局限
  • 实测数据集中于 H100 80GB 和特定 Llama3、Qwen3、GPT-OSS 配置,不能保证其他硬件或工作负载有相同收益。
  • 理论估算不包含分配器碎片、CUDA/NCCL 工作区、CUDA graph 缓冲区、token 不均衡和 dispatcher 工作区。
  • 激活重计算和并行度调整可能带来明显吞吐损失;TP=8 的示例吞吐下降 28.4%。
  • CPU offloading 在 pipeline parallelism 大于 1 时不可用,input re-gather 也不适用于所有 LoRA 适配器。

如何安装这个 Skill?

使用仓库 README 支持的 Skills CLI 命令安装指定技能:npx skills add nvidia/skills --skill nemo-mbridge-perf-memory-tuning --yes。README 未说明其他专属安装步骤;安装后,技能会在智能体下次加载技能并遇到相关任务时可用。

如何使用这个 Skill?

向智能体描述具体训练问题,例如:“Megatron Bridge 训练出现 GPU OOM,请先检查内存碎片,再评估 LoRA + sequence parallelism 的 input re-gather 和激活重计算方案。”对于实际验证,可按技能提供的命令导出 expandable_segments 环境变量、运行 estimate_training_memory,以及执行相关 pytest 和双进程 torch.distributed 测试。

这个 Skill 与同类方案有什么区别?

与直接增加 TP 或 PP 相比,该技能优先建议处理内存碎片;实测 expandable_segments 几乎无吞吐成本,而 TP=8 吞吐下降 28.4%,PP=8 在牺牲 DP 后下降约 5.9%。与激活重计算相比,LoRA input re-gather 是显存换通信,不会重算 LayerNorm、attention、MLP 或 LoRA GEMM。VPP 主要用于减少 pipeline bubble,不应作为主要内存修复手段。

常见问题

这个技能会自动修改训练任务吗?
源材料显示它提供配置建议、命令和诊断步骤;没有说明会自动修改或提交训练配置。
expandable_segments 是否总能解决 OOM?
不能。如果模型状态或激活确实超过容量,需要调整 PP、TP、分布式优化器或激活重计算;该设置还与 --use-nccl-ub 不兼容。
LoRA 的 input re-gather 适用于所有序列并行情况吗?
不适用。它只覆盖符合条件的非 expert column-parallel LoRA-A 投影;TP=1、row-parallel 或 expert adapter、CUDA graphs、CPU activation offload 等情况会回退到现有路径。

同仓库的其他 Skills

均来自 NVIDIA/skills

开发与工程 ✓ NVIDIA · 官方

Megatron Bridge 激活重计算

在 Megatron Bridge 中用额外计算换取更低的 GPU 激活内存占用。

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge CPU Offload

为 Megatron Bridge 配置、验证并排查 CPU 卸载,以缓解 GPU 显存压力。

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge 分层上下文并行

帮助在 Megatron-Bridge 中启用、排查并验证分层上下文并行。

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge MoE VLM 训练指南

帮助选择并调优 MoE 视觉语言模型的 FSDP 与 3D 并行训练方案。

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge CUDA 图优化

在 Megatron Bridge 训练中配置、验证并评估 CUDA Graph,以降低主机驱动开销。

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge 配方推荐器

根据模型、GPU规模和训练目标推荐可调整的Megatron Bridge配方。

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge 并行策略指南

为 Megatron Bridge 训练选择、组合并核验并行策略。

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge MoE 专家并行重叠

为 Megatron-Bridge 配置、验证并排查 MoE 专家并行通信重叠。

开发与工程 ✓ NVIDIA · 官方

Megatron FSDP 配置与性能指南

帮助在 Megatron-Bridge 中启用、排查并验证 Megatron FSDP。

开发与工程 ✓ NVIDIA · 官方

Megatron-Bridge 通信重叠调优指南

帮助分布式训练用户配置并验证 TP、DP 与 PP 通信重叠。

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge MoE 性能优化工作流

系统化定位并优化 Megatron Bridge 中 MoE 训练吞吐瓶颈。

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge 训练助手

帮助运行 Megatron-LM 与 Megatron Bridge 训练并核对损失曲线。

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge 训练韧性

为 Megatron Bridge 分布式训练启用故障恢复与挂起检测。

自动化与运维 ✓ NVIDIA · 官方

NeMo MBridge 多节点 Slurm 助手

将单节点 MBridge 脚本转换为多节点 Slurm 作业,并诊断启动、NCCL 与 MoE 显存问题。

开发与工程 ✓ NVIDIA · 官方

NeMo AutoModel 配方开发

帮助构建、修改和验证 NeMo AutoModel 训练与评估配方。

开发与工程 ✓ NVIDIA · 官方

CuTile 自动调优指南

为 CuTile GPU 内核设计、实现并验证低开销的自动调优流程。

自动化与运维 ✓ NVIDIA · 官方

Jetson 软件包与环境助手

为 Jetson 选择匹配架构的容器与 GPU 软件包。

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge MoE 长上下文训练

为 Megatron Bridge 的长上下文 MoE 训练提供并行配置、重计算与性能调优建议。

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge 序列打包

为 Megatron-Bridge 配置并验证序列打包与长上下文训练。

自动化与运维 ✓ NVIDIA · 官方

Megatron-LM 集群训练启动助手

帮助你在 SLURM GPU 集群上可靠启动、监控和排查多节点 Megatron-LM 训练任务。

相关 Skills