Prhub

verl-project/verl · 标签视图

标签列表

聚合结果

trainer 相关 PR

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

FSDP 引擎跳过温度为 1 时的全词表 logits 缩放,降低峰值内存。

建议精读。这是一个小范围但设计精良的性能优化 PR。它清晰地识别了一个可以安全跳过的计算(温度=1 时的恒等缩放),通过引入清晰的辅助函数和状态传递实现了优化,同时配套了完备的测试和容错处理。其“识别并跳过 no-op”的优化思路和“保持兼容性”的实现方式,对于处理类似场景具有参考价值。

2026-08-28
缺陷修复 重要性 5.71 洞察度 4.00

增大合成 padding 序列长度,适配上下文并行

本 PR 是关键的 bugfix,建议阅读 padding_utils.py 中的相关实现,理解为何较小的 padding 序列在 CP 下会导致问题。关注其未配套测试的风险,可在后续 PR 中补充覆盖不同 CP 大小的测试用例。

功能 重要性 6.93 洞察度 5.00

FSDP 延迟梯度同步新增开关,实际默认改为 false

值得精读,尤其是 `_gradient_sync_context` 的 `getattr` 兼容写法与配置默认值在数据类/YAML 两层的分歧。建议关注合入后默认值调整的决策背景(内存优先),并留意后续是否有统一默认值的跟进 PR。

2026-08-27
缺陷修复 重要性 6.90 洞察度 6.00

动态 micro-batch 强制 max_token_len 上限

值得精读。这是对训练显存控制核心逻辑的修正,关键设计是“用循环提高 micro-batch 数并重切分”与“先 all_reduce 再抛错防止死锁”,以及把约束错误从 assert 升级为显式 ValueError。建议关注 while 循环在最坏情况下的收敛性,以及 DP 间同步条件下强制组与 micro-batch 数的兼容性边界。

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

统一进程组初始化后端为 cpu:gloo+设备后端

该 PR 值得精读,作为理解 veril 分布式初始化 back-end 处理的一个好例子。建议关注以下几点:1. 分离后端字符串的构造方式,以及如何将 CPU 操作显式路由到 Gloo。2. 如何通过对齐 ray 版本实现一致性,体现了代码复用和一致性设计。

2026-08-25
功能 重要性 8.71 洞察度 5.00

新增配置驱动的 checkpoint 保存回调钩子

值得精读。设计上有三个可借鉴点:null-object 模式省去调用点空值守卫、fail-fast 语义保证 checkpoint 副作用不静默失败、`**kwargs` 与 no-op 基类为未来扩展事件预留兼容性。评审中“不碰 deprecated trainer、删冗余 UT”的收敛也值得学习。计划在 verl 上做 checkpoint 上传/注册/评估接入的团队可直接照此实现。

性能优化 重要性 7.84 洞察度 6.00

接入 Liger 融合算子,actor 更新提速 13.53%、显存降 5.56%

值得精读。重点看 FusedLinearForPPO.forward 的可选依赖降级模式、2D/3D 形状保真处理,以及 test_experimental_torch_functional_on_cpu.py 中 FakeLiger 的 dispatch 验证方式。若团队在 GPU 上使用 fused kernel,建议合入后跑一次 H100 短训练回归;若维护 NPU/其他硬件栈,需确认 Liger 内核在目标硬件上的可用性。

2026-08-21
功能 重要性 9.00 洞察度 7.00

separate_async 训练空闲 GPU 借给生成,wall clock 提速 12.6%

值得精读,尤其是两个设计点:① 自适应阈值调度——用「滞回步进 + 连续步数释放」的最小状态量避免频繁切换,并用滑动窗口切换成本 + 静态 scaling factor 建模收益,是资源借调类功能的经典范式;② 在 vLLM 无 KV-only release API 的约束下,用 `sleep(2)+wake_up(tags)` 组合近似目标语义,并把替代路径以 TODO 形式传递给上游,体现了务实的上游协同方式。对计划优化 separate_async 资源利用率、或在自研 rollout 引擎上做「借卡」能力的工程师,本 PR 是很好的参考实现。