2026-09-15
为 profiler step span 加 DRAFT/VERIFY 阶段标签
值得精读,但不必投入大量时间:这是约 30 行的可观测性改进,重点看两个设计选择——一是用「worker 身份」而非「forward mode」作为标签的第一判据,二是用强制关键字参数 + 默认值实现向后兼容。若你维护 profiler、trace 解析脚本或性能报告,请顺手把 `TARGET_VERIFY` 的匹配规则更新为 `VERIFY` 并补上 `DRAFT`,同时评估是否要为 draft 的 EXTEND 形态单独保留一个更可读的 `DRAFT_EXTEND` 标签;若你只是关注推理正确性,可以跳过本 PR。
删除 DSpark 重复方法定义,恢复 NPU 共享专家融合守卫
值得精读,但重点不在改动量(只删 6 行),而在于三点:一是“类体内同名方法后定义者生效”这种极易被多 PR 合并掩盖的静默 bug 模式,值得作为代码审阅与静态检查的检查项;二是 `shared_experts_fusion_disable_reason` 这一层“模型类向框架暴露契约”的设计——单个 classmethod 返回值就能左右 `num_fused_shared_experts` 与权重加载路径,任何改动都需要按契约级变更对待;三是作者主动暴露的验证空白与 CI 维护模式叠加,提示这类“恢复被遮蔽逻辑”的修复最好附带一个纯 Python 层面的单测(例如 monkeypatch `_is_npu` 后断言返回值非空,或断言类上只存在一份定义),而不是依赖 NPU 实机。若团队内有 NPU 环境,建议在合并后补跑 `test/registered/unit/models/test_deepseek_v4_shared_expert_fusion.py` 并做一次 DSpark draft 的精度/吞吐确认。
fused KDA verify 内核支持 ReplaySSM ring 写入,解锁组合优化
值得精读。核心看三点:一是位级一致性的论证方式——为什么必须存 pre-mutation 的操作数、为什么 ring 值(elementwise,位于所有 `tl.sum` 上游)能保证 bit-exact 而输出不能;二是测试设计——共享垃圾模板做全张量比较以捕捉越界写,以及独立 snapshot oracle 防止两个 ring 分支共享同一错误;三是 dispatch 门控的数据驱动决策——用 sweep 实测数据决定启用范围,而不是凭直觉放开。对于后续要做 batch-aware dispatch 或重调 `KDA_VERIFY_BLOCK_V` 的开发者,这份 PR 提供了完整工具链。
reland QSA 压缩 gather 越界修复,extend 行号夹紧
值得精读但不必逐行推敲——它只有一行代码,重点是理解取舍而非实现。建议关注三点:第一,阅读 `update_key_state_and_compress` 的 extend 与 paged eager 两个分支,确认 clamp 只作用于“有界性缺失”的那一条路径;第二,向作者确认未填满 group 的池化结果是否会被后续完整 group 覆盖,若不会,则应改为 mask/重算而非重复最后一行;第三,建议补一个构造“chunk 行数非 compress_ratio 整数倍”的单测,并说明 Extra、AMD ROCm 10 两条 CI 的失败是否为已知问题。若团队正在安排 #33426、#39061、#39219 的 reland,本 PR 可作为“回退后如何最小化恢复”的参考样例。
为投机解码 worker 新增 prefill 共享读 staging 回调,默认关闭不改变上游行为
值得精读,尤其是负责投机解码、prefill 调度与 KV 生命周期的人。关注三点设计决策:(1) 用「worker 自证返回 bool 的 opt-in 回调」而不是框架内启发式判断来放开 EAGLE/MTP,把风险显式外移到实现方,这是本 PR 最核心的取舍;(2) 把 `shared_read_ends` 后端声明检查提到 spec 检查之前,保证 staging 只发生在后端已声明 `PRE_REPLAY` 的路径上,是正确的最小权限做法;(3) 单测用 `calls.mock_calls == [call.stage(batch)] + ([call.Event()] if staged else [])` 锁定调用顺序,而不是只断言最终状态,这种「顺序即契约」的测试写法值得复用。阅读时应同步确认:任何后续启用该 hook 的 worker PR 必须带上精度与性能验证,并在 code review 中明确 `stage()` 返回 `True` 的语义证明。