![]()
本文共同第一作者为阿里巴巴千问事业部胡欣怡博士、浙江大学博士生沈宇豪,以及阿里巴巴千问事业部张堡霖。其中,胡欣怡博士长期从事高效大模型算法与系统研究,重点关注模型结构-系统协同设计、推理加速与生成链路优化等方向,是本工作的项目负责人。通讯作者为阿里巴巴千问事业部戈霜。
随着大模型参数规模持续扩大,推理成本已经成为生产级 LLM 服务的核心瓶颈。投机解码(Speculative Decoding, SD)通过「小模型 draft + 大模型 verify」的方式,将多个候选 token 放到一次目标模型前向中并行验证,从而缓解自回归解码的串行瓶颈。
但一个常被忽略的问题是:投机解码在单请求或低并发下有效,不代表它在真实高并发服务中依然有效。当 batch size 增大时,多个请求会同时争夺目标模型的验证计算资源;此时每多验证一个低价值 token,都可能直接转化为吞吐下降和尾延迟上升。
![]()
为了解决这一问题,来自阿里 ATH 事业群 - 千问事业部 - 基础工程团队和浙江大学的研究者提出了ECHO(Elastic Speculative Decoding with Sparse Gating for High-Concurrency Scenarios)。
![]()
- 作者: Xinyi Hu, Yuhao Shen, Baolin Zhang, Hengxin Zhang, Jun Dai, Shuang Ge, Lei Chen, Yue Li, Mingcheng Wan
- 单位: Alibaba Qwen Applications Business Group;Zhejiang University
- 论文: ECHO: Elastic Speculative Decoding with Sparse Gating for High-Concurrency Scenarios
- 链接: https://arxiv.org/abs/2604.09603
ECHO 不再把投机树构造看作 「尽可能多猜 token」的问题,而是将其重新建模为一个固定验证预算下的调度问题:在严格的全局 token 验证预算内,动态决定哪些请求应该继续加深、哪些请求应该提前截断、哪些预算应该转向扩宽候选集。
实验结果显示,在 BS=256 的高负载场景下,ECHO 将 Qwen3-235B-A22B 模型推理吞吐从 2,803 tok/s 提升至 3,207 tok/s,提升 14.4%,说明当 verification compute 逐渐成为稀缺资源时,验证预算调度能够显著提升投机解码的系统收益。
![]()
1. 为什么投机解码在高并发下会失效?
传统投机解码通常假设:目标模型一次验证多个 draft token 的成本,接近一次普通自回归前向。因此,只要 draft token 被接受得足够多,就能获得可观加速。
然而,在生产级服务中,这个假设并不总成立。
![]()
换句话说,投机解码在真实 serving 中不再是「免费验证更多 token」,而是在有限验证预算里选择「最值得验证的 token」。
现有方法主要面临两类问题:
- 静态树方法:采用固定结构,简单稳定,但容易在低置信度分支上浪费大量验证计算;
- 动态树方法:尝试根据 token 概率在线调整树结构,但往往依赖密集的逐层 / 逐节点决策,容易积累误判,并产生 ragged batch,难以适配高性能 serving kernel。
ECHO 的出发点正是:在高并发 serving 中,核心资源不是「draft token 数量」,而是目标模型每一步能够承受的验证预算。
2. ECHO:把投机树构造变成预算调度
ECHO 的核心思想可以概括为一句话:
在一个 batch 内,将所有请求的候选 token 树看作统一的 Super-Tree,并在全局验证预算 K_max 下弹性分配深度与宽度。
在每个投机解码 step 中,batch 内有 B 个并发请求。对于第 i 个请求,假设其构造的候选树包含 K_i 个待验证 token,那么目标模型实际要验证的是整个 batch 中所有候选节点的并集。ECHO 对其施加全局约束:
![]()
其中 K_max 代表当前硬件和 serving 系统在 compute-bound 区间附近能够承受的验证上限。这样,投机解码就从「每个请求独立扩树」转变为「多个请求共享一个全局预算池”」。
这带来了一个关键变化:给某个请求多分配一个候选 token,就意味着其他请求可用预算减少。因此,ECHO 不再盲目增加 draft depth 或 top-k,而是根据请求置信度动态决定预算如何流动。
3. 稀疏门控:只在可靠的 sweet spots 做决策
![]()
动态树方法的一个难点在于:如果每一层、每个节点都做决策,控制开销会迅速累积;更重要的是,不同深度上的置信度信号并不都同样可靠。
论文通过分析 accepted token 与 rejected token 的置信度分布发现:并非所有 draft depth 都适合做决策。某些深度上,接受与拒绝样本的分布区分度较高,论文称之为 sweet spots;而大量中间层的分布边界模糊,在这些位置频繁决策反而容易引入误判。
因此,ECHO 采用 Sparse Confidence Gating:
- 只在 root、target depth,以及少量自适应选择的中间深度进行门控;
- 通过 warm-up /calibration 阶段识别高区分度位置;
- 在推理时根据路径置信度判断当前请求是继续 deepen,还是 truncate 并释放预算。
对于第 i 个请求在深度 d 的候选集合,ECHO 使用最大似然路径概率作为置信度:
![]()
若 ci,d>τd,则认为当前路径高置信,可以继续向更深层扩展;否则提前截断,将预算释放给更高价值的请求或用于局部扩宽。
4. 弹性预算调度:从「多猜 token」到「验证预算重分配」
![]()
ECHO 的第二个核心组件是Unified Elastic Budget Scheduler。它在全局预算下,同时处理两类资源分配:
- 同一请求内部的 depth vs. width 调度:当深度扩展风险较高时,利用剩余预算在当前截断深度扩宽候选集;
- 不同请求之间的预算重分配:当某些低置信度请求被截断时,将节省出的预算转移给其他高置信度请求,用于继续加深。
具体来说,ECHO 采用两级优先级:
- Priority 1:Global Depth Extension
如果某个请求在 sparse gate 上通过置信度检查,则优先将预算用于继续加深,以减少后续全局验证 step 数。
- Priority 2:Opportunistic Width Expansion
如果没有请求能够继续高置信度加深,剩余预算才用于扩宽被截断请求的候选集合,提高当前深度覆盖正确 token 的概率。
这种机制自然适配不同验证预算状态:
- 在低负载场景下,验证预算相对充足,ECHO 可以将截断节省下来的预算重新用于当前请求的 width expansion;
- 当系统逐渐进入 verification compute-bound 区间时,验证预算竞争变强,低置信度请求释放出的预算会被优先转移给高置信度请求,用于 global depth extension。
这也是 ECHO 名称中「Elastic」的含义:它不是固定地追求更深或更宽,而是在请求熵、batch 负载和硬件预算之间动态调整。
5. 面向系统落地:ECHO 集成到 SGLang
很多动态投机树方法虽然在原始 transformer 实验中有效,但一旦进入真实 serving 框架,就会遇到 ragged batch 与 kernel 兼容性问题。
ECHO 在系统层面专门处理了这一点。论文将 ECHO 集成到工业级推理框架SGLang中,并通过Flatten & Pack将不同请求产生的非规则候选 token 树打包成 dense、kernel-compatible 的布局,再交给目标模型进行一次性验证。
这一步非常关键:如果算法产生的动态树结构无法高效进入 serving kernel,那么理论上的 token 节省很可能被系统开销抵消。ECHO 的设计目标不是单点优化 MAT,而是在真实高并发推理系统中提升 end-to-end goodput。
目前团队正在整理 ECHO 相关代码和文档,计划于 6 月向 SGLang 提交 MR,进一步推动代码开源、社区复现和系统集成。
6. 实验:从 8B 到 235B,验证预算受限区间收益更明显
论文在多种模型规模上验证了 ECHO,包括 Vicuna-13B、LLaMA-3.1-8B、LLaMA-3.3-70B,以及 Qwen3 系列的 8B、32B、235B。任务覆盖 HumanEval、GSM8K、CNN/DM、Alpaca 和 MT-Bench,实验在 8×NVIDIA H100 80GB GPU 上进行;低负载场景使用 HuggingFace transformers,高并发场景使用 SGLang。
在低负载 BS=1 的设置下,ECHO 在所有 benchmark 上达到1.63×–5.35×的 wall-time speedup。其中:
- LLaMA3.3-70B上,ECHO 最高达到5.35×加速;
- Qwen3-235B上,ECHO 平均加速达到2.02×,优于 DDD 的 1.77× 和 EAGLE-3 的 1.69×;
- Qwen3-32B上,ECHO 相比代表性动态方法 DDD 带来15.8%的提升。
ECHO 的主要有效区间,是 target verification 从近似免费并行逐渐进入 compute-bound 的验证预算受限区间。论文在 MT-Bench、GSM8K、HumanEval 上评估了 4 个模型配置,并对比 EAGLE-3 以及两个 ECHO 变体。结果显示,当 verification compute 逐渐成为稀缺资源时,ECHO 依然能够稳定提升吞吐,最大提升分别达到:
- LLaMA3.1-8B:7.92%
- LLaMA3.3-70B:12.96%
- Qwen3-8B:10.00%
- Qwen3-235B:14.95%
对于 Qwen3-235B 这类工业级大模型,verification compute 更早进入 compute-bound 区间,因此错误的预算分配会更快伤害吞吐。ECHO 通过将低置信度请求节省的 token 预算重新分配给高置信度请求,在 BS=256 时将吞吐从2,803 tok/s提升至3,207 tok/s,提升14.4%。
7. 消融实验:为什么 sparse gating 和 depth-aware threshold 都重要
![]()
论文还比较了 ECHO 与两个简化变体:
- Dense Gating:在每一层都做门控决策;
- Fixed Threshold:所有深度共用同一个置信度阈值。
结果表明,完整 ECHO 表现最好。原因在于:
- Dense Gating 虽然看似更精细,但在不可靠深度上频繁决策会引入额外开销与误判;
- Fixed Threshold 无法适应深度变化,因为 token 概率通常会随 depth 下降,单一阈值容易在深层过度剪枝,或在浅层放入过多低价值 token。
在 LLaMA3.1-8B、BS=256 设置下,Dense Gating 比 ECHO 低约 5% 吞吐;在 Qwen3-235B 上,ECHO 相比 Fixed Threshold 提升5.3%(3,046 → 3,207 tok/s)。
结语:投机解码进入「预算时代」
ECHO 的意义不只是提出了一个新的动态投机树策略,更重要的是给出了一个面向生产 serving 的观察:在高并发大模型推理中,投机解码的核心不再是「猜得越多越好」,而是「在固定验证预算内,让每个被验证 token 都更有价值」。通过 Super-Tree 视角、Sparse Confidence Gating、Elastic Budget Scheduling,以及面向 SGLang 的系统实现,ECHO 将投机解码从局部树结构优化推进到 batch-level 预算调度,为大模型高并发服务中的解码加速提供了新的思路。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.