Qwen3 FSDP CI 改用动态 token 批处理,超时测试降至 2295 秒
建议快速浏览该 PR,重点学习其验证方法:先定位 micro-batch 爆炸根因,再通过实测 token 上限边界(32768 通过、65536/100000 OOM)确定安全值,最后用 unpinned main CI 全量验证。这种『根因-边界-全链路验证』的排查思路值得借鉴;但变更本身仅为测试参数,无需精读。
标签列表
聚合结果
Qwen3 FSDP CI 改用动态 token 批处理,超时测试降至 2295 秒
建议快速浏览该 PR,重点学习其验证方法:先定位 micro-batch 爆炸根因,再通过实测 token 上限边界(32768 通过、65536/100000 OOM)确定安全值,最后用 unpinned main CI 全量验证。这种『根因-边界-全链路验证』的排查思路值得借鉴;但变更本身仅为测试参数,无需精读。
树内化 AMD Triton 注意力桥,修复 ROCm FSDP 导入失败
值得精读。该 PR 是一个教科书式的“构建期隐蔽故障根治”案例:先定位根因(零上下文补丁按行号落点 + `--unidiff-zero` 关闭保护 + 3way 回退失效),再选择删除 overlay 而非重新生成补丁,并用构建期导入检查与 CPU 单元测试双保险防止复发。阅读重点可放在 `_build_model_with_attn_bridge` 的 gating 逻辑、`ALL_ATTENTION_FUNCTIONS` 注册模式,以及测试中通过 `object.__new__` 隔离 actor 的构造技巧。
原始 PR · 作者 Zhichenzzz · 合并时间 2026-08-14 11:52
修复全 MoE 配置缺 intermediate_size 导致 FSDP 训练崩溃
值得精读。重点看 `flops_utils.py` 中“按需校验 + 显式拒绝”和 `actor.py` 中“非关键指标失败即降级”的防御性设计;同时留意 `except Exception` 的粒度是否过宽,以及测试是否应该在 GPU E2E 上补一条回归验证。
原始 PR · 作者 Zhichenzzz · 合并时间 2026-08-13 01:47
按设备峰值计算 MFU,修复 FSDP 缺失吞吐指标并上线看板
值得精读。该 PR 的工程判断密度高:分子分母同落盘保证指标可审计、保持 train-step 口径避免异步误导、未知设备“不猜默认值”、阈值从常量演进为可配置 flag,都是可复用的可观测性设计模式。重点看 `device_flops.py` 的整词匹配实现、`flops_args_from_hf_config()` 的容错层级,以及 review 中三次“实测数据推翻默认假设”的往复——它们展示了如何用真实运行数据校准一个看似合理的常量。
原始 PR · 作者 Zhichenzzz · 合并时间 2026-08-12 10:49
重组训练后端文档,FSDP 升为一等后端
值得精读。对使用者,training-backend.md 是选型和配置 Megatron/FSDP 的权威入口,尤其 FSDP 一节此前从未按代码事实完整写过;对维护者,建议把该页纳入涉及 FSDP 参数、并行或 checkpoint 的 PR 的改动清单。更值得借鉴的是本 PR 的工作方式:以代码为唯一事实源撰写文档,并在写作过程中反哺修复了 4 个真实缺陷。注意页面按修复后的状态编写,阅读时需结合 #2384/#2386 的变更理解 flag 现状。
原始 PR · 作者 Zhichenzzz · 合并时间 2026-08-12 09:33
修复 FSDP --config 不生效并拒绝未知键
值得精读:这是 CLI 配置优先级设计的一个小而完整的范例。重点看两点:一是 set_defaults + 二次解析如何在不引入自定义比对逻辑的情况下实现 CLI > YAML > dataclass;二是用首次 parse 的 vars(args) 作为已知键全集,天然覆盖 extra_args_provider 扩展键。若后续要为其他后端引入 YAML 配置,可直接复用这套模式。
原始 PR · 作者 Xinyu-Kang · 合并时间 2026-08-12 09:04
修复 ROCm 上 FSDP 混合分片并重新启用 CI
值得快速精读,特别是 build_fsdp_meshes 的分支写法。亮点在于按能力而非版本选择 API,避免对 ROCm 的 PyTorch 版本硬编码;但它依赖 hasattr 探测私有接口,长期看可在注释中写明 _unflatten 的等价语义(二维 mesh 的 rank 映射),或考虑抽象一个 mesh factory 统一两条路径。建议在后续 FSDP 重构中保留双方等价性的回归测试。
修复 store_true 覆盖 FSDPArgs 布尔默认值
值得精读。这个 PR 展示了如何用 dataclass 反射驱动 CLI 测试,确保“源码单一事实来源”不漂移,并借助 `BooleanOptionalAction` 干净地解决布尔默认值与可关闭性冲突。防御性修复的写法(提前拦截 `default_factory`、遍历字段而非硬编码名单)也值得在类似 CLI 生成场景中借鉴。