开发与工程 ✓ NVIDIA · 官方 megatron-bridgeactivation-recomputegpu-memory-optimizationfp8-trainingcuda-graphsdistributed-training

Megatron Bridge 激活重计算

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

FollowSkills 评估 · FSRS-2.0
不推荐
59/ 100 五分制 3.0 / 5
信任安全18 / 25 · 3.6/5

内容仅指导训练配置、环境变量和测试命令,未见恶意行为、凭据窃取、隐蔽外传或破坏性默认操作;提供了兼容性约束和故障修复方向。扣分原因是未明确用户确认、变更回滚、数据流/敏感数据处理、依赖锁定或执行隔离;来源锚点主要是仓库内部文件,归属与许可证信息虽有但不足以证明全部技术主张。

可靠稳定9 / 20 · 2.3/5

配置字段、约束、典型断言和故障诊断表相互一致,且给出单元测试命令和可诊断错误信息。静态审查上限限制为10;扣分因为未执行测试,关键路径依赖未随技能提供,且性能命令使用省略号,无法仅凭文件完整复现。

适用触发11 / 15 · 3.7/5

面向Megatron Bridge训练工程师,触发词、适用场景、选择性到全层重计算顺序、非适用约束和主要替代方案较清楚。扣分因为模块可用性与模型架构相关,缺少更广泛输入边界和负向触发证据;没有中文说明,也未证明在中国大陆网络环境中的文档可达性,不过核心操作看起来是本地配置。

规范维护10 / 15 · 3.3/5

文档包含快速决策、配置示例、兼容性、实测结果、代码锚点、故障诊断、限制、验证和卡片元数据;卡片声明Apache 2.0、所有者、版本和验证信息。扣分因为缺少推荐的Instructions和Examples章节,Benchmark指出作者元数据缺失,维护更新路径和变更记录不完整,且存在对外部文档和仓库路径的未随技能交付依赖。

有效结果7 / 15 · 2.3/5

技能直接给出可复制的配置片段、优先级顺序、CUDA graph绕过方式和症状到修复的映射;随附的单任务评测报告显示正确性和有效性有正向结果。静态校准将分数限制在7;扣分因为没有本次独立执行,实测只覆盖特定Llama3 70B/FP8/H100配置,不能证明其他架构或模块下结果可直接适用。

证据核验4 / 10 · 2.0/5

包含代码文件路径、行号锚点、结构化实验条件与结果,并附有评测报告和验证命令。静态上限为5;扣分因为证据主要是仓库自述和单个内部任务,缺少可核验的提交内容、完整测试套件或多来源独立复现,因此关键性能与兼容性结论只能有限验证。

证据充分度: 评估于 2026年7月20日 审查版本 55f18499943e
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 实测结果仅适用于给定的Llama3 70B、FP8、H100和并行配置;不要将约3 GB节省或约16%性能损失泛化到其他模型。
  • 执行full重计算前必须核对CUDA graph scope、recompute_method和recompute_num_layers;建议先确认配置并保留原配置以便回滚。
  • 技能依赖Megatron Bridge/Megatron-Core源码、外部文档和测试环境,当前材料未证明这些依赖在目标环境中可用。
  • 未提供中文文档或大陆网络可达性证据。
查看完整评分方法 →

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

该技能指导用户在 Megatron Bridge 中配置、验证和排查选择性或全层激活重计算。它说明如何通过丢弃前向激活并在反向传播时重算来降低显存使用,并比较不同模块的内存收益与计算代价。技能覆盖 CUDA Graph、FP8、序列并行、流水线并行和 CPU offloading 等兼容性限制。文档中的实测结果显示,MLP 重计算可节省约 3 GB 峰值显存,但在指定 Llama3 70B 工作负载上带来约 16% 的性能损失;该案例的实际 OOM 原因是内存碎片。

指导代理设置 selective 重计算及 recompute_modules,或设置 full 重计算所需的 recompute_method 和 recompute_num_layers;通过性能 harness 命令运行基准;检查 CUDA Graph、FP8、sequence parallel 和 pipeline parallel 配置;根据 OOM、性能下降、断言错误及 CPU offloading 冲突诊断故障;提供配置校验测试命令和成功标准。

  1. 正在训练 Megatron Bridge 模型、因激活显存压力需要降低峰值占用的工程师。
  2. 希望先尝试低计算代价方案,并按 core_attn、layernorm、mlp 等模块逐步增加重计算的训练工程师。
  3. 调查修改 recompute 配置后出现 OOM、性能回退或 CUDA Graph 断言错误的开发者。
  4. 在 FP8 或 Transformer Engine CUDA Graph 配置下,需要判断选择性重计算与全层重计算是否兼容的性能工程师。
  5. 需要评估 CPU offloading 与激活重计算取舍、且正在使用或避免流水线并行的用户。

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

优点
  • 提供 selective 与 full 两种粒度的明确配置示例。
  • 列出各重计算模块的相对计算代价和显存收益。
  • 覆盖 FP8、CUDA Graph、sequence parallel 和 pipeline parallel 等关键限制。
  • 包含实测性能、峰值显存、故障症状和修复方向。
  • 提供配置校验测试命令。
局限
  • 模块选择不是自动完成的,用户必须自行判断。
  • 不同模型架构和隐藏维度的显存收益差异很大。
  • MLP 重计算可能造成显著吞吐下降;示例工作负载中约为 16%。
  • layernorm 单独重计算通常几乎不能解决 OOM。
  • 技能未提供完整的环境安装、硬件矩阵或独立的性能测试结果之外的平台验证。

如何安装这个 Skill?

使用仓库 README 提供的 skills CLI 安装方式:npx skills add nvidia/skills --skill nemo-mbridge-perf-activation-recompute --yes。CLI 会提示安装目标;技能目录应放入所选 Agent Skills 客户端的技能目录。README 未提供该单个技能的手动目标路径。

如何使用这个 Skill?

在已加载该技能的代理中提出相关任务,例如:“在 Megatron Bridge 中为激活显存压力配置 selective recompute,并检查 FP8 CUDA Graph 兼容性。”典型配置为 cfg.model.recompute_granularity = "selective" 和 cfg.model.recompute_modules = ["core_attn"];全层配置还需设置 recompute_method 和 recompute_num_layers。可用 uv run python scripts/performance/run_script.py ... --recompute_modules core_attn,layernorm ... 运行性能测试,并用 uv run python -m pytest tests/unit_tests/training/test_config.py -k "recompute" -q 验证配置。

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

技能明确将选择性/全层激活重计算与 CPU offloading 进行比较:CPU offloading 避免重计算成本,但在 PP > 1 时不兼容。它还建议先使用 PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True 排除内存碎片问题。

常见问题

这个技能适合解决所有 GPU OOM 吗?
不适合。它主要针对激活显存压力;示例中的实际 OOM 原因是内存碎片,因此应先尝试 expandable_segments 配置。
应该先使用 selective 还是 full 重计算?
通常先使用 selective,并从 core_attn 开始;只有选择性重计算仍无法满足显存需求时,才考虑 full。
full 重计算为什么会触发 CUDA Graph 断言?
全层重计算要求 CUDA Graph scope 为 full_iteration;TE-scoped scope 会触发断言。可改用 selective、禁用 CUDA Graph,或使用 local 加 full_iteration。
CPU offloading 能否替代重计算?
可以作为替代方案,但 cpu_offloading=True 与 PP > 1 不兼容。

同仓库的其他 Skills

均来自 NVIDIA/skills

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge GPU 内存调优

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

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge MoE 性能优化工作流

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

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge MoE VLM 训练指南

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

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge CUDA 图优化

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

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge CPU Offload

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

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge MoE 长上下文训练

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

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge 配方推荐器

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

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge 分层上下文并行

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

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge 训练助手

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

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge 并行策略指南

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

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge MoE 专家并行重叠

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

开发与工程 ✓ 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 · 官方

Megatron-LM 集群训练启动助手

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

自动化与运维 ✓ NVIDIA · 官方

NeMo MBridge 多节点 Slurm 助手

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

开发与工程 ✓ NVIDIA · 官方

NeMo MBridge 序列打包

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

自动化与运维 ✓ NVIDIA · 官方

TAO Kubernetes 作业运行

通过 Kubernetes 提交和监控带 NVIDIA GPU 的 TAO 训练作业。

开发与工程 ✓ NVIDIA · 官方

NeMo AutoModel 分布式训练配置

为 NeMo AutoModel 选择并配置多 GPU 与多节点训练策略。

相关 Skills