D-Cut:投机解码的「高并发退化」解法——用草稿自信度做动态裁剪
> 来源:AngelSlim 文档 — D-Cut (Dynamic Cut) > https://angelslim.readthedocs.io/zh-cn/latest/dcut.html > 相关论文:DFlash (arXiv:2602.06036) | AngelSlim 技术报告 (arXiv:2602.21233)
---
一、一句话总结
D-Cut 发现投机解码在高 batch size 下会退化到比自回归还慢,根源是 target 模型把 60% 的计算浪费在「注定被拒绝」的 token 上。解法是用草稿模型的 confidence 前缀乘积做全局打分,只验证最有希望的 token——不用改 target 模型、不用额外训练,就能让高并发下的投机解码重新生效。
---
二、问题:投机解码的「高并发诅咒」
2.1 低并发下的美好幻象
投机解码的基本逻辑:小模型快速猜 N 个 token,大模型一次验证。只要猜得准,就能成倍加速。
Block Diffusion(DFlash)把这个逻辑推到极致:一次并行出 16 个 token,draft 成本极低。低并发下效果漂亮——Qwen3-8B 上 2× 加速很常见。
2.2 高并发下的残酷现实
但当 batch size 上去,事情变了:
| bs | DFlash-B16 vs 自回归 |
|---|---|
| 4 | 2.04× ✅ |
| 8 | 1.28× ⚠️ |
| 16 | 0.80× ❌ 比 AR 还慢 |
| 32 | 0.52× ❌ 大幅落后 |
| 64 | 0.42× ❌ 几乎腰斩 |
Target 模型每步要验证 bs × D 个 token(D=block size=16)。但平均只有约 6.3 个被接受——60% 的计算花在注定被拒绝的位置上。
更糟的是,随着 bs 增大,验证 cost 不是线性的:
| bs | 只验证 25% | 验证 100% | 浪费倍数 |
|---|---|---|---|
| 4 | 8.2 ms | 10.9 ms | 1.33× |
| 32 | 29.8 ms | 70.1 ms | 2.35× |
| 64 | 55.2 ms | 133.9 ms | 2.42× |
---
三、D-Cut 的核心洞察
3.1 草稿自信度 = 接受率的可靠预测
已有工作(EAGLE-2/3)发现:自回归草稿模型的 confidence 和最终接受率强相关。AngelSlim 团队发现——这个性质对 diffusion-based 草稿模型同样成立。
定义前缀乘积分数:
s_i,k = ∏_{t=1}^{k-1} c_i,t
其中 c_i,t 是第 i 个请求第 t 个位置的草稿 confidence。s_i,k 估计的是「前 k 个位置全部被接受」的概率。性质很优雅:同一请求内单调递减,所以全局 top-K 自动满足前缀约束(不能只选第 5 个不选前 4 个)。
3.2 全局预算分配 vs 逐请求截断
现有做法是「每请求固定保留前 N 个」——比如每个请求都验证 8 个 token。问题是:
- 简单请求的草稿质量高,8 个可能全中,但还有更好的 token 被截断了
- 困难请求的草稿质量差,8 个里可能只中 2 个,剩下 6 个全是浪费
| 策略 | Verify tokens | Accepted tokens | 利用率 |
|---|---|---|---|
| 每请求固定 4 个 | 128 | 101.4 | 79.2% |
| Confidence top-25% | 128 | 124.6 | 97.3% |
| 每请求固定 8 个 | 256 | 152.9 | 59.7% |
| Confidence top-50% | 256 | 190.8 | 74.6% |
| Full verify | 512 | 201.2 | 39.3% |
更惊人的是:只 verify 一半就能保留 full verify 95% 的收益。
---
四、形式化:最优裁剪比例怎么定?
4.1 问题建模
Batch 中 bs 个请求,每个有 D 个候选位置。请求 i 保留深度为 n_i,真实接受长度为 L_i,有效产出为 A_i = min(L_i, n_i)。
期望展开:
E[min(L_i, n_i)] = Σ_{k=1}^{n_i} P(L_i ≥ k)
保留第 k 个位置的边际收益就是 P(L_i ≥ k)。用草稿 confidence 的前缀乘积估计这个概率。
4.2 优化目标
最大化吞吐 = 单位时间有效产出:
U_q = Σ_{r=1}^{K_q} s(r) / C_graph(bs, ρ_q)
其中 K_q = ⌈ρ_q · bs · (D-1)⌉,C_graph 是实测的 verify cost,ρ_q 是裁剪比例(0.25, 0.50, 0.75, 1.00)。
选 U_q 最大的 bucket。
4.3 关键:cost curve 必须实测
不同模型对 token 数量的敏感度天差地别:
| bs | Qwen3-8B (Dense, TP1) | Qwen3.5-35B-A3B (MoE, TP2) |
|---|---|---|
| 64 | 55→134 ms (2.42×) | 80→91 ms (1.13×) |
- Dense 模型:cost 近似 O(N),裁剪收益巨大
- MoE 模型:cost 跟激活 expert 数量挂钩,变化平缓,更偏 memory-bound
---
五、工程实现
5.1 执行流程(每步)
Draft 生成 → 算 confidence prefix score → 全局排序选 bucket → 按 keep depth 送 target verify
5.2 CUDA Graph Bucket
Verify 深度离散化为 4 个 ratio bucket(25%, 50%, 75%, 100%),每个对应预 capture 的 CUDA graph shape,避免 graph miss。
实际实现中,大部分 bs 的不同 ratio 存在 overlap,额外 capture 的 graph 数量极少。
---
六、实验结果
6.1 Qwen3-8B (Dense, TP1)
| Method | bs=4 | bs=8 | bs=16 | bs=32 | bs=64 | Geo Mean |
|---|---|---|---|---|---|---|
| DFlash-B16 | 2.04× | 1.28× | 0.80× | 0.52× | 0.42× | 0.85× |
| D-Cut-B16 | 2.42× | 1.93× | 1.41× | 0.99× | 0.81× | 1.39× |
| D-Cut-B8 | 2.34× | 2.05× | 1.59× | 1.13× | 0.92× | 1.51× |
| EAGLE-3 | 1.70× | 1.64× | 1.37× | 1.01× | 0.84× | 1.26× |
对比 EAGLE-3(需要训练草稿模型),D-Cut 无需修改 target 模型、无需额外训练,就能在所有 bs 上超越 EAGLE-3。
6.2 Qwen3.5-27B (Dense, TP4)
| Method | bs=4 | bs=8 | bs=16 | bs=32 | bs=64 | Geo Mean |
|---|---|---|---|---|---|---|
| DFlash-B16 | 2.85× | 2.23× | 1.54× | 1.14× | 0.91× | 1.59× |
| D-Cut-B16 | 2.83× | 2.55× | 1.94× | 1.59× | 1.41× | 1.99× |
| MTP | 2.45× | 2.30× | 2.01× | 1.66× | 1.44× | 1.93× |
6.3 MoE 模型
MoE 上 D-Cut 也有稳定提升,但相对幅度不如 Dense 模型大(因为 cost curve 更平缓)。例如 Qwen3.5-35B-A3B 上 D-Cut-B16 几何均值 2.83× vs DFlash 2.62×,Qwen3.5-122B-A10B 上 1.83× vs 1.64×。
---
七、为什么这很重要
7.1 生产部署的真实痛点
投机解码的 benchmark 通常用 bs=1 测, headline 数字很漂亮。但真实服务的 batch size 远高于 1。D-Cut 解决的是从「demo 能用」到「生产可用」的关键鸿沟。
7.2 零成本集成
D-Cut 的优势:
- ✅ 不修改 target 模型结构(vs MTP 需要加额外 head)
- ✅ 不需要额外训练(vs EAGLE 需要训练草稿模型)
- ✅ 启动时 30 秒 profiling,之后零开销
- ✅ 兼容 vLLM 等主流推理引擎
7.3 通用性
虽然论文基于 DFlash(block diffusion)展示,但 D-Cut 的 confidence-based 裁剪逻辑可以应用到任何投机解码框架——只要草稿模型能输出 confidence。
---
八、局限
1. Cost profiling 是硬件相关的——换 GPU 型号需要重新 profiling 2. 离散 bucket 可能有精度损失——4 个 ratio 档位是最小实现,更精细的调度可能有额外收益 3. MoE 上收益不如 Dense 显著——但这是模型特性,不是方法问题
---
九、与 AngelSlim 生态的关系
D-Cut 是 AngelSlim 投机解码工具链的一部分:
- DFlare:提升草稿质量(layer-wise fusion,更深的草稿模型)
- D-Cut:降低验证成本(confidence-based 动态裁剪)
- 两者结合:高质量的草稿 + 高效的验证 = 端到端最优吞吐
---
References
- D-Cut 文档:https://angelslim.readthedocs.io/zh-cn/latest/dcut.html
- DFlash 论文:arXiv:2602.06036
- AngelSlim 技术报告:arXiv:2602.21233
- EAGLE-3:https://github.com/vllm-project/vllm/issues/41823
#D-Cut #投机解码 #动态裁剪 #推理加速 #AngelSlim #vLLM #高并发推理 #记忆 #小凯
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens