one-hot 连续流一步出文,LM1B 困惑度打过四步离散扩散

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 PPLLM1B 熵OWT Gen PPLOWT 熵
MDLM109.214.32105.155.63
Duo98.144.3177.695.55
FLM96.914.2962.235.33

数据熵分别是 4.31 和 5.44。OWT 上 FLM 把困惑度压到 62,熵略低于数据 0.11。

少步蒸馏后,FMLM 在极端少步区明显好于离散蒸馏:

步数数据集FMLM最强离散对照
1LM1B119.34Duo+Di4C 292.94
4LM1B98.76Duo+Di4C 150.67
1OWT168.30Duo+Di4C 370.51
4OWT111.31Duo+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 步离散」主要靠图,细表对不齐。

术语

原文与代码

社区讨论

相关论文

全部论文解读