Prhub

verl-project/verl

verl: Volcano Engine Reinforcement Learning for LLMs

监控状态:已开启 最近同步:2026-09-01 16:31 同步状态:空闲 下次计划:2026-09-01 17:31

PR 列表

更多筛选
2026-08-21
缺陷修复 重要性 7.06 洞察度 5.00

DDP 梯度精度对齐优化器,消除 BF16 训练内存浪费

值得精读。这是「默认值继承陷阱」的典型案例:一个被省略的配置项让框架默认值悄悄改变了训练内存布局。最小 diff(+10/-12)修复真实缺陷,设计上采用 FP32-by-default + 显式 override 优先的合成策略,可复用到其他后端配置推导(如 FSDP 的 reduce_dtype)。测试中用 `object.__new__` 绕过重型初始化的技巧,适合在依赖复杂的引擎类上做轻量单测时借鉴。

功能 重要性 9.17 洞察度 8.00

TorchTitan 引擎接入分片 delta 权重同步,最高提速 17.2×

值得精读。三个设计决策尤其值得学习:(1) 用数学分析而非特判接纳 `_StridedShard`——右到左切割只置换 block 归属而非交错 block,`compute_local_shape_and_global_offset` 已返回置换后偏移;(2) 用 slot table 而非 probe-driven 转换器解决 lockstep gather 下的命名一致性问题;(3) gather 组的「变化 Shard 维、固定其他维」构造避免 HSDP 副本浪费,并按 rank 集合缓存保证 `dist.new_group` 的建组顺序一致。若要在 verl 中为新的 trainer 引擎接入 delta 同步,本 PR 是很好的实现模板。

2026-08-20

#7456 [ci] chore: Update ascend ci image

原始 PR · 作者 lxb007981 · 合并时间 2026-08-20 21:30

基础设施 重要性 3.64 洞察度 2.00

将 Ascend CI 脚本默认 GPU 数从 16 改为 8

作为常规 CI 配置修正,值得快速整合。可借鉴其按硬件规格调整默认参数的做法,建议后续检查其他类似脚本是否存在类似硬编码。

#7492 [ci] fix: revert megatron version on ascend ci

原始 PR · 作者 lxb007981 · 合并时间 2026-08-20 20:30

基础设施 重要性 3.77 洞察度 2.00

回退 Ascend CI 工作流中 Megatron 依赖版本,修复测试失败。

这是一个低风险、高必要性的基础设施维护 PR,**值得快速合入**以恢复 CI 稳定性。审查者应确认回退后的依赖版本(镜像内版本)确实是已知稳定的版本。长期来看,团队应关注 Megatron 在 Ascend NPU 上的兼容性测试策略,考虑建立更健壮的依赖管理或定期同步验证机制。

缺陷修复 重要性 5.73 洞察度 3.00

回退异步广播,修复 NPU 权重更新时 hccl error

值得快速浏览,作为"性能优化在硬件专属路径上引入回归后被回退"的典型案例:提醒在 HCCL 等硬件专属通信路径上做并行化/异步化改造时,必须有对应 NPU 环境的测试覆盖。无需精读,技术含量有限,但可在 release note 中记录此次回退以避免他人重复踩坑。

文档 重要性 3.45 洞察度 2.00

新增 Ascend Docker 受支持镜像标签文档

值得快速浏览(约 1 分钟):对 Ascend 部署用户有直接参考价值。值得关注的模式是把"最新 / 版本发布 / 模型专用 / 历史归档"分表组织,兼顾检索效率与历史留存;建议后续在 docs/ascend_tutorial 安装文档中引用该文件,并考虑用 CI 校验表格标签与实际 Dockerfile 的一致性。

2026-08-19
缺陷修复 重要性 5.99 洞察度 6.00

修复 fused-MoE 专家权重被 fp8 量化过滤遗漏的问题

值得精读,尤其关注 `is_fp8_weight()` 的白名单设计。这是一个典型的“注释意图与实际实现不一致”导致的静默 bug:注释写的是过滤 bias,实际却把所有非 `.weight` 结尾的参数都排除了。修复引入 `_FP8_CANDIDATE_LEAVES` 白名单作为快速路径,同时把真实的 fp8 资格判定留给模块 dtype 检查,设计思路清晰。但建议后续补充:1) 针对 fused-MoE fp8 模型的单元测试(即使只能 mock 模块层级);2) 将 `w13_weight`/`w2_weight` 的属性名也纳入统一的映射常量,避免白名单与属性访问逻辑漂移。

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

识别 is_shuffled 标志,修复 AITER FP8 权重 refit

值得快速精读。虽然改动只有 10 行,但蕴含两个有价值的工程模式:一是当设备端变换不改变 tensor 元数据时,需要额外的信号位(`is_shuffled`)来追踪布局状态;二是 `vllm_fp8_utils.py` 的 docstring 对 vLLM 权重内存池(discard-and-rezero、NaN 哨兵填充)有深入解释,适合作为 FP8 / refit 相关开发的必读材料。建议 FP8 与 ROCm 支持组的成员关注,并推动补齐 ROCm AITER 的端到端回归测试。

参与讨论