Prhub

radixark/miles · 标签视图

标签列表

聚合结果

megatron 相关 PR

2026-09-01
性能优化 重要性 6.89 洞察度 5.00

gpu 模式重排交接顺序,缓解 GB300 主机内存峰值

值得精读。核心看点是 `train.py` 中 handoff 重排的先后顺序论证,以及 `rollout_manager` 细粒度 offload API 如何与 `offload_rollout_level` 配合达到语义自洽。由于没有单测,建议结合 #2706 的 e2e 验证上下文阅读,并关注后续是否补强测试,尤其是 `cpu` 模式下 `onload_weights` 新增 guard 的兼容性测试。

功能 重要性 9.36 洞察度 6.00

DSv4 双后端可选,对齐 Megatron 权重契约,恢复训练

值得精读。该 PR 展示了三类可借鉴的设计决策:一是用显式 raise 替代静默 fallback,杜绝用户不知情的实现漂移;二是通过统一 checkpoint 命名契约让两种实现共享同一数据源,并用 `assert_checkpoint_is_current` 做防御性拒绝;三是利用已有的原子更新组把分散参数在导出时重新聚合(`_packed_alphas` 的 bucket 传递),是分布式 checkpoint 转换中优雅的处理方式。PR body 中关于 tid2eid、SwiGLU clamp、MTP replay 等调试细节也极具参考价值。

缺陷修复 重要性 7.70 洞察度 5.00

disk-delta 基线校验张量 dtype/形状,拒绝非规范布局

值得精读。核心设计是“规范化校验前置 + 集合通信错误同步”:在分布式训练中,source rank 的校验错误不能立即抛出(会中断 collectives),通过 `all_gather_object` 聚合后再统一失败,是一个可复用的模式。dtype 映射表的做法(safetensors 不暴露 torch dtype 编码器)也值得注意。建议关注点:移除 fallback 后的兼容性边界、未来新 dtype 的扩展点、以及错误聚合的通信开销。

2026-08-31
性能优化 重要性 7.79 洞察度 6.00

policy 前向保留模型精度,按块上转 FP32 省显存

值得精读。核心看点是“延迟上转”模式:把整张 logits 的 FP32 物化推迟到 chunk 粒度,配合 Megatron `fp32_output` 开关实现显存近一个数量级的下降;另一个值得借鉴的细节是把温度缩放放到 FP32 上转之后再做,避免模型精度下的舍入误差,并用 atol=1e-6 的等价性测试固化。fp16 placeholder 的 `sum(dtype=torch.float32)` 防溢出写法也建议在其它 loss 占位处复用。若团队后续要统一 1F1B 路径,可参考本 PR 的 `fp32_output` 透传设计。

2026-08-30
性能优化 重要性 6.57 洞察度 7.00

清空 TE 量化缓存,offload 省 45% 主机内存流量

本 PR 值得精读。diff 极小(+32/-1),但有两层学习价值:一是 PR body 展示了如何用“每元素字节数 × 模块数”做理论测算并与实测对照(91%/96% 兑现率),并清晰量化了 MXFP8 与 NVFP4 两种布局的成本差异;二是评审者的收敛过程说明——默认开启的开关配 assert 会误伤无关配置(bf16 + CUDA graphs),以及跨后端共享工具中 Megatron 特定逻辑的放置取舍。可作为 offload 前释放派生缓冲的性能优化参考模板。

2026-08-29

#2739 feat: dist_muon offloading in megatron

原始 PR · 作者 Zhichenzzz · 合并时间 2026-08-29 09:16

功能 重要性 9.03 洞察度 7.00

为 Muon 优化器新增 NVMe 磁盘状态卸载,规避主机 OOM

值得精读。核心设计决策有三个:其一,不重写 DistOpt 分桶/写回逻辑,而是子类化 `ChunkedOptimizerStateOffloader` 只覆盖分配器,用最小改动复用 Megatron 既有的 chuncked restore、`assert_master_weights_resident` 和 prefetch 钩子;其二,利用文件页可回收性而不是简单扩内存,从内核语义上解决 OOM;其三,用 tensor 标记 + `msync` 与 Megatron checkpoint 协议对齐,避免全量重分配和不可归因的写回。这些模式对任何“把显存/内存压力转移到磁盘”的需求都有借鉴价值。

2026-08-28
基础设施 重要性 5.53 洞察度 5.00

删除过时的 ROCm Megatron patch,修复镜像构建

该 PR 值得精读,尤其是了解如何处理上游依赖变更导致的构建失败。关键设计决策是删除死代码而不试图修复补丁,这基于对当前 tree 的检查。对于维护者,应关注后续是否有替代方案处理 Megatron 内部行为变化。

2026-08-25
重构 重要性 7.68 洞察度 7.00

升级 Megatron-LM 至 20260819 并全面适配 API 变更

值得精读。这是"大版本依赖升级如何控制风险面"的样板:以 base bump only 为边界、用显式禁用隔离未适配特性、把大特性拆成 follow-up PR。重点阅读 `miles/backends/megatron_utils/arguments.py` 中的数值决策注释与 `model.py` 中 MTP loss tracker 适配模式,以及 `update_weight/common.py` 的命名正则。同时建议关注 #2734 回退 `MEGATRON_BRANCH` 的原因,评估当前 bump 是否需补丁修缮。