投机执行:预测-验证-只留验证通过的部分 #
1. 主题缘起 #
这个主题聚合的动因是:一个原本只活在推理系统底层的加速范式——"用便宜的方式先猜,再用权威的方式验证,只保留验证通过的部分"——在 2025 年底到 2026 年中同时向两个截然不同的粒度扩张,并各自催生出一批工作,值得作为一个横跨类别的方向统一评价。
第一条战线在 serving 系统层(framework / code)。自回归解码逐 token 的顺序依赖是延迟的结构性瓶颈,投机解码用一个便宜的 drafter 一次提议多个 token、目标模型并行验证,并靠 rejection sampling 保持严格无损;DSpark 把"起草更快更准"与"验证更省"合成一个无损系统,在 DeepSeek-V4 上以等吞吐口径把每用户生成加速 57%–85% [dspark],而 DeepSpec 提供了训练/评测这类 learned drafter 的开放工具箱 [deepseek-ai-DeepSpec]。
第二条战线在 agent runtime 层(agent)。这里的瓶颈不是 token,而是工具执行等待:工具执行时间可占端到端延迟的 81%–92.6% [2605.22154],甚至在部分 workload 上高达 88% [2512.15834]。于是同一个"投机+验证"直觉被搬到 tool call / plan / action 粒度——在模型"思考"或工具还在跑的空档里投机地预测并执行下一步,事后靠 observation 到达或 commit point 来验证 [2603.18897]。
两条战线共享同一抽象骨架却攻击完全不同的瓶颈(decode 顺序依赖 vs 工具等待),且多篇论文都主动把自己类比为 CPU 的分支预测 + 推测执行 [2603.03251]。正是这种"同范式、跨类别、不同粒度"的结构,使 framework、agent、code 三个类别下的九个实体值得放在同一个坐标系里比较。
2. 覆盖的 category 分布 #
framework 与 agent 两簇几乎对半分(4:4),code 侧只有 DeepSpec 一个实体,它恰好是 framework 侧算法(DSpark/DFlash/Eagle3)的上游供给者——是唯一以"训练草模型"为一等目标的开源仓库 [deepseek-ai-DeepSpec]。这种分布本身说明主题的重心:token 级投机已经有成熟的算法/系统/工具三层结构,而 agent 级投机目前只有方法论文、尚无对应的开放工具或生产引擎沉淀。
3. 时间线 #
- 2025-12 · Speculative Tool Calls(agent) — 首次把投机解码的"小模型投机、大模型验证"范式从 token 级推广到 tool call 级,提出 client-side 与 engine-side 两方案,并证明 client-side 加速比严格 < 2× [2512.15834]。这是 action-level 战线的起点 [2603.18897]。
- 2026-03 · SSD / Saguaro(framework) — 把 speculation 与 verification 从串行解耦为并行:draft 部署在独立 GPU,verify 期间预计算多个 outcome 的 speculation cache,cache hit 消除 drafting 延迟,batch=1 greedy 下比最优 SD baseline 快 30% [2603.03251]。
- 2026-03 · PASTE(agent) — 首个 pattern-aware speculative tool execution:用 Pattern Tuple 解耦控制流与数据流、符号推导参数,把 E2E 延迟降低 48.5% [2603.18897]。
- 2026-05 · SPECTRE(framework) — 把闲置尾模型 GPU 重用为远程 drafter,用闭式 rollback 阈值 $r^*$ 在 ordinary/parallel 两模式间逐轮切换,bs=128 时较最强 baseline +66% [2605.08151]。
- 2026-05 · IdleSpec(agent) — 首次把 idle time 重定义为额外的 test-time compute 预算,用 Thompson 采样在 progressive/recovery 两策略间自适应,延迟开销 ~0 而准确率 +4.6%–6.8% [2605.22154]。
- 2026-05 · Speculative Interaction Agents(agent) — 用 async I/O 同时解耦用户输入流与工具返回流,clock-based SFT 让 3B 边缘模型学会投机发起并事后修正/取消 tool call,实测 1.6–2.2× 延迟降低 [2605.13360]。
- 2026-05 · RTP-LLM(framework) — 生产级推理引擎,把投机解码做成四个无状态 C++ 组件(Propose/Score/Sample/Update),是这些算法可以被"插进去"的工程容器 [2605.29639]。
- 2026-07 · DSpark + DeepSpec(framework + code) — DSpark 用半自回归起草 + 置信度调度验证把无损投机的 Pareto 前沿外推 [dspark];DeepSpec 作为其开源伴随仓库落地了可离线训练的那一半 [deepseek-ai-DeepSpec]。
转折点有二:2025-12 标志投机范式跨出 token 边界进入 action 层 [2512.15834];2026-03 的 SSD 则把 token 级投机从"更好的 drafter"转向"更好的调度拓扑",正式引入 CPU 推测执行的类比 [2603.03251]。
4. Evolution timeline(技术谱系) #
flowchart TB
ROOT["Token-level speculative decoding
(draft-verify, lossless)"]
subgraph FW["framework / code — token 级"]
DRAFTER["更强 drafter 分支"]
SCHED["更省调度分支"]
EAGLE["Eagle3 / MTP
learned draft head"]
DFLASH["DFlash
parallel backbone"]
DSPARK["DSpark
semi-AR + confidence scheduling"]
DEEPSPEC["DeepSpec
draft 训练/评测工具箱 (code)"]
SSD["SSD/Saguaro
speculation cache + 独立 GPU"]
SPECTRE["SPECTRE
hybrid ordinary-parallel + idle GPU"]
RTP["RTP-LLM
模块化 C++ 投机组件 (生产)"]
end
subgraph AG["agent — action 级"]
STC["Speculative Tool Calls
SLM 投机 tool call (FIRST)"]
PASTE["PASTE
pattern-based + 参数推导"]
IDLE["IdleSpec
speculative planning / idle-time"]
SIA["Speculative Interaction Agents
async I/O + commit-point"]
end
ROOT --> DRAFTER
ROOT --> SCHED
DRAFTER --> EAGLE
DRAFTER --> DFLASH
EAGLE --> DSPARK
DFLASH --> DSPARK
DSPARK --> DEEPSPEC
EAGLE --> DEEPSPEC
SCHED --> SSD
SCHED --> SPECTRE
DRAFTER -. "算法插入容器" .-> RTP
SCHED -. .-> RTP
ROOT == "范式跨粒度迁移" ==> STC
STC --> PASTE
STC --> IDLE
STC --> SIA
DSPARK -. "无损保证能否下沉?" .-> SIA
谱系里有几个关键分叉与汇聚点:
- token 级的两个分支。"更强 drafter"分支(Eagle3 → DFlash → DSpark)追求每步接受更多 token——DSpark 继承 DFlash 的并行主干起点、再叠序列头抑制后缀衰减,接受长度超 Eagle3 26.7%–30.9% [dspark];"更省调度"分支(SSD、SPECTRE)追求把 draft 从关键路径上移除或按负载切模式 [2605.08151]。两分支在 RTP-LLM 这个生产容器里汇合——它把不同算法收敛为可切换的模块化组件 [2605.29639]。
- 算法与工具的耦合。DeepSpec 是 DSpark 论文的开源伴随仓库,落地了 Markov 序列头、$L_1$ 分布匹配、confidence 头、anchor-block 训练这可离线训练的一半,但在线置信调度器/异步因果屏障在代码里只剩痕迹 [deepseek-ai-DeepSpec]。
- 跨粒度迁移。整个 action 级战线(Speculative Tool Calls → PASTE / IdleSpec / SIA)是把根范式从 token 生成层迁移到 tool 执行层的产物,正如小模型预测大模型 output,PASTE 用 pattern matching 预测 tool calls [2603.18897]。虚线"无损保证能否下沉"标出了两簇之间尚未打通的理论桥(见 §7)。
5. 技术线交错 #
跨类别的张力与协同集中在几处:
算法质量决定调度公式的可行域(framework 内部)。 SPECTRE 的整套吞吐推导把 accepted length $L$ 当外生常量代入切换阈值 $r^*$ [deepseek-ai-DeepSpec],而 DeepSpec/DSpark 这条"更强 drafter"线正是生产那个 $L$ 的上游——两者是"生产 $L$ vs 消费 $L$"的分工 [deepseek-ai-DeepSpec]。同理,RTP-LLM 实测 MTP 只用 step size=1、~1.9 tokens/step,暴露生产里草模型深度受限,恰好是 DSpark 想攻的"接受率天花板" [dspark]。
硬件获取方式与 batch 可扩展性绑定(framework 内部)。 同样是投机 serving,SSD 靠"额外一块专用 GPU"做 space-partitioning,cache hit rate 按 $p_{\text{hit}}^b$ 指数衰减、bs=16 近乎无用;SPECTRE 靠"借用已有 idle 尾模型 GPU"做 time-sharing,bs=128 仍 +66% [2605.08151]。硬件放置策略直接决定了方法能否进入高并发 serving 世界,这是两者最根本的分野 [2605.08151]。
投机预算的来源分裂了两个类别(framework vs agent)。 token 级投机的预算来自 idle GPU 算力(SSD 的独立 draft GPU、SPECTRE 的闲置尾模型、DSpark 在目标容量未饱和时扩验证长度)[dspark];action 级投机的预算来自 think time / tool 等待(IdleSpec 的 idle tokens 与工具执行并行 [2605.22154],PASTE 用 slack 资源做投机 [2603.18897])。两种预算来源正交,因此两簇方法在 agent serving 栈里可叠加——DSpark 让每次 LLM 调用更快出 token,agent 层投机让 tool 等待期不空转 [dspark]。
副作用把"无损"从内禀属性降级为条件属性(framework → agent)。 token 级投机能严格无损,是因为拒绝时可 rejection-resample;而 tool 执行有副作用、不可重采样,这正是 token 级与 agent 级投机的根本分野 [dspark]。于是 agent 侧不得不引入 safe/unsafe 分类、commit-point、reference 聚合等"尽力无损"机制 [2605.13360]。
6. 共识与分歧 #
共识
- 顺序依赖是可被投机打破的一等瓶颈。 九篇一致认为 decode 逐 token 或 agent 逐 tool 的串行链条是延迟主因:SSD 攻 speculation→verification 串行 [2603.03251],Speculative Tool Calls 攻 tool call 打断 decode 的严格顺序依赖 [2512.15834],PASTE 攻 LLM→Tool→LLM 循环 [2603.18897]。
- "预测便宜、验证权威、只留验证通过部分"是共同骨架。 所有实体都把便宜预测器(小模型 / 并行头 / pattern / plan draft)的产出交由权威过程(目标模型 rejection sampling / 工具真实执行 / observation 到达)验证 [2603.18897]。
- 投机应尽早、尽多,而非只领先几步。 action 级共识明确:传统 draft 仅领先 3–10 token 无法掩盖秒级工具时延,因此 tool 应尽早投机、尽多投机 [2512.15834]。
- CPU 推测执行是共同的类比母题。 SSD 显式类比 branch prediction + speculative execution [2603.03251],SIA 直接把 MIPS R10000 的 store buffer commit 搬到工具调用 [2605.13360]。
分歧
- 优化目标:延迟 vs 精度。 绝大多数实体以降延迟为唯一目标,IdleSpec 却反其道——延迟开销 ~0,目标是提升准确率(+4.6%–6.8%),因此它与 test-time scaling 同族而非与投机解码同族 [2605.22154]。这是最深的路线分歧。
- 无损 vs 有损。 DSpark 反复强调其调度严格无损(局部 softmax 保精确概率 + 因果屏障保 non-anticipating)[dspark],SSD 也保持 target 分布无损 [2603.03251];而 SPECTRE 的 draft-side context compression 是明确的有损接受长度换延迟(保留 10% prompt,接受长度 82%–99% preserved)[2605.08151]。
- 硬件模型:专用 vs 借用。 SSD 需专用额外 GPU 且未把该成本折算进 throughput/\$(若按 per-GPU 计,30% 优势缩到约 4%)[2603.03251];SPECTRE 零额外 GPU、回收沉没资源,经济上 cost-negative [2605.08151]。
- 是否修改模型。 SIA 必须专门 SI-SFT 训练(normal SFT 直接用于异步格式会崩溃到 33.4%)[2605.13360];IdleSpec、Speculative Tool Calls、PASTE 都是纯推理时方法、不改权重 [2605.22154]。
- 对 observation uncertainty 的处理。 IdleSpec 指出先前所有投机方案都隐含假设"当前轨迹将成功"(progressive-only),只有它显式用 Thompson 采样覆盖成功/失败两种可能,且消融证明双策略(48.2)显著优于单策略(44.7 / 44.0)[2605.22154]。值得注意的是,同月发表、研究同一 niche 的 SIA 与 IdleSpec 互相没有对比实验,benchmark 完全不重叠——一个未被检验的方法论冲突 [2605.22154]。
7. Open challenges(根本性困难) #
- 把 token 级的分布级无损保证下沉到 action 级。 这是真正难而非"没人做"的问题:token 级投机能严格无损是因为拒绝可 rejection-resample,而工具执行有副作用、不可回滚,无法直接套用同一证明 [dspark]。已有的 agent 侧部分尝试都只是"尽力无损"——SIA 的静态 safe/unsafe 二分在上下文相关的工具上过于粗糙(同一 API 在不同参数下可能有无副作用)[2605.13360],PASTE 的 side-effect policy 靠人工定义、漏标即产生不可逆变更 [2603.18897]。需要 model-alignment(判定可投机性)+ framework-sandboxing(隔离执行)+ 因果屏障理论三方协作。开放的理论桥是:对只读/可回滚的 tool 子集,能否借用 non-anticipating 因果屏障给出分布级正确性保证 [dspark]。难度地平线:2–4 年。
- 大 batch 下投机收益的不可扩展性。 SSD 的 cache hit rate 随 batch 指数衰减是结构性的、非工程可调 [2603.03251];client-side tool 投机也被证明加速比严格 < 2×,因为只能掩盖生成与工具执行两阶段之一 [2512.15834]。SPECTRE 用 hybrid switching 缓解,但代价是引入有损压缩且 $r^*$ 在线估计存在抖动风险,其 mode-switching hysteresis 未被分析 [2605.08151]。这是"投机隐藏的收益"与"高并发批容量竞争"之间的信息-资源权衡,不是单纯的调度工程问题。难度地平线:1–2 年(部分可解)。
- 多租户下"idle time 免费"假设的破裂。 IdleSpec 声称延迟开销 ~0 因 idle tokens 与工具执行并行,但这只在单用户下成立——高并发时 idle-time drafting 的额外请求会占用 batch 槽位和 KV-cache 容量,加剧 thrashing [2605.22154]。同理 SSD 的独立 draft GPU 与 SPECTRE 的借用容量都假设有可回收的空闲算力。这需要 agent 推理层与 serving 调度层联合建模资源预算——目前没有任何工作打通投机决策与 serving 资源约束的信息传递 [2605.13360]。
- 投机质量的跨分布稳定性。 SIA 在 clean benchmark 上 1.6–2.2× 加速,但在自然语音上不仅不加速反而退化(延迟 9.3s→14.3s、准确率 22.0→13.6),暴露训练分布与真实分布的 gap [2605.13360]。PASTE 的 pattern 稳定性假设同样来自结构化 benchmark,生产环境工具集从 5–10 扩到 50+ 时 pattern confidence 会稀释 [2603.18897]。DSpark 的 drafter 跨模型家族迁移证据也不足 [dspark]。这是所有基于学习/统计预测的投机方法共有的外部有效性困难。
8. 成熟度判断 #
整体判断:token 级投机解码已进入 production-ready 阶段,action 级投机仍处 research-frontier,且方向整体加速上升。
- token 级(framework / code)已生产落地。 RTP-LLM 是服务 100M+ 用户的生产引擎,已开源且把投机解码模块化 [2605.29639];DSpark 已随 DeepSeek-V4-Flash/Pro (preview) 释出检查点、DeepSpec 开源训练仓库 [dspark];SPECTRE 已进入 SGLang 主线 PR [2605.08151]。证据是商业规模部署 + 主流框架集成。唯一的成熟度缺口在 SSD——仍是 research prototype,缺 continuous batching / SLO-aware scheduling,且其最佳场景(batch=1 greedy)正与 serving 向 batch>1 演进的趋势相悖 [2603.03251]。
- action 级(agent)仍是前沿。 四篇里 PASTE、IdleSpec、SIA、Speculative Tool Calls 大多"实现未公开"或仅为原型,且存在自然语音退化 [2605.13360]、engine-side 仅 2–3% 增益且只验证单 agent [2512.15834] 等成熟度短板。采用证据主要是 PASTE 被后续工作 cite [2603.18897]、商业 API(gpt-5 + gpt-5-nano)验证了 client-side 的成本效益 [2512.15834]。
- 趋势方向:加速。 从 2025-12 单点提出到 2026-05 半年内 action 级涌现四篇、token 级涌现四篇,且 parallel tool use 的普及正在压缩 PASTE 类方法的投机窗口 [2603.18897]——说明这是一个高速迭代、边界仍在移动的方向,而非 plateau 或 dead-end。
9. 邻接 topic #
- PD-disaggregation / disaggregated-inference。 SSD 的"独立 draft GPU"、SPECTRE 的"远程尾模型 drafter"本质是把投机 draft 当作一个可独立部署的解离组件;RTP-LLM 本身就横跨 PD 解离与投机解码两个方向 [2605.29639]。边界模糊处:跨集群 speculation(draft 在远端 DC 的 idle GPU,token ID 经 commodity Ethernet 回传)[2605.08151]。
- kv-cache-management。 action 级投机与 KV-cache 保留高度纠缠——engine-side tool 投机靠"保持序列驻留"避免驱逐,与 Continuum 的 TTL pin 机制目标重叠甚至竞合 [2512.15834]。RTP-LLM 本身也横跨 kv-cache-management 与 speculative-decoding 两个 topic。
- agent-serving / agent-scheduling。 PASTE 的相关工作圈归在 agent-serving,SPECTRE / Speculative Tool Calls 则归在 agent-scheduling——投机与调度层(ThunderAgent、Autellix、HexAGenT)正交互补,理想部署应组合两层 [2605.13360]。
- test-time-scaling。 IdleSpec 明确把自己划入 test-time compute 家族而非投机解码家族 [2605.22154],是本主题与 test-time-scaling 的边界最模糊处——它借用了投机的"预测-聚合"骨架,却服务于精度而非延迟。
潜在拆分/合并建议:本主题内部已清晰分裂为"token 级 draft-verify"与"action 级 tool/plan 投机"两个半独立簇,共识骨架相同但指标不可直接对比 [dspark]。若未来任一簇继续膨胀,可考虑拆为 speculative-decoding(token 级)与 speculative-agent-execution(action 级)两个 topic;而 IdleSpec 这类"精度导向"实体则可能更适合迁往 test-time-scaling。
10. 参考 #
| Entity | Categories | Role in topic | Key contribution |
| [dspark] | framework | token 级 · 更强 drafter + 更省验证 | 半自回归起草 + 置信度调度,无损且把吞吐-交互 Pareto 前沿外推(+57%–85%) |
| [deepseek-ai-DeepSpec] | code | token 级 · 草模型生产端 | 统一骨架训练/评测 Eagle3/DFlash/DSpark 的开放工具箱 |
| [2603.03251] | framework | token 级 · 更省调度(space-partitioning) | speculation cache + geometric fan-out,draft-verify 并行化,batch=1 快 30% |
| [2605.08151] | framework | token 级 · 更省调度(time-sharing) | 闭式阈值 $r^*$ 在 ordinary/parallel 间切换,借用 idle 尾模型 GPU,高 batch 友好 |
| [2605.29639] | framework | token 级 · 生产容器 | 模块化四组件 C++ 投机解码,服务 100M+ 用户 |
| [2512.15834] | agent | action 级 · 起点 | 首次 tool-level 投机,证明 client-side 加速 < 2×,提出 tool cache API |
| [2603.18897] | agent | action 级 · pattern-based | Pattern Tuple 解耦控制流/数据流 + 符号参数推导,E2E −48.5% |
| [2605.22154] | agent | action 级 · 精度导向(分歧点) | idle time 作为 test-time budget,Thompson 采样双策略,准确率 +4.6%–6.8% |
| [2605.13360] | agent | action 级 · 训练内化 | async I/O + commit-point,SI-SFT 让 3B 边缘模型学会投机,1.6–2.2× |