Posted on ::

压测配置

本次压测对比原生与 3 种投机解码方案在 Qwen3.6-35B-A3B 上的吞吐、延迟与接受率。所有服务运行在同一台 4 × NVIDIA L20X (144 GB) 机器上,每张卡承载一个 vLLM 服务(TP=1),对 4 个服务串行压测。

1.1 部署的 4 个服务

使用 vLLM 官方镜像:hub.docker.alibaba-inc.com/aone-base-global/vllm-openai:v0.21.0 部署服务,确保环境统一。

模式GPU端口关键参数模型说明
原生(native)08000不使用投机解码,作为加速比基线
MTP(自带 Multi-Token Prediction)18001method=mtp, num_speculative_tokens=5使用模型自带 MTP 模型
DFlash28002method=dflash, num_speculative_tokens=15, attention_backend=FLASH_ATTNDFlash 官方提供的 z-lab/Qwen3.6-35B-A3B-DFlash
Eagle338003method=eagle3, num_speculative_tokens=5使用 140 万条数据自训

1.2 vLLM 统一参数(4 个服务一致)

  • --tensor-parallel-size 1 — 单卡 TP
  • --max-model-len 32768
  • --max-num-seqs 64 / --max-num-batched-tokens 16384 — 为 DFlash spec=15 留够批 token 预算
  • --gpu-memory-utilization 0.85
  • --trust-remote-code --reasoning-parser qwen3

1.3 evalscope 客户端参数

  • --max-tokens 512(每条请求最大输出)
  • --temperature 0(确定性输出,便于复现)
  • --stream(SSE 流式以测量 TTFT)
  • 关闭 thinking--extra-args '{"chat_template_kwargs": {"enable_thinking": false}}'
  • 并发档:1 / 4 / 16 / 32
  • 对应请求总数:32 / 80 / 160 / 320

1.4 数据集

规划压测时,优先选投机解码论文标准集(MT-Bench / HumanEval / GSM8K / CNN-DM)覆盖 4 类典型分布,避免用 random 数据集——投机解码效果对数据分布敏感,随机 token 上拿不到加速。

数据集规模任务类型evalscope 模式
MT-Bench80 conv × 2 turns多轮对话custom_multi_turn
HumanEval164 prompts代码补全line_by_line
GSM8K (test)500 prompts数学链式推理line_by_line
CNN-DailyMail (test)200 篇,截断 ≤ 4096 chars长文本摘要line_by_line

1.5 关键指标说明

  • 输出吞吐(Output tok/s):每秒生成的输出 token 总数。
  • TTFT(Time To First Token):从请求发出到第一个 token 返回的延迟。
  • TPOT(Time Per Output Token):除去 TTFT 后,每个输出 token 的平均生成耗时。
  • 真实接受率(Real Acceptance Rate):每个 draft token 被接受的概率,由 vLLM /metrics 直接读取(spec_decode_num_accepted_tokens_total / spec_decode_num_draft_tokens_total 在压测前后做差)。
  • Mean Acceptance Length(MAL):每次 verify 步骤实际产出的 token 数(含 base token),公式 MAL = 1 + accepted_draft_tokens / drafts。这是投机解码论文里的标准指标。
  • evalscope 接受率:evalscope 根据 SSE chunk 数推断的近似接受率(1 - 1 / Decoded_Tok_per_Iter),仅作对照。当 num_speculative_tokens > 3 时此估计常会显著偏离真值。

压测结果

总览

2.1.1 各数据集最大吞吐加速比

数据集MTP (spec=5)DFlash (spec=15)Eagle3 (spec=5)
MT-Bench(多轮对话)2.17× @ 并发=321.82× @ 并发=321.98× @ 并发=32
HumanEval(代码补全)2.79× @ 并发=322.46× @ 并发=162.82× @ 并发=32
GSM8K(数学链式推理)2.67× @ 并发=322.25× @ 并发=162.72× @ 并发=32
CNN-DailyMail(长文本摘要)1.79× @ 并发=321.65× @ 并发=321.58× @ 并发=32

2.1.2 Mean Acceptance Length

每次 verify 实际产出的 token 数(含 base token);对所有并发档求均值

数据集mtpdflasheagle3
MT-Bench(多轮对话)3.5352.5712.962
HumanEval(代码补全)5.2974.6315.040
GSM8K(数学链式推理)4.8173.7684.607
CNN-DailyMail(长文本摘要)3.2272.3372.614

2.1.3 真实接受率(vLLM /metrics 指标)

数据集mtpdflasheagle3
MT-Bench(多轮对话)0.5070.1050.392
HumanEval(代码补全)0.8590.2420.808
GSM8K(数学链式推理)0.7630.1850.721
CNN-DailyMail(长文本摘要)0.4450.0890.323

图表

2.2.1 输出吞吐 tok/s

数值越大越好 输出吞吐 tok/s

2.2.2 Mean Acceptance Length

每次 verify 实际产出 token 数,含 base token

Mean Acceptance Length

并发为 4 时,DFlash 的 MAL 跌到 1 附近,应该是 vLLM 实现存在 bug,输出变为重复字符,可以忽略。

2.2.3 接受率(vLLM 指标)

接受率

2.2.4 各位置 draft token 接受率衰减曲线

各位置 draft token 接受率衰减曲线

2.2.5 TPOT

TPOT

2.2.6 TTFT

TTFT

总结

3.1 加速效果横向对比

各投机解码方案在所有 (数据集 × 并发) 组合上的平均输出吞吐加速比,相对不开投机采样:

  1. MTP(自带,step=5):平均 1.86×
  2. Eagle3(step=5):平均 1.81×
  3. DFlash(step=15):平均 1.49×

3.2 数据集敏感性:投机解码收益与数据分布强相关

按 3 种投机方案的平均真实接受率排序(接受率高的数据集,3 种方案都能拿到更大的加速比):

  1. HumanEval(代码补全):平均接受率 63.7%
  2. GSM8K(数学链式推理):平均接受率 55.6%
  3. MT-Bench(多轮对话):平均接受率 33.5%
  4. CNN-DailyMail(长文本摘要):平均接受率 28.6%

规律:结构化、模式重复的文本(代码、数学公式)接受率最高,开放生成(多轮对话、自由摘要)接受率较低。这与投机解码的核心机制一致,草稿模型在分布更窄的语料上更容易猜中下一批 token。

例子:

HumanEval 直接给代码补全:“def f(x):\n return ...” —— 大量语法 token 重复

GSM8K 直接给求解:“Step 1: ... = 12\nStep 2: ...” —— 数字 + 算式 + 固定模板

3.3 选型建议

  • 首选 MTP:模型自带草稿头、在所有数据集上加速比稳定(本次平均 1.86×、峰值 2.79×@HumanEval conc=32),且接受率最高(0.45-0.86)。
  • Eagle3 备选:与 MTP 速度接近,在代码/数学场景几乎打平(HumanEval 2.82× / GSM8K 2.72×),但需要单独训练并部署 Eagle3 草稿权重。如果模型没有自带 MTP,EAGLE3 是首选。
  • DFlash 目前无优势:效果大幅低于预期,吞吐远不如前两者,虽然支持并行预测,但每一步的接受率都很低,远不如前两者。

3.4 备注

  • 当前 Eagle3 模型训练时直接使用了 open-perfectblend 数据集中的 140 万条数据,考虑时间关系,没有对这 140 万条数据使用 Qwen3.6-35B-A3B 模型做 regenerate 后再训练。如果使用重新生成的数据,还会有 5% 以上的提升。
  • 本次测试关闭了 thinking,如果开启 thinking,加速效果要降低不少。这主要是因为 thinking 输出的 reasoning 看似模式化,但本质是自由发挥的自然语言推理,token 分布广,不容易猜中。

附: 每个数据集的详细数据

4.1 数据集:MT-Bench(多轮对话)

4.1.1 原始指标

模式并发输出吞吐 tok/sTTFT (ms)TPOT (ms)输入 tok输出 tok真实接受率Mean Acceptance Lengthevalscope 接受率
native1117.19279.0508.310246.828325.844nannannan
native4206.273111.73019.230278.075360.925nannannan
native16343.418173.65044.260277.894364.878nannannan
native32474.012227.72064.840276.197363.873nannannan
mtp1140.962130.3906.940246.250322.9060.4673.3330.702
mtp4295.306219.24012.860277.275359.3560.5263.6290.733
mtp16635.900280.30023.450276.366361.9940.5173.5840.730
mtp321030.361339.01028.570276.113362.1310.5193.5940.732
dflash1106.20498.8709.290244.594318.3440.1453.1750.723
dflash4219.665101.75017.960130.094512.0000.0051.0770.111
dflash16547.825284.84026.100282.216374.4560.1463.1970.750
dflash32861.358317.55038.750290.581400.3370.1222.8360.683
eagle31135.10690.5007.360246.250322.9060.3562.7810.652
eagle34269.317165.94014.150276.875359.5560.4073.0350.694
eagle316571.457256.53025.810276.019361.9780.4033.0140.692
eagle332937.758299.39031.250275.688362.6340.4043.0190.695

4.1.2 吞吐加速比(相对 native)

并发mtpdflasheagle3
11.2030.9061.153
41.4321.0651.306
161.8521.5951.664
322.1741.8171.978

4.2 数据集:HumanEval(代码补全)

4.2.1 原始指标

模式并发输出吞吐 tok/sTTFT (ms)TPOT (ms)输入 tok输出 tok真实接受率Mean Acceptance Lengthevalscope 接受率
native1114.08476.3808.330124.875157.188nannannan
native4204.242109.21018.840146.375198.688nannannan
native16368.256167.53041.200170.419244.300nannannan
native32521.716213.67057.880170.047247.688nannannan
mtp1201.55794.3304.380124.875157.5310.8855.4240.807
mtp4389.037174.3709.050146.375199.1620.8635.3160.808
mtp16884.084265.27015.990170.419247.4190.8445.2210.806
mtp321455.235314.42019.100170.047246.7090.8465.2280.806
dflash1242.84396.8103.500124.875156.7500.5629.4260.889
dflash4206.171111.20019.160146.375512.0000.0011.0150.044
dflash16905.891284.30013.550170.419241.7750.2755.1310.857
dflash32921.457310.77036.060170.047299.4030.1302.9540.672
eagle31215.72186.4704.130124.875157.5310.8475.2360.800
eagle34386.925164.1909.080146.375198.0620.8095.0430.800
eagle316889.072254.50015.930170.419246.7870.7894.9470.798
eagle3321469.072296.64018.920170.047248.0440.7874.9360.798

4.2.2 吞吐加速比(相对 native)

并发mtpdflasheagle3
11.7672.1291.891
41.9051.0091.894
162.4012.4602.414
322.7891.7662.816

4.3 数据集:GSM8K(数学链式推理)

4.3.1 原始指标

模式并发输出吞吐 tok/sTTFT (ms)TPOT (ms)输入 tok输出 tok真实接受率Mean Acceptance Lengthevalscope 接受率
native1117.71967.2608.32070.812346.406nannannan
native4210.96797.84018.46071.700331.688nannannan
native16368.318157.33041.06073.250331.694nannannan
native32533.173199.90057.15072.334328.297nannannan
mtp1192.86387.8204.93070.812351.5000.7614.8060.790
mtp4377.400163.1509.94071.700333.0250.7604.8010.788
mtp16861.095253.25016.98073.250327.5940.7684.8420.790
mtp321424.516294.93020.06072.334330.0410.7644.8210.790
dflash1179.26087.8405.38070.812344.6560.3446.1650.836
dflash4237.80597.05016.56071.700512.0000.0061.0960.093
dflash16827.024275.16017.27073.250337.3810.2644.9560.811
dflash32900.894292.59035.10072.334427.7120.1242.8550.680
eagle31207.90278.7604.59070.812351.5000.7284.6400.783
eagle34381.654158.3009.81071.700332.0750.7234.6130.781
eagle316858.224241.85016.72073.250328.3870.7184.5910.781
eagle3321450.546281.02019.70072.334329.6030.7174.5840.781

4.3.2 吞吐加速比(相对 native)

并发mtpdflasheagle3
11.6381.5231.766
41.7891.1271.809
162.3382.2452.330
322.6721.6902.721

4.4 数据集:CNN-DailyMail(长文本摘要)

4.4.1 原始指标

模式并发输出吞吐 tok/sTTFT (ms)TPOT (ms)输入 tok输出 tok真实接受率Mean Acceptance Lengthevalscope 接受率
native1114.531102.3008.330655.719238.750nannannan
native4206.645131.85018.540612.675229.975nannannan
native16383.733203.15039.660609.438225.825nannannan
native32550.501263.71054.930618.203224.056nannannan
mtp1132.476121.6407.100655.719240.1560.4373.1870.679
mtp4273.627190.48013.620612.675230.5000.4493.2460.685
mtp16617.907287.34023.780609.438224.3380.4493.2460.686
mtp32983.677364.19029.550618.203227.2840.4463.2290.685
dflash192.638120.55010.400655.719231.9690.1262.8920.650
dflash4176.741160.02022.360612.675512.0000.0001.0000.024
dflash16465.982303.44030.720609.438252.3630.1042.5630.632
dflash32911.032359.26035.820618.203414.5470.1262.8910.680
eagle31122.308112.4807.770655.719240.1560.3192.5940.608
eagle34238.442178.71015.800612.675225.0120.3232.6160.612
eagle316544.450269.02027.120609.438224.3000.3252.6250.615
eagle332871.035342.48033.600618.203227.2220.3242.6210.615

4.4.2 吞吐加速比(相对 native)

并发mtpdflasheagle3
11.1570.8091.068
41.3240.8551.154
161.6101.2141.419
321.7871.6551.582
留言

欢迎补充观点、指出疏漏,或者继续展开文中的问题。

Table of Contents