SpecQuant: Speculative Decoding with Multi-Parent Quantization for Adaptive LLM Inference
Harish KB, Jagadeeswaran M, Pradheep P, Yuvanesh S, Sivakumar T
cs.LG
2026-09-18
从同一份Qwen2.5-7B切出INT4/FP8/FP16,按提示长度和句法路由,低精度当草稿做投机解码。相对常规解码加速35.2%到42.6%,准确率只掉0.1到0.2点。
本地跑 7B 级模型,消费级机器经常同时卡两件事:显存装不下 FP16,以及逐 token 自回归太慢。量化把权重压到 INT4 或 FP8,投机解码(speculative decoding)用一份更便宜的草稿一次猜多个 token、再让大模型并行核验。两条路各自能用,叠在一起就别扭:量化要选精度,投机解码通常要另训或另备一份 draft,两套权重对不齐,接受率一掉,加速就吐回去。
自适应推理里的 early exit、layer skipping 能按输入难度少算层,但多数要改结构或再训练。VIT 这篇短会论文想走更省事的路径:不训练、不另找 draft 架构,从同一份 Qwen2.5 切出多档量化,按提示表面难度选档,再用低精度草稿给父模型做核验。
底座是 Qwen2.5-7B-Instruct 的 FP16 权重,经训练后量化(post-training quantization)得到三档所谓「父模型」:
路由发生在真正解码之前,用三个表面特征估复杂度:输入 token 数、句法树深度、命名实体密度。短、句法浅的进 Q4,中等进 Q8,长或结构绕的进 Q16。高复杂度那一档跳过投机,Q16 按常规自回归生成;只有低、中复杂度进入草稿-核验循环。
核验公式是标准 Leviathan 式:草稿先吐一段候选,父模型一次核对,整段一致就收下,从第一个分歧处由父模型改写再开下一轮。关键设计选择是草稿和父模型来自同一套基权重,只差量化精度。作者赌的是分布更近,接受率会高于另训的小模型,也就不必维护独立 draft。这个形状接近 Zhang 等人 2023 年的 Draft & Verify 自投机,只是草稿换成了量化副本,外加一层提示路由。
硬件侧有放置策略:VRAM 够就把草稿和父模型都放 GPU;VRAM 紧则父模型留 GPU、草稿放到 CPU 出候选;没 GPU 就全 CPU。这是部署胶水。附录指向 GitHub 仓库 HyperKuvid-Labs/SpecQuant。
评测只报了 Qwen2.5-7B-Instruct,对照是「正常解码」(未量化、未投机)。三套任务如下。
| 任务 | 基线时延 | SpecQuant | 加速 | 基线准确率 | SpecQuant | 接受率 |
| MMLU | 4.07s | 3.01s | 35.2% | 72.5% | 72.3% | 66.1% |
| Alpaca Eval 子集 | 6.42s | 4.50s | 42.6% | 75.0% | 74.9% | 60.9% |
| GSM8K | 8.83s | 6.43s | 37.3% | 70.0% | 69.9% | 57.9% |
平均时延降 38.4%,准确率掉 0.1 到 0.2 点,比摘要里写的「不超过 2%」松得多。token 接受率落在 57.9% 到 66.1%。路由统计按三套基准平均:约 28% 低复杂度走 Q4,52% 中复杂度走 Q8,20% 高复杂度走 Q16,合计约 80% 的提示没用满精度。
论文没有和 EAGLE、Medusa、Draft & Verify 对照,也没有「只量化、不投机」的消融。GPU 型号、batch size、生成长度都没写。Table I 的 35.2% 和 42.6% 在后文又被写成低/中复杂度档的加速,同一组数字承担了两套解释。
对要在消费级机器上跑 7B 的人,这条路的门槛确实低:一份权重、PTQ 出多档、启发式路由、量化副本当草稿。不需要训 draft,也不改网络结构。相对朴素解码,35% 到 43% 的加速能感觉到;和成熟投机解码常见的约 2 倍不在一个量级。
这是把量化、路由、自投机叠在一起的渐进组合,发在 IEEE ICPC2T(电力、控制与计算会议)上,五页学生短文。能当一个可复现的本地部署配方去试,别把它读成新的解码算法。
作者几乎没单列局限。读下来站不住的地方比正文愿意承认的多。
对照太弱。加速是相对常规解码,不是相对已经量化的 INT4,也不是相对已经投机的 EAGLE。多出来的那三成时延,有多少来自量化本身、多少来自投机、多少来自把难题直接丢给 FP16,拆不开。
路由没有消融。长度、句法、实体密度怎么加权、阈值怎么定,论文没给。高复杂度约 20% 完全不做投机,这一档的端到端加速被平均吃掉了。
数字互相打架。同一组 35.2/42.6 既是三个 benchmark 的加速,又是低/中复杂度档的加速。Qwen2.5-7B-Instruct 在 GSM8K 上的公开数字远高于 70%,这里的 70.0% 更像子集或偏弱的评测协议。Alpaca Eval 写的是 subset,没写对哪个参考模型、是不是 win rate。
内存账也对不严。三档量化如果同时驻留,和「一份共享权重」对不上;如果按路由换入换出,第一次切换的加载开销没报。草稿究竟是更低一档量化,还是同档的另一份副本,正文两处说法拧着。