Prhub

verl-project/verl · 标签视图

标签列表

聚合结果

perf 相关 PR

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

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

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

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

连续 token 将 generation prompt 融合进末组渲染,消除 O(N^2) 重复 tokenize

值得精读。三个看点:① 用能力钩子把默认优化路径与模板特定回退解耦,钩子语义(“generation scaffold 是否只由末组决定”)单一清晰;② 用录制型 tokenizer 单测同时锁定渲染次数与 `add_generation_prompt` 参数序列,把性能修复固化为可回归的行为契约;③ review 阶段在真实 tokenizer 上做 8 builder × 24 用例的逐 token 对比矩阵,是同类增量渲染改动最可靠的验证范式。合并前由 wuxibin89 一次 approve,说明方案在讨论阶段已收敛;阅读时建议结合 #7617 的调用链分析和 #7630 的 DeepSeek 覆写一起看。

功能 重要性 9.16 洞察度 7.00

vLLM 新增 delta_sharded 稀疏权重同步,实测提速约 8 倍

值得精读。这是 delta_sharded 从 SGLang 扩展到 vLLM 的关键一步,对理解 VERL checkpoint 引擎的扩展模式很有价值。重点看:① 坐标映射交由 vLLM 原生 loader 的架构分工(decode_delta_payload + CheckpointWeightPatch);② 失败锁死与“整 session 重建”的运维语义;③ require_vllm_delta_support 的接口探测写法与 _preprocess_engine_kwargs 的拓扑 guard;④ 在无法运行真实路径的 CI 环境里,如何用版本无关回归测试(abort 传播、字节对齐)保护基础设施。

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

#7562 [data] fix: offload multimodal dataset processing

原始 PR · 作者 YZJF · 合并时间 2026-08-27 17:34

缺陷修复 重要性 6.10 洞察度 6.00

多模态处理改异步卸载,提升事件循环响应

该 PR 改动简洁且聚焦,值得精读。关注 run_in_executor 的使用模式以及在异步环境中卸载 CPU 密集任务的设计,可作为类似场景的参考。可结合 #6789 和 #6804 了解完整的多模态处理异步化演进。

缺陷修复 重要性 6.90 洞察度 6.00

动态 micro-batch 强制 max_token_len 上限

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

2026-08-25
缺陷修复 重要性 6.26 洞察度 5.00

修复 NumPy 序列化中未使用的大块 TensorDict consolidation 分配

此 PR 值得精读,因为它揭示了序列化路径中一个隐蔽的性能浪费点,并且是 OOM 类问题的常见根源。建议重点关注 `DataProto.__getstate__()` 的重构方式和 `monkeypatch` 在测试中的巧妙运用。设计上的关键点是分支提前,避免不必要的计算,这是一个简洁有效的优化模式。未来可关注 wuxibin89 提到的 TQ 迁移,以彻底消除序列化成本。