在当今大模型推理优化领域,推测解码(Speculative Decoding) 已成为降低推理延迟、提升吞吐的主流技术之一。然而,随着业务的发展和模型的演进,一个显著的趋势正在显现:Draft Model(草稿模型)正在变得越来越大

这一变化引发了一系列资源分配的矛盾,也促使我们重新思考推理架构的设计。本文将探讨一种新的架构思路——将 Speculator 从 Target Model 中分离出去,构建“Speculator as a Service”。

一、矛盾:为何要将 Speculator “请”出去?

在传统的推测式解码架构中,Draft Model 和 Target Model 通常部署在同一个推理实例甚至同一个 GPU 上。这在早期 Draft Model 极小时(如极小的 GPT 或 ngram 模型)是合理的。但现在的趋势发生了变化:

  • Draft Model 变大带来的收益递增:为了追求更高的接受率和更长的平均接受长度,业界倾向于使用能力更强、参数量更大的 Draft Model。
  • 算力资源的“零和博弈”:GPU 的算力是有限的。如果 Draft Model 变大,它在推测阶段会抢占 Target Model 的计算资源。二者在同一设备上存在明显的资源冲突。
  • 执行流的独立性:关键在于,Draft Model 并不直接影响 Target Model 的执行流。它本质上是一个“旁观者”或“建议者”,通过猜测 Token 来加速主流程,但主模型的验证逻辑是独立的。

基于此,将 Speculator 从 Target Model 的进程/容器中剥离出去,进行分离部署,成为了解决资源冲突的必然选择。

二、架构:Speculator as a Service 的设想

我们提出一种平台级的服务架构:Speculator as a Service

在这种架构下,Speculator 不再是某个具体 Target Model 的附属组件,而是一个独立运行、可被多个推理服务共享的通用能力层

1. 异构资源的极致利用

分离部署最大的好处在于打破了硬件限制。Target Model(大模型)可以独占高性能 GPU(如 A100/H100),专注于高强度的验证计算;而 Speculator(Draft Model)可以灵活部署在异构算力上(如 CPU、低端 GPU 或空闲算力池)。这种错位竞争极大地提升了平台整体算力利用率。

2. 网络瓶颈的消解

很多人担心分离部署带来的网络开销。实际上,在推测解码的场景中:

  • 数据交互量极小:Speculator 与 Target Model 之间仅交换 Token 序列和少量的状态信息,并不涉及大规模的权重或激活值传输。
  • 带宽要求低,延时敏感:这种模式对带宽需求不高,但对延时极其敏感。因此,在平台侧拉专线或使用高性能局域网即可满足需求,网络开销在可控范围内。

三、进阶:动态调优与 QPS 感知

如果仅仅做到分离部署,只是完成了第一步。作为平台侧的服务,Speculator as a Service 还可以引入更智能的调度策略。

1. 基于 EMA 的负载自适应

线上请求的负载是动态变化的。平台可以基于近期负载的统计特征(如通过 EMA 指数移动平均算法),实时感知系统压力。

  • 低 QPS 场景:可以激进地调大 Speculator 的参数(如推测步长),以最大化单次请求的加速比。
  • 高 QPS 场景:系统吞吐成为瓶颈。此时可以动态调小 Speculator 的计算量,甚至暂时关闭推测功能,优先保障整体吞吐量。

通过动态调整 Draft Model 的“旋钮”,平台能够最大化资源利用率,在延迟和吞吐之间找到最佳平衡点。

2. 在线学习与参数更新

更进一步,我们可以利用线上数据实现“数据飞轮”效应。根据真实业务数据的反馈,在线更新 Draft Model 的参数,使其更贴合 Target Model 的分布,从而持续提升接受率。这种闭环优化是传统静态部署难以实现的。

四、总结

将 Speculator 从 Target Model 中剥离出去,不仅化解了两者在算力资源上的天然冲突,更通过服务化的方式,为异构计算和动态调度打开了新的空间。

Speculator as a Service 的核心价值在于:

  • 解耦:解决算力争抢,各司其职。
  • 复用:充分利用异构算力,降低成本。
  • 智能:基于 QPS 和负载特征的动态调优,实现全局最优。

这或许是大模型推理架构从“单体”走向“微服务”的一个重要信号。未来,推理平台的竞争将不仅是模型能力的竞争,更是架构设计与资源调度能力的竞争。