Prhub

radixark/miles · 标签视图

标签列表

聚合结果

ppo 相关 PR

2026-09-16
功能 重要性 9.18 洞察度 7.00

新增 Tinker 每批损失选择、5 种目标函数与 per-datum 输出

建议精读。最值得关注的三处设计决策:(1) `tinker_losses.py` 的「服务端只做 raw sum、归一化交给客户端」模型,以及 `loss_normalizer` 与执行 batch size 解耦的理由;(2) `_sum_loss_and_outputs` 在“无监督 token 的 microbatch”上用 `logits.sum(dtype=torch.float32) * 0` 保持计算图连通的 NaN 防御写法,以及 per-datum 输出 detach 到 CPU 以规避 recompute 重复追加的设计;(3) `forward_only` 复用同一条 loss pass 而不是另起实现,这是消除双实现漂移的关键取舍。阅读时建议同时对照 review 中“零掩码测试无法验证目标函数”与“per_datum 命名空间污染”两条评论,它们分别解释了最终测试矩阵与 `loss.py` 守卫的由来;并把 nanjiangwill 关于 O(KN) 全池同步的评论作为独立待办跟踪。

2026-09-03
功能 重要性 7.05 洞察度 6.00

为 PPO 训练的 bridge 模式增加 critic 模型支持,修复权重加载冲突并更新文档。

此 PR 值得精读。它是一个针对性强的功能增强,解决了 PPO 训练路径中的一个具体限制。其设计亮点在于:1) 通过“值头隐藏机制”(`_hide_critic_value_head_from_hf_load`)优雅地解决了权重加载冲突,该模式可复用于未来类似场景;2) 将 critic 构建逻辑对齐到已有路径(raw/custom),保持了代码一致性。关注点在于该机制的健壮性以及 PPO+Bridge LoRA 组合未经测试的边界条件。对于负责 PPO、模型后端或检查点加载的工程师,理解此次变更及其设计决策尤为有用。

2026-09-02
缺陷修复 重要性 7.16 洞察度 5.00

修复 session R3 增量逻辑,让 abort 模式正常工作并规范 partial_rollout 校验

此 PR 是一个高质量、范围明确的 bug 修复。它解决了一个导致特定有效配置(session-server + abort)无法运行的关键问题,逻辑清晰,测试覆盖全面。其核心改动(`server.py` 中一行,`arguments.py` 中几行)虽小,但影响的是会话管理与路由重放的核心路径。对于参与 session 管理、rollout 或参数系统开发的工程师,建议精读此 PR,尤其是 `use_addition_r3` 的派生逻辑变更和 `retract` 警告的考量。

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 的兼容性测试。

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
功能 重要性 8.26 洞察度 6.00

CSR 采样掩码表示与 rollout→trainer 传输契约落地

值得精读。重点学习两点:一是 codec 中通过 `ROLLOUT_SAMPLING_MASK_FIELDS` 从默认 allowlist 排除新字段、保持 payload 字节级向后兼容的策略;二是 CSR 掩码完整生命周期管理(append 校验、prefix 截断、merge 补观察 token、reset 清空)。建议合入前确认工具调用路径的强制 token 掩码覆盖,并在 #2596 落地 e2e 后回看数据流完整性。

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

#2788 docs: add the GLM-5.3-Flash RL recipe page

原始 PR · 作者 Zhichenzzz · 合并时间 2026-08-28 03:44

文档 重要性 3.65 洞察度 3.00

新增 GLM-5.3-Flash RL 配方文档页并接入导航

常规文档 PR,无需精读代码,但建议:1) 用 2 分钟浏览页面结构与 #2786 的对应关系,确认命令和镜像版本;2) 在 #2786 合并时做一次同步复核,避免文档与实现漂移。值得借鉴的是「文档先行 + 版本固定 + 验证范围声明」的写法,适合作为后续新模型配方文档的模板。