大模型推理慢,根子在自回归解码每次前向传播只吐一个字。2026年10月28日,Polymathic AI 联合普林斯顿大学、USC ISI、NYU 和 Flatiron Institute 开源了名为 FlashMap 的投机解码草稿模型(论文于10月17日提交,编号 arXiv:2610.24365,作者包括 Jeff Shen、Zhejian Zhou、Ryan Lee、Jonathan May 和 Shirley Ho),在 Qwen3-8B 上跑出了最高 6.14倍 的解码加速。数字很唬人,但如果把测试条件剥开看,它真正改写的是并行起草的算法底层,而不是让所有线上服务的推理账单立刻缩水六分之五。
先把这起开源的核心家底亮清楚:
- 核心做法.用两阶段训练(先训练连续流,再蒸馏为流映射 Flow Map),结合目标模型的隐藏状态,单次前向传播就能把高斯噪声直接转化成一整块有上下文连贯性的草稿 Token。
- 代码落点.已在 GitHub(al-jshen/flashmap)开源,直接给了 Transformers 参考实现和 SGLang、vLLM 推理插件。
- 受益对象.本地部署、个人 AI 助手、实时代码补全等低并发、死磕单次响应延迟的场景。
用一半参数打破起草僵局
投机解码的逻辑很朴素,就是找个轻量级小模型先一口气猜几个词,再让大模型一次性并行验真,不对的打回重来,从而在不掉点数的情况下白赚速度。但怎么“猜词”,业界一直卡在延迟和连贯性的死胡同里。

以 EAGLE-3 为代表的路线走的是串行自回归,小模型一个词一个词往外蹦,猜得准、上下文连贯,但起草过程本身拖慢了手脚。另一派如 DFlash 改用掩码去噪(扩散模型),能一次性并行拍出整块草稿,快是快了,却假设各个位置的词互相独立(因式分解预测),草稿内部前言不搭后语,大模型验真时通过率就上不去。
FlashMap 等于在两者之间搭了座桥。它把连续流蒸馏成流映射,一步到位生成整块草稿,同时锁住了词与词之间的联合依赖。
更值得留意的是参数账本。为了公平对比,研究团队在相同的 500K 样本子集上重新训练了所有基线。针对 Qwen3-8B,对比组 DFlash 的可训练参数量高达 1,049M,而 FlashMap 只有 500M(针对 Qwen3-4B 则为 475M)。用不到对手一半的体积,单步 FlashMap 在 Qwen3-8B 上的跨任务平均加速比反而比 DFlash 高出 7.4%。
拆开 6.14 倍的实验温室
看到 6 倍提速先别急着算省下多少显卡,我更在意的是这个峰值是在什么温室条件下测出来的。

翻开实验设定,6.14倍 的最高纪录诞生于 Qwen3-8B 模型、GSM8K 小学数学数据集、温度 T=0(贪婪解码)、单步起草,且对比的是最慢的原生自回归解码。而在一模一样的条件下,重训练的 DFlash 其实已经能跑出 5.77倍,EAGLE-3 则是 3.20倍。换句话说,从串行跨到并行是前人踩出来的红利,FlashMap 在并行路线内部的净增幅是稳健的改良,而非凭空变出六倍算力。
| 测试基准 / 场景 | FlashMap (T=0) | DFlash (T=0) | EAGLE-3 (T=0) | FlashMap (T=1) |
|---|---|---|---|---|
| GSM8K(数学) | 6.14x | 5.77x | 3.20x | 5.12x |
| MATH(数学) | 5.89x | 5.59x | - | 4.39x |
| LiveCodeBench(代码) | 5.26x | 4.88x | - | - |
| HumanEval(代码) | 4.73x | 4.50x | 2.87x | 3.95x |
| Arena-Hard(对话) | 3.04x | 2.67x | 1.92x | 2.30x |
| MT-Bench(对话) | 2.73x | 2.48x | 1.80x | 2.44x |
一旦离开套路固定的数学和代码题,加速光环就会迅速褪色。在 Qwen3-8B(T=0)测试中,AIME25 加速比为 4.89x(DFlash 4.67x),MBPP 为 4.02x(DFlash 3.74x);可到了开放式对话场景,Arena-Hard 直接掉到 3.04x,MT-Bench 跌至 2.73x,Alpaca 只剩 2.56x(DFlash 2.34x)。如果把采样温度调到日常聊天常用的 T=1,加速比还会再缩水一截,MT-Bench 和 Arena-Hard 分别只剩 2.44x 和 2.30x。
道理并不复杂。每轮验证预算固定为 16 个草稿 Token 时,写数学题和敲代码的下一步非黑即白,Qwen3-8B(T=0)在 GSM8K 上的平均接受长度(含目标模型额外生成的 1 个 Token)能达到 7.69,HumanEval 也有 5.82;而在天马行空的 MT-Bench 对话里,平均接受长度直接腰斩到 3.34。猜不准,自然就快不起来。
草稿模型省下的每一毫秒,既靠算法看准了上下文,也沾了参数砍半的光。
这里还藏着一个被论文混在一起的变量。每个输出 Token 的耗时等于起草耗时加上验证耗时,再除以接受长度。FlashMap 赢过 DFlash 的那 7.4%,到底有多少是因为流映射抓住了词间依赖、提高了猜中率,又有多少单纯是因为模型从 1,049M 瘦身到 500M 降低了起草本身的延迟?这两笔账目前是糊在一起的。
单并发极速不等于生产吞吐
《韩非子》里有句话叫“夫视锻锡而察青黄,区冶不能以必剑”,光看炉火里的锡铁成色,名匠也断不出一把剑在战场上好不好使。把 FlashMap 放回真实的工程环境,它的局限性写在了实验配置单里。

论文所有的主实验,都跑在单张 NVIDIA H200 NVL GPU 上,基于 SGLang 0.5.20(DeepSpec commit 005e03b),最大生成新 Token 数为 2,048,每个配置仅运行单次,且最关键的并发数(concurrency)被死死锁在 1。
做推理基建的人都清楚,单用户独占一张 H200 时,显卡算力大量闲置,瓶颈全在显存带宽,投机解码拿闲置算力换时间,自然跑得飞快。但云厂商和 API 服务商跑的是高并发连续批处理(Continuous Batching),算力本来就喂饱了,再塞一个 500M 的草稿模型进去抢显存和计算单元,投机解码的收益往往会断崖式下跌。论文对高并发吞吐量(Throughput)的测试完全是空白。
- 风险.实验不仅只验证了 Qwen3-4B 和 8B,还特意关闭了思考模式(thinking disabled)。在当下主流的 70B+ 大模型以及动辄输出上万字长思维链(CoT)的场景里,流映射能不能抗住误差累积,目前全是未知数。
工程落地的毛刺同样扎手。截至10月28日,其 GitHub 仓库还是 0 个公开 Issue 的冷清状态,缺乏第三方独立复现背书;连项目自己的 README 里都老实交代了 vLLM/FlashInfer 缺失 nvcc、以及 SGLang 中 DeepGEMM 强行要求 CUDA 12.9 以上版本的启动报错,目前只能靠设置环境变量临时绕过。
但这并不妨碍一类人立刻吃到红利。像 Copilot 类的实时代码补全、或是跑在本地工作站上的个人低延迟 Agent,本来就是并发为 1、且高度集中在代码与逻辑推理的刚需场景。4 到 6 倍的单请求延迟暴降,足够让卡顿的交互瞬间丝滑。
单骑突进易,万马齐喑难。FlashMap 证明了流映射在并行猜词上的算法巧思,但实验室里单卡单并发的六倍极速,终究要过生产环境高并发压测的窄门。
