Spec V2、overlap scheduling 与执行复杂度升级#
这章解决什么问题#
execution model 讲到这里,读者大致已经知道普通 decode、speculative decoding、graph runner 和 batch overlap 是怎么回事。但在真实系统里,这些机制一旦叠在一起,复杂度会出现一次明显跳升。尤其是文档中提到的 Spec V2、overlap scheduling 与不同 attention backend 的配合,已经不再是“单个特性的说明”,而是“多种执行路径叠加之后的系统行为”。
这一章要解决的,就是这次复杂度升级为什么发生,以及它会怎样改变维护者理解执行层的方式。
为什么 Spec V2 值得单独讲#
官方 attention backend 和 speculative decoding 文档都明确提到,Spec V2 与 overlap scheduling 会影响不同 backend 的行为边界,也会改变 draft / verify 路径的推进方式。这说明它不是“旧 speculative decoding 的另一种参数组合”,而更像一层新的执行语义。
一旦把这层语义补进来,execution model 章节就不再只是说明“有哪些 mode”,而会开始解释“为什么 mode 一多,系统行为会成倍变复杂”。
overlap scheduling 带来的代价#
overlap scheduling 的直觉收益是减少空泡、提升利用率,但它也会带来一个经典代价:状态空间变大。你不再只要问“当前这一轮在干什么”,还要问“当前这一轮和上一轮、下一轮是不是在某种程度上交错存在”。这会让 trace、profiling 和排障路径都变得更难读。
也正因此,execution model 章节不能只把 overlap scheduling 当性能技巧,而要把它当“执行复杂度升级器”。这是大部头技术书才会专门讲的一层。
本章对应哪些代码路径#
这一章最重要的锚点包括 docs/advanced_features/speculative_decoding.md、docs/advanced_features/attention_backend.md、python/sglang/srt/batch_overlap/two_batch_overlap.py、python/sglang/srt/speculative/* 以及 ForwardMode 相关路径。
小结#
execution model 真正进入深水区,是从“单模式理解”走向“多机制叠加理解”的那一步。Spec V2 和 overlap scheduling 正是这一步最典型的入口。
叶王 © 2013-2026 版权所有。如果本文档对你有所帮助,可以请作者喝饮料。