← 返回 2026-07-17

Token 时间连续扩散:用于语言建模的每 token 不同步去噪 Token Time Continuous Diffusion for Language Modeling

Parikshit Bansal, Sujay Sanghavi 📅 2026-05-07 👍 9 2026-07-22 18:54
Diffusion LM 去噪策略 扩散语言模型 流匹配 蒸馏 连续扩散

为每个 token 分配独立的去噪进度时间,连续扩散在高加速比下超越离散方法。

前置知识

扩散语言模型 (Diffusion LM)

区别于自回归模型从左到右逐个生成 token,扩散 LM 从噪声或 [MASK] 出发,通过多步迭代精修,同时更新整段序列,从而支持并行生成。常见范式有离散掩码式(如 MDLM,从 [MASK] unmask)和离散均匀噪声式(如 Duo,从均匀噪声 denoise)。

理解本文必须先知道扩散 LM 的并行迭代框架,才能理解作者为何针对"单步多 token 采样"这一并行机制所带来的因子化问题。

Flow Matching / 连续扩散

在连续向量空间中,从噪声 $z_0 \sim q_0$(标准高斯)到数据 $z_1 = e(x)$(token 嵌入)线性插值 $z_t = tz_1 + (1-t)z_0$,模型学习反向路径。本文 TTCD 在此基础上把全局时间 $t_g$ 拆成每个 token 自己的局部时间。

TTCD 是连续扩散的变体,核心创新正是修改 flow matching 的时间调度方式,理解 vanilla flow matching 才能看出 token-time 的改动点。

因子化问题 (Factorization Problem)

当离散扩散模型一步同时采样多个 token 时,由于每个位置独立从其边缘分布采样,得到的是边缘分布的乘积而非真实联合分布。在高加速比(少步生成)下尤其严重,导致生成文本质量骤降。

这是本文方法最核心的动机,TTCD 用连续空间演化彻底回避了离散采样的因子化问题。

Adaptive LayerNorm (adaLN)

DiT 扩散 Transformer 中常用的一种条件注入方式:用一个全局时间 embedding 生成缩放、偏移、门控参数去调制 LayerNorm 的输出。TTCD 改造它为每个 token 用自己的局部时间调制。

理解 TTCD 的架构贡献(Sec 3.5)需要知道 adaLN 的工作原理,作者强调此改造不引入新参数。

Shortcut 蒸馏 / 自一致性损失

为支持少步生成,预训练好的连续扩散模型可以用 self-consistency 蒸馏:训练一个单步预测"从起点 $t_{start}$ 到终点 $t_{end}$ 的平均速度"的模型,目标与两步展开的平均速度一致。本文把 KL 散度作为蒸馏目标。

TTCD 的 SOTA 少步生成结果(Figure 1, 4)来自蒸馏后的 shortcut 模型,是评估的关键部分。

研究动机

现有最强的扩散语言模型(如 MDLM、Duo)主要在离散 token 空间迭代,要么从 [MASK] 解掩码,要么从均匀噪声去噪。一旦一步内同时刷新多个 token,它们采样的是边缘分布的乘积而非真实联合分布,这就是"因子化问题"。在高加速比(few-step,2-8 步)生成场景下问题被放大,生成质量明显下滑。即便转向连续空间(如 Diffusion-LM、CCDD、FLM)也面临另一个顽疾:token embedding 在不同噪声层级上出现"突然过渡"——大段低噪声下嵌入都被确定性解码、大段高噪声下又完全无信息,中间过渡区极窄。以往工作用全局时间扭曲(time warping)缓解,但单个全局时间无法区分"输入 prompt 已干净"与"待生成 canvas 仍噪声",也无法让"更确定的 token"提前去噪。

本文的目标是作者要构造一个同时满足三个目标的扩散 LM:(1) 在连续空间中确定性演化,避免离散采样的因子化问题,从而在高加速比下仍保持质量;(2) 引入"每 token 时间"机制,使某些 token 比另一些更快从噪声变为数据,并且可把输入 prompt 的 token 时间恒定钉在 1(已干净),只演化待生成 canvas 的 token 时间,天然适配条件生成;(3) 通过自一致性 shortcut 蒸馏把模型压缩到 2-4 步推理,达到与离散蒸馏模型相当甚至更好的少步生成性能,并在 Sudoku、OpenWebText、QM9 三类任务上验证。

与已有工作不同的是,本文的独特切入角度在于"不再追求单一全局噪声层级"。它洞察到:在语言与 Sudoku 这类任务中,模型对不同位置的"确定性"本来就不同,强加一个全局时间反而抹平了这种信息。作者把确定性差异显式建模成每个 token 的 rank 变量 $u_l \sim \mathrm{Unif}(0,1)$,通过函数 $t_l = F(t_g, u_l)$ 决定该 token 的去噪速率,并保证全局时间 $t_g$ 等于所有 token 时间的平均,从而在数学上自洽。这是首次把"per-token 时间"与连续空间确定性演化结合起来用于语言建模,既保留了连续扩散避免因子化的优势,又恢复了"容易 token 先去噪、困难 token 后去噪"的灵活性。

核心方法

整体思路是:先用直觉——既然 token 的难易天然不同,就给每个 token 自己的"时钟",让它的局部时间 $t_l$ 从 0(纯噪声)演化到 1(数据),但不同 token 速率不同,并由全局时间 $t_g$ 在名义上同步推进。技术路线上,作者在标准 flow matching 框架内插入了 rank 变量 $u_l \sim \mathrm{Unif}(0,1)$ 和映射函数 $t_l = F(t_g, u_l)$,其中 $F$ 选为 Beta 分布的分位数函数,使得 $t_l \sim \mathrm{Beta}(\frac{1}{1-t_g}, \frac{1}{t_g})$,并且 $E_u[F(t_g,u)] = t_g$。训练时模型预测原 token 字符串 $x$,损失为交叉熵 $\mathcal{L}(\theta) = -\sum_{l=1}^{L} \log p_\theta^l(x_l | z, t)$;推理时用 token 时间计算 token 级步长 $\Delta_l = F(t_g + \Delta, u_l) - F(t_g, u_l)$ 做确定性去噪,最后一步映射到 token。模型规模从 Sudoku 的 6M 参数到 OpenWebText 的 160M 参数。

核心创新点是把"时间"从一个全局标量变成一组 token 级向量 $t = [t_1, \ldots, t_L]$,但只用一组 rank 变量 $u$ 来参数化(每个 token 在整条去噪路径上 rank 固定,不重排)。这与已有连续扩散方法的本质区别在于:以往所有工作都假设同一时刻所有 token 处于同一噪声层级,靠时间扭曲只能在"哪些噪声层级被强调"上做文章;TTCD 则允许同一全局时刻不同 token 处于不同局部时间,从而让"确定 token"先收敛为干净嵌入并参与对其他 token 的条件化。配合将 prompt 位置 token 时间恒钉为 1,该方法把条件生成(prefix-conditioned)从"需要 hack 的时间扭曲问题"简化为"自然的时间差分"。架构上作者改造 DiT 的 adaLN,让每个 token 用自己的局部时间而非全局时间做调制,且不引入任何新参数——这点很关键,意味着方法几乎免费。

方法步骤详情

训练(Algorithm 1):(1) 从数据采样 token 串 $x \sim \mathcal{D}$,取嵌入 $z_1 = e_\theta(x)$,从噪声分布取 $z_0 \sim q_0$;(2) 给每个 token 采样 rank $u_l \sim \mathrm{Unif}(0,1)$;(3) 采样全局时间 $t_g \sim \mathrm{Unif}(0,1)$,用 $F$ 算出每个 token 的局部时间 $t_l = F(t_g, u_l)$;(4) 按 $z_l = t_l z_1^l + (1-t_l) z_0^l$ 插值;(5) 计算交叉熵损失 $\mathcal{L} = -\sum_l \log p_\theta^l(x_l | z, t)$ 并梯度更新。推理(Algorithm 2):对输入 prompt 把 token 时间固定为 1,canvas 初始化噪声和随机 rank;做一次前向得到熵,把 rank 重排成"熵低则 rank 高";之后用全局步长 $\Delta = 1/N$ 迭代去噪,每步用 token 级步长 $\Delta_l$ 算更新 $z_l \leftarrow z_l + \frac{\Delta_l}{1-t_l}\left(\sum_{x \in V} e_\theta(x) \cdot p_\theta^l(x|z,t) - z_l\right)$;最后 argmax 出 token。shortcut 蒸馏(Algorithm 3)在 TTCD 上加额外条件 $(t_{start}, t_{end}, t_{mid})$ 用 KL 蒸馏 50K 步(前 40K 用均匀采样,后 10K 仿 FLM 优先小步长)。

技术新颖性

技术新颖性体现在三处。第一,per-token 时间的参数化方式极其优雅:用一个 rank 变量加 Beta 分布分位数函数同时满足四个边界条件($F(0,u)=0$、$F(1,u)=1$、对 $t_g$ 单调、对 $u$ 单调、期望等于 $t_g$),并保证 token 时间平均值等于全局时间,整套公式是封闭解而非启发式。第二,rank 一次性确定(基于初始全噪声下的熵)后不再重排,避免了在去噪过程中反复排序的不稳定性,这是简单但很关键的设计选择。第三,对 adaLN 的改造把"全局时间调制"改成"per-token 时间调制"却完全不引入新参数——这意味着方法可作为通用插件移植到任意 DiT 系扩散 LM。此外,将 shortcut 蒸馏从图像域迁移到 token-time 连续扩散并额外条件 middle token time 以稳定训练,是工程层面的有效创新。

Per-token times:局部时间随全局时间与 rank 的演化(左);中间向量在不同全局时间下的分布(右)
Figure 2: Per-token times:局部时间随全局时间与 rank 的演化(左);中间向量在不同全局时间下的分布(右)

实验结果

三个任务的结果层层递进。Sudoku(Table 1,6M 参数、100 epochs):TTCD 在 2 步生成达到 31.51% 解题率,远超离散掩码 entropy 的 11.65% 和连续 sequence-time 的 0.00%;4 步 61.33%,8 步 65.85%,16 步 68.46%,在极低 NFE(2 步)下显著领先。这印证了 token-time 让 TTCD 能正确按确定性排序、又因连续演化回避因子化。OpenWebText(160M 参数、1M 步训练)的 Figure 1 与 Figure 3 显示:未蒸馏的 TTCD 在 16 步以内接近 Duo、超过 MDLM;蒸馏后 TTCD w/ Shortcut 在 1-4 步无条件生成上达到与 Duo w/ DCD、FMLM 相当甚至更好(在 Gen PPL vs 文本熵的右下角区域),并在文本熵上能外推到更高值而不塌缩。Figure 4 的 prefix-conditioned 生成(32 与 128 canvas 长度)中,TTCD w/ Shortcut 在 2 步(16x 加速)和 4 步(8x 加速)取得最佳条件生成质量,FLM 因单一全局时间塌缩为低熵输出。Figure 5 的 QM9 分子生成中,连续空间方法产生更多有效分子,token-time 进一步推进 ring count 与 novel molecule 数的前沿。

9x9 Sudoku 解题率:不同方法在 2/4/8/16 生成步数下的对比
Table 1: 9x9 Sudoku 解题率:不同方法在 2/4/8/16 生成步数下的对比
蒸馏扩散 LM 在 OpenWebText 上的无条件生成性能(Gen PPL vs 文本熵,1-8 步)
Figure 1: 蒸馏扩散 LM 在 OpenWebText 上的无条件生成性能(Gen PPL vs 文本熵,1-8 步)
OpenWebText 无条件生成:未蒸馏模型(MDLM、Duo、FLM、TTCD)在 4/8/16/32 步下的 Gen PPL vs 文本熵
Figure 3: OpenWebText 无条件生成:未蒸馏模型(MDLM、Duo、FLM、TTCD)在 4/8/16/32 步下的 Gen PPL vs 文本熵
Prefix-conditioned 生成(canvas 长度 32):左为不同模型在 2/4 步下的 Gen PPL vs 熵曲线,右为 Duo w/ DCD 与 TTCD w/ Shortcut 的定性生成对比
Figure 4: Prefix-conditioned 生成(canvas 长度 32):左为不同模型在 2/4 步下的 Gen PPL vs 熵曲线,右为 Duo w/ DCD 与 TTCD w/ Shortcut 的定性生成对比
QM9 分子数据集上的 classifier-free guidance:novel molecules 数 vs 平均 ring count
Figure 5: QM9 分子数据集上的 classifier-free guidance:novel molecules 数 vs 平均 ring count
查看结构化数据
任务指标本文基线提升
9x9 Sudoku 解题(2 步生成) 解题率 (%) TTCD w/ entropy = 31.51% Discrete masking (entropy) = 11.65%;Continuous w/ sequence-time = 0.00%;w/ warping = 0.00% 相比最强离散 baseline 提升 ~20 个百分点(约 2.7x),相比朴素连续方法从近 0% 提升到 31.51%
9x9 Sudoku 解题(4 步生成) 解题率 (%) TTCD w/ entropy = 61.33% Discrete masking (entropy) = 68.29% 略低于离散 entropy 方法(68.29%),但在高加速比区间整体优势明显
OpenWebText 无条件生成(蒸馏模型,1-4 步) Generative PPL vs 文本熵曲线(GPT2-large 评分) TTCD w/ Shortcut 接近曲线右下角 Duo w/ DCD、FMLM (Distilled FLM) 在 ≤4 步超过 Duo w/ DCD,与 FMLM 相当;且能外推到更高文本熵而不塌缩
OpenWebText prefix-conditioned 生成(32 长度 canvas) Gen PPL vs 文本熵(2 步/4 步) TTCD w/ Shortcut 最佳 FLM(熵塌缩 <3,超界)、Duo w/ DCD、MDLM 条件生成质量全面领先,证明 token-time 天然适配 prompt-conditioned 场景
QM9 分子 classifier-free guidance 生成 Novel molecules 数 / 平均 ring count Continuous w/ token-time (TTCD) 推进前沿 UDLM、MDLM、Continuous w/ sequence-time 连续方法整体优于离散,token-time 在连续基础上进一步提升

局限与改进

作者明确承认:结果仅限于 100M(abstract 中说 160M,正文多处与 Limitations 章节均称 100M,论文内部存在规模表述不一致)参数规模,未扩展到 1B 量级,因此无法与多 token 预测的 autoregressive 加速方法(如 speculative decoding、Medusa)直接对比。Sudoku 上 4 步及以上的成绩实际略逊于离散 entropy baseline(68.29% vs 61.33%),说明 TTCD 的优势集中在极低 NFE 区间。我从论文中观察到更多隐性局限:(1) 训练成本仍高——OpenWebText 上要 1M 步预训练 + 50K 步 shortcut 蒸馏,远高于同等加速比的自回归小模型;(2) rank 一旦确定就不再重排,对生成过程中"难度翻转"的情形适应性有限;(3) Beta 分布分位数函数 $F$ 是固定设计,没有探索更灵活的学习式映射;(4) 所有评测都依赖 GPT2-large 做 Gen PPL,而作者自己也引用了"仅用 Gen PPL 会带来伪发现"的警告。

独立分析的弱点

第一,参数规模不一致暴露文档管理问题(abstract 写 160M、Sec 4.2 与 Limitations 写 100M),且未与 LLaDA、Plaid 等 2024-2025 主流大规模扩散 LM 直接对比,外部可比性偏弱,改进方向是在 1B+ 规模上重训并接入统一评测套件。第二,rank 重排只发生在初始全噪声下、之后固化,可能错过"中途某 token 变得更确定"的信号,改进方向是设计可微的动态 rank 更新或周期性重排。第三,$F$ 函数被锁死为 Beta 分位数,作者未提供消融比较其他满足 A-D 四条件的函数族(如三角函数、Piecewise-linear),改进方向是用元学习或可微参数族搜索更优的 $F$。第四,shortcut 蒸馏阶段需要额外条件 $(t_{start}, t_{end}, t_{mid})$ 三组 token time,推理时 adaLN 输入维度变大,作者虽说不增参数,但显存与计算开销会上升,改进方向是做 token-time 的低秩压缩或仅条件 start/end。第五,所有评测都依赖 GPT2-large 的 Gen PPL,自身就引用了"Gen PPL 单指标会带来伪发现"的批评,建议引入更稳健的分布距离指标(如 MAUVE、自分类器准确率)。

未来方向

作者明确提出:(1) 扩展到 1B 参数规模,使其可与 autoregressive 多 token 预测加速方法(如 Medusa、EAGLE)对比;(2) 把 token-time 概念移植到均匀噪声离散扩散模型(uniform-noise discrete diffusion),有望改善这类模型的条件生成。基于成果可延伸的方向包括:(a) 把 per-token time 推广到图像/视频/音频 diffusion transformer,让不同空间位置按显著性以不同速率去噪;(b) 探索 rank 作为可控生成的旋钮(手动指定哪些位置先确定),与 classifier-free guidance、controlnet 结合;(c) 把 entropy-based rank 改成基于模型自身置信度的可微 rank,实现端到端学习;(d) 研究把 token-time 思想用于 spec-decoding 的 draft 模型,用扩散式并行预测多个候选 token;(e) 在多模态 LM(图文交错)中用 token-time 区分文本与图像 token 的去噪节奏。

复现评估

复现难度中等偏上。有利条件:方法描述较完整——Algorithm 1/2/3 三段伪代码给出了训练、推理、蒸馏的全部步骤;$F$ 用 Beta 分布分位数函数有闭式定义;OpenWebText、QM9、Sudoku 都是公开数据集;训练超参部分披露(Sudoku 用 6M 参数、100 epochs、lr 1e-3;OpenWebText 1M 训练步 + 50K 蒸馏步;shortcut 前 40K 用 $t_{start}\sim\mathrm{Unif}(0,1)$、$t_{end}\sim\mathrm{Unif}(t_{start},1)$,后 10K 仿 FLM)。不利条件:论文未明确公布代码与 checkpoint(截至预印本未见 GitHub 链接),160M/100M 模型的训练在 OpenWebText 上 1M 步至少需要数百 GPU·天;推理时采样温度、初始噪声 norm 等关键超参(如温度集合 0.8/0.9/1.0/1.1、噪声 norm 集合 0.5/0.7/0.9/1.1)需要在曲线上搜索;beta 分布分位数的数值稳定性、嵌入 L2 norm clamp 等实现细节影响实际效果。综合估计:复现核心 Sudoku 实验约需 1-2 周、单张 A100;复现 OpenWebText 结果需要 8 张 A100 量级、数周时间。