来自Polymathic AI、普林斯顿大学、USC ISI、纽约大学和Flatiron研究所的研究人员发布了 FlashMap。FlashMap推测解码用连续流映射取代了离散扩散起草器。它以1次前向传播起草完整的16-token块。该块中的token彼此保持一致。在Qwen3-8B上,研究团队报告在GSM8K上实现了最高 6.14倍无损加速 在GSM8K上。Qwen3-8B和Qwen3-4B的起草器权重为 发布在Hugging Face上,并配有 vLLM和SGLang插件.
TL;DR
- 规模: 0.5B参数起草器(Qwen3-8B为500M,Qwen3-4B为475M);起草K = 16个token的块。
- 运行于: 与目标模型相同的GPU。论文中的加速数据使用1块NVIDIA H200 NVL,并发为1,bf16精度。
- 性能: 在Qwen3-8B上测试的速度最快起草器,平均比重新训练的DFlash高约7%。
- 最佳: 在GSM8K、temperature 0下实现6.14倍加速(接受长度7.69个token)。
- 最差: 在Alpaca、temperature 1下实现2.28倍加速。在Qwen3-4B(temperature 0)上,它在9项任务中的4项上落后于DFlash。
什么是FlashMap?
FlashMap是一种推测解码起草器,可在1步内将高斯噪声映射为一个token块。小型起草器提出K个token。然后目标模型以1次并行前向传播检查所有K个token,并保留最长的匹配前缀。输出与目标模型本会产生的结果完全一致。
速度取决于2件事:有多少起草的token被接受,以及起草它们的成本有多低。 EAGLE-3 以自回归方式起草,因此成本随块长度增长。 DFlash 用块扩散以1次前向传播起草完整块。
为什么扩散起草器会损失接受率?
DFlash独立地预测块中的每个槽位。研究团队称之为因子化近似。设想一个延续为“new york”或“san diego”且概率相等的情况。独立起草器有一半的概率会提出“new diego”或“san york”。目标模型会在第2个槽位拒绝这些。
FlashMap构建于 Flow Map 语言模型。每个噪声样本映射到 1 个完整块。噪声为每个槽位联合选择模式。
FlashMap 是如何工作的?
起草器是一个 6 块扩散变换器(DiT),嵌入维度为 2048,注意力头数为 16。它读取目标层 1、9、17、25 和 33 的隐藏状态。嵌入矩阵和 LM head 从目标模型复制并保持冻结。
训练分为 2 个阶段:
- Flow 教师: 一个在 one-hot 词块上的连续流,用交叉熵训练。时间重参数化处理了 Qwen3 的 151,936 词元词表。
- Flow map 学生: 半群蒸馏将流转换为 2 时间去噪器。它在 1 步内从噪声跳到数据。
两个起草器均在 500K 样本上训练,数据来自 Open-PerfectBlend。所有模型和消融实验的总计算量约为 4,600 GPU 小时(H200)。
FlashMap 在基准测试中表现如何?
研究团队在相同数据和设置下重新训练了 EAGLE-3 和 DFlash。测试覆盖数学、代码和聊天领域的 9 个基准,温度为 0 和 1。
- 速度: 1 步 FlashMap 在所有 Qwen3-8B 任务上都是最快的起草器,在两种温度下均是如此。
- 准确率: 1 步 FlashMap 在 18 个设置中的 15 个里接受长度超过 DFlash。它的参数量约为后者的一半。
- 聊天领域收益最大: 在温度 0 下,相对 DFlash 的提升为数学 5.5%、聊天 11.1%。
- 2 步模式: 接受长度在 18 个设置中的全部 18 个里超过 DFlash,平均高出 10%。
- EAGLE-3: 在温度 1 下,其接受长度高 9%,但运行速度慢 35%。
一项打乱测试检查草稿是否使用了真实的词间结构。在 2 步时,FlashMap 恢复了 16 步教师的大部分联合结构收益。在 1 步时,它只保留了很小一部分。将 4 个噪声样本作为树进行起草,使加速平均提高了 11%。
对比:FlashMap 与其他投机解码起草器
| 特性 | FlashMap | DFlash | EAGLE-3 | DSpark |
|---|---|---|---|---|
| 草稿风格 | 连续流映射,1 或 2 次传递 | 块扩散,1 次传递 | 自回归,树形 | 半自回归 |
| 词元间依赖 | 是,在块上联合建模 | 否,每个槽位独立 | 是,顺序式 | 是,轻量级顺序模块 |
| 草稿模型规模 (Qwen3-8B) | 500M | 1B | 302M(重新训练, 依据 FlashMap 论文) | 未披露 |
| 主要声明(自述来源) | 最高 6.1x | Qwen3-8B 上最高 6.17x | 最高 6.5x | 相比 MTP-1 每用户快 60% 至 85% |
| 平均加速比,Qwen3-8B,T=0(匹配, FlashMap 论文) | 4.36x | 4.07x | 2.55x | 未测试 |
| GSM8K 加速比,T=0(匹配) | 6.14x | 5.77x | 3.20x | 未测试 |
| 权重许可证 | Apache-2.0 | MIT | Apache-2.0 (代码) | 未披露 |
| 服务部署 | Transformers、vLLM、SGLang | Transformers、vLLM、SGLang | SGLang 及其他 | DeepSeek-V4 服务部署 |
平均加速比由 Marktechpost 根据 FlashMap 论文图 1(c) 计算得出。匹配的行使用作者重新训练的基线。
如何部署 FlashMap?
该 flashmap 软件包只需要 torch 和 transformers>=4.56。使用 uv pip install flashmap安装它。一次 spec_generate 调用即可在 1 个 GPU 上同时运行 drafter 和目标模型。
对于服务部署, 项目页面 提供了 2 条路径:
- vLLM 0.31: 在
--speculative-config中传入 drafter,并将num_speculative_tokens设置为 16。 - SGLang 0.5.20: 使用
--speculative-algorithm DSPARK配合 FlashMap 草稿路径。
设置 num_steps=2 用一些速度换取更高的接受率。对于温度 0 以上的采样,vLLM 需要 "draft_sample_method": "probabilistic".
关键要点
- FlashMap 通过连续流映射在 1 次前向中联合草拟 16 个 token。
- 在 Qwen3-8B 上使用 0.5B 草拟模型,实现最高 6.14 倍无损加速。
- 在全部 9 个 Qwen3-8B 基准上均快于重新训练的 DFlash。
- 2 步模式使整个块的接受率保持平稳。
- 权重采用 Apache-2.0 许可,代码采用 MIT 许可,并提供 vLLM 和 SGLang 插件。
欢迎查看 论文, 项目页面, GitHub 仓库 以及 模型权重。另外,欢迎在 Twitter 上关注我们,别忘了加入我们的 150k+ML SubReddit 并订阅 我们的 Newsletter。等等!你用 Telegram 吗? 现在你也可以在 Telegram 上加入我们了。
需要与我们合作推广你的 GitHub 仓库、Hugging Face 页面、产品发布、网络研讨会等吗? 与我们联系
本文《 Polymathic AI 与普林斯顿研究人员发布 FlashMap,一种实现 6.14 倍更快 LLM 解码的流映射草拟模型 》首发于 MarkTechPost.