Prhub

verl-project/verl · 标签视图

标签列表

聚合结果

model 相关 PR

2026-08-31
缺陷修复 重要性 6.75 洞察度 5.00

修复 DeepSeek 连续 token 构建器工具追加 TypeError

值得精读,尤其是维护自定义 tokenizer 模板或连续 token 增量路径的开发者。本 PR 展示了模板拼接契约与合成占位消息之间的类型冲突如何用最小覆盖解决,并提供了完整的真实 tokenizer 验证矩阵方法论。源码部分很小,重点看 continuous_token.py 的家族子类划分,以及测试文件中边界 tokenizer 的设计方式。

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

修复 trl 新版本下 value-head critic 导入崩溃

建议快速精读(约 5 分钟),是低风险、高收益的兼容性修复样板。值得关注的设计决策:(1)用 try/except 而非版本条件判断(如 `packaging.version` 比较)处理依赖 API 迁移,写法更简洁且天然向前兼容;(2)与 #6539 保持完全一致的导入模式,避免同一仓库出现多种兼容写法;(3)PR body 中「先自查 open PR 再提交」的去重流程值得团队沿用。后续动作建议:在 trl 1.x 依赖升级(#7478)落地时,全局扫描 `from trl import` 确认无其他受影响符号,并考虑补充导入级回归测试。

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.88 洞察度 4.00

修复 Qwen3.5 VL 统一检查点构建 Continuous Token 崩溃

值得快速阅读,作为向 _TEXT_TO_VL_FAMILY 扩展新模型家族的参照;测试使用轻量 MockTokenizer / MockProcessor 验证升级路径,思路可复用。但该 PR 改动极小且无深入设计讨论,不建议作为精读案例。

2026-08-14
功能 重要性 9.36 洞察度 7.00

AgentLoop 全面启用多模态 Continuous Token 分词

值得精读:`create_continuous_token_builder` 的 processor 门控逻辑、`_MODEL_TYPE_TO_FAMILY` 精确匹配设计、VL builder 基于 MRO 组合文本边界处理的方式都很典型。计划升级到该版本的团队应先核对自定义 AgentLoop 是否使用了被移除的 `apply_chat_template` / `continuous_token.enable`;使用 Qwen3.5 VL 的团队需等待 `QWEN35 → QWEN3_VL` 映射的后续修复。

2026-08-13
缺陷修复 重要性 5.71 洞察度 5.00

修复 NPU 上 TND 格式 VLM attention mask 缺失

值得精读:对使用 NPU + Megatron + VLM(尤其是 Qwen3.5-VL)的团队,这是理解 remove_padding 下 VLM mask 数据契约的关键修复。值得关注的设计决策是在 mask 构造函数中统一保证非空,而不是在每个 bridge 侧兜底,属于最小侵入修复。建议后续跟进 `build_vlm_attn_mask_bshd` 的一致性处理与单元测试补充。

2026-08-11
功能 重要性 9.36 洞察度 7.00

Megatron 新增动态 CP 调度,长尾序列吞吐提升约 60%

值得精读。本 PR 的核心价值有三:一是 thin adapter 设计——把调度算法委托给上游 Megatron-Core,verl 只保留数据路由与输出收集,避免重复实现带来的正确性风险(早期自研 1470 行调度器因多个逻辑错误被整体移除);二是集中式 feature 校验 `_check_dcp_unsupported_features`,把所有不兼容组合收敛到单一入口;三是 DCP 下 local token loss 与输出顺序恢复的实现细节(leader 收集 + all_gather_object + jagged 重建),可作为分布式训练数据流设计的参考。建议重点关注 `verl/utils/dynamic_cp_scheduler.py` 与 `verl/workers/engine/megatron/transformer_impl.py` 两处。

2026-08-10
缺陷修复 重要性 7.02 洞察度 5.00

补完 DeepSeek-V4 CP 布局贯通,CP 训练真正可跑

值得精读。核心设计思想是“布局描述必须与行的产生方式保持一致”——`cp_layout` 贯穿 pack、attention kernel 与 router-replay 的重放路径,避免“能跑但数值错位”的隐患;`inspect.signature` 兼容探测对跨版本 Megatron-core 也是可借鉴的模式。同时建议阅读评论区关于 cudnn-frontend 版本导致 NaN 的排查,这为 DeepSeek-V4 用户提供了直接可用的踩坑指南。