Flow Map Language Models: One-step Language Modeling via Continuous Denoising
Chanhyuk Lee, Jaehoon Yoo, Manan Agarwal, Sheel Shah, Jerry Huang, Aditi Raghunathan, Seunghoon Hong, Nicholas M. Boffi, Jinwoo Kim
cs.CL, cs.AI
2026-02-19
把 token 做成 one-hot,在连续空间用交叉熵学流和 flow map。1024 步 FLM 追上离散扩散;蒸馏后的 FMLM 在 LM1B 上一步生成困惑度 119,低于 Duo+Di4C 四步的 151。
离散扩散语言模型想靠并行去噪绕过自回归逐步吐字,少步采样时质量却掉得很狠。原因写在状态空间上:整句转移概率活在 |V|^L 那么大的空间里,只能按 token 因子分解。分解在无穷小步长才近似成立,步数一砍,token 之间的相关就被拆掉。论文用 new-york / san-diego 这种相关词对当示意:少步离散采样会拼出 new-diego 这种假组合。
连续扩散本来不需要这层分解,还可以把噪声到数据的确定性运输算子(flow map)直接学下来,一步到位。社区里却长期觉得连续方案打不过离散方案。这篇用最朴素的 one-hot 嵌入把这条路走通,并证明离散链在样本层面根本没有可计算的确定性 flow map。
每个 token 做成 one-hot,整句落在 R^{L×|V|},解码用 argmax。噪声和数据之间走线性插值,学的是干净数据的后验均值(denoiser),再线性换成速度场去积分。因为目标是 one-hot,denoiser 用 token 级 softmax 钉在单纯形上,损失用交叉熵,不再用对高斯噪声回归的 MSE。
时间轴不能均匀撒。词表上万时,解码对错几乎全集中在靠近 t=1 的窄窗口。作者按解码错误率 Pe(t) 做时间重参数 τ(t),训练和采样都在 τ 上均匀取点,把算力堆到真正决定 token 身份的区间。词表大约 5 万时,这一步被写成稳定训练的关键。
少步生成靠蒸馏 flow map。中间量叫 two-time denoiser δ{s,t}:用平均速度从时刻 s 朝终点迈完整剩余时间,它始终落在单纯形上。对角项把 δ 锚到教师 denoiser,非对角项用 KL 强制半群性质(两段运输等于一段)。采样时按任意时间网格跳,包括从 0 直接跳到 1。训练时另以 1/32 的概率强制抽 (s,t)=(0,1),否则重参数在 t=0 附近太平,一步生成学不够。
骨干是 179M 的 DiT(12 层,RoPE,AdaLN 做时间条件)。LM1B 句长 128、词表 30522;OWT 句长 1024、词表 50257。FLM 训练 100 万步,再蒸馏 10 万步得到 FMLM,batch 512,Adam 学习率 3×10^{-4}。
1024 步 FLM 的生成困惑度(GPT-2 Large):
| 模型 | LM1B Gen PPL | LM1B 熵 | OWT Gen PPL | OWT 熵 |
| MDLM | 109.21 | 4.32 | 105.15 | 5.63 |
| Duo | 98.14 | 4.31 | 77.69 | 5.55 |
| FLM | 96.91 | 4.29 | 62.23 | 5.33 |
数据熵分别是 4.31 和 5.44。OWT 上 FLM 把困惑度压到 62,熵略低于数据 0.11。
少步蒸馏后,FMLM 在极端少步区明显好于离散蒸馏:
| 步数 | 数据集 | FMLM | 最强离散对照 |
| 1 | LM1B | 119.34 | Duo+Di4C 292.94 |
| 4 | LM1B | 98.76 | Duo+Di4C 150.67 |
| 1 | OWT | 168.30 | Duo+Di4C 370.51 |
| 4 | OWT | 111.31 | Duo+Di4C 154.67 |
表里没有 8 步数字。1 步 FMLM 已经低于对照的 4 步,和图 1「一步贴近离散 8 步」的表述一致。条件续写(前 50 token 为前缀)一步 Gen PPL 141.66,MDLM+SDTT 是 374.70。
消融很硬。速度场 + MSE 在 LM1B 上 Gen PPL 3801;换成 denoiser + softmax + 交叉熵才到 96.91。不做时间重参数是 149.18。可学习嵌入扩散 324.66,one-hot 130.42(同为 30 万步)。蒸馏目标里半群损失最好,Eulerian / Lagrangian 差分目标更差。Autoguidance 在 1024 步把 FLM 从 96.91 降到 51.62(η=50,熵 4.00);Duo 和 MDLM 在 η≥10 就崩到 1700 以上。
这是对「语言必须走离散噪声」这句话的直接反例。连续流在少步区能赢,是因为样本级 flow map 可以学,离散链在组合状态空间里学不起同一个对象。交叉熵和单纯形约束不是装饰:MSE 在这个表示里会塌。
工程上,179M、LM1B/OWT 还谈不上替换自回归服务。它更像一张通行证:图像那边的 guidance、编辑、反演、用终点奖励做强化学习 rollout,可以开始往语言上搬。flow map 提供可微的终点前瞻,奖励模型只需在干净样本上训,不必覆盖全部噪声水平。
作者承认 one-hot 每步都要对完整 |V|×d 嵌入矩阵求值反传,时间和显存大约比只更新被选中向量的嵌入扩散高 30%。FLM 本身少步会掉点,一步质量来自第二阶段蒸馏。OWT 上熵 5.33,略低于数据 5.44,存在用重复换低困惑度的空间。规模停在 179M 和这两个语料,没有和自回归大模型比延迟或吞吐。表 13 只列 1/2/4 步,摘要里「超过 8 步离散」主要靠图,细表对不齐。