Prhub

#25038 [Spec] Rename `accepted_indices` -> `accept_indices`; drop `_token_id` suffix per Rule 5

原始 PR 作者 hnyls2002 合并时间 2026-05-12 13:29 文件变更 8 提交数 2 评论 3 代码增减 +51 / -51

执行摘要

投机解码字段重命名收尾

本次变更是 #25014 命名规范统一的最后一波,PR 描述明确说明 Last batch of spec-naming follow-ups missed during #25014,目的是保持投机解码相关标识符的一致性,遵循内部命名规则(Rule 1 去掉 -ed、Rule 5 对 tensor/list 去掉 _token_id 后缀)。

该 PR 可以作为团队命名规范执行的范例,展示了如何系统性地推进代码一致性。虽然不包含功能变更,但对于参与投机解码模块的开发者,了解这些命名规则有助于理解代码结构。

讨论亮点

无 review 评论。第二个提交体现了作者对命名规则的精细化理解:curr_token_id 作为标量不符合 Rule 5(仅 tensor/list)的适用范围,因此保持原名不变。

实现拆解

  1. scheduler_output_processor_mixin.py 中将私有方法 _resolve_spec_overlap_token_ids 重命名为 _resolve_spec_overlap_tokens,并更新内部所有调用。
  2. ngram_info.py 中将实例属性 accepted_indices 统一替换为 accept_indices,涉及 _fill_requests_free_cache_greedy_verify 等方法。
  3. eagle_worker.pymulti_layer_eagle_worker.py 中,将验证结果对象 res.accepted_indices 替换为 res.accept_indices,并同步更新注释。
  4. dflash_worker.py 中将函数内局部变量 out_token_ids 重命名为 out_tokens,去掉 _token_id 后缀。
  5. eagle_info.py 中将 EagleVerifyOutput 数据类字段 accepted_indices 重命名为 accept_indices,并调整构造调用。
  6. logprob.pyfrozen_kv_mtp_worker.py 中做对应调用点调整。
    第二个提交中保留了 curr_token_id 标量不变,因为 Rule 5 只适用于 tensor/list。
文件 模块 状态 重要度
python/sglang/srt/managers/scheduler_output_processor_mixin.py 调度器 modified 6.44
python/sglang/srt/speculative/ngram_info.py 投机解码 modified 6.15
python/sglang/srt/speculative/eagle_worker.py 投机解码 modified 6.15
python/sglang/srt/speculative/multi_layer_eagle_worker.py 投机解码 modified 6.15
python/sglang/srt/speculative/dflash_worker.py 投机解码 modified 5.75
python/sglang/srt/speculative/eagle_info.py 投机解码 modified 5.45
python/sglang/srt/layers/utils/logprob.py logprob modified 5.31
python/sglang/srt/speculative/frozen_kv_mtp_worker.py 投机解码 modified 5.11

关键符号

_resolve_spec_overlap_tokens _fill_requests _free_cache _greedy_verify verify _mamba_verify_update _greedy_sample_from_vocab_parallel_head

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

变更纯属标识符重命名,无运行时行为变化。主要风险在于可能遗漏未修改的引用,但作者仔细检查了所有调用点,且 CI 测试通过,风险极低。

对用户无影响(无 API 或配置变化)。对内部开发者,提高了投机解码模块命名一致性,降低未来阅读混淆。变更涉及 8 个文件,51 行增删,但都是 1:1 替换。

纯重命名无功能影响

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论