动机

在 AR 取得成功的同时,仍需考虑 AR 带来的局限:

  • AR 的生成用时是
  • AR 的 left to right 限制了生成的顺序,可能限制了建模能力(例如逆向回答)
  • 生成了就 fix 住了,没法走回头路

因此 dllm 的动机是多方面的:

  • 并行解码 / 规定解码次数,加速生成
  • 给模型更自由的生成顺序选择空间,不对生成顺序做假设,追求更好的生成效果
  • 填空一样的可控的生成
  • 生成中随时修正

还有一个意外之喜:

  • dllm 更会吃数据,数据有限的情况下,dllm 的拟合能力更强

概览

Diffusion LLM 一般分为两种:

  • 连续的 diffusion(真正意义上的扩散)

    • 某种程度上跟 Vector Quantised 的过程差不多,受到量化误差的严重影响
  • 离散的 diffusion(将连续空间上的扩散改为离散空间中的状态转移),又有两种路线:

    1. 用随机的 token 表示噪声,效果一般

    2. MDLM(mask diffusion language model)用 [MASK] 表示噪声

      绝对的主流,唯一经过大规模验证的路线

CleanShot 2025-12-07 at 14.17.03@2x

CleanShot 2025-12-07 at 17.07.13@2x

解码阶段,每一个 step 中,进行 unmask 和 remask:

  • 如果 unmask 的 token 没被 remask,那么生成成功
  • 一般不对之前生成成功的进行 remask

例如生成长度为 ,要求 步完成生成,对于第 步,计算当前步需要生成几个 token(大部分都是

常用的 remask 的策略:

  • 随机 remask
  • 基于 confidence(保留 top-k),常用的 confidence:
    • 概率 p
    • top-1 p 和 top-2 p 的 margin
    • 负熵
  • 基于 confidence(保留超过阈值的生成)

最近的进展

旗舰级别模型

CleanShot 2025-12-07 at 17.34.40@2x

学术界常用模型

  • LLaDA,人大,蚂蚁(相当于 LLaMA 的地位)

CleanShot 2025-12-07 at 17.38.20@2x

Scalability of LLaDA:

CleanShot 2025-12-07 at 17.38.29@2x

Diffusion Language Models are Super Data Learners 也认为扩散语言模型在数据稀缺时表现优于自回归模型

逆向建模能力:

CleanShot 2025-12-07 at 17.39.59@2x

LLaDA 后面还有一系列工作,例如拓展到多模态的 LLaDA-V,更先进的 LLaDA1.5、LLaDA2…

  • dream,香港大学(相当于 Qwen 的地位)

前置工作是 DiffuLLaMA,将现成的 AR 模型转为 MDLM,dream 基于 Qwen 2.5

如果第 i 个 token 是 [MASK],那把第 i-1 个 token forward 的 logits 拿来解码

CleanShot 2025-12-07 at 17.56.09@2x

灵活机制

是一个非常复杂的工业级别的工作,此处介绍其有关灵活机制的部分:

阶段一,基于掩码的扩散训练:此阶段采用标准的掩码填充任务,通过动态噪声调度将部分代码 tokens 替换为 [MASK] 标记。模型在此阶段学习代码的局部上下文和模式(如规律、结构、特征分布等)补全能力。

MASK 阶段训练会带来“伪相关性依赖”(spurious correlations),即模型会相信非 MASK 的 token 为正确的 token,为了缓解这一情况我们引入了阶段二的训练过程。阶段二,基于编辑的扩散训练:为促使模型评估全局代码的合理性,此阶段引入基于编辑距离约束的插入/删除操作来构造噪声。这种扰动强制模型重新审视并修正所有 tokens(包括未被直接操作的部分),从而避免对未污染上下文的“伪相关性依赖”。

第一阶段是课程学习

第二阶段让 [MASK] 和已生成 token 变成平权的,都可能被 remask

动态生成影响序列长度的 token

CleanShot 2025-12-07 at 21.14.15@2x

混合 dllm(semi-AR)

CleanShot 2025-12-07 at 20.09.45@2x

前面提到的 llada 也做了 Block Diffusion 的实验:

CleanShot 2025-12-07 at 17.45.58@2x

两个设计:

  1. 并行解码:每一步不再计算当前步需要解码几个 token(实际上大部分工作里每步解码的 token 数量是个常数),而是只要 confidence 大于一个阈值就解码
  2. Block Diffusion + KV cache

CleanShot 2025-12-07 at 20.37.52@2x

背景知识:投机采样(Speculative Decoding)

CleanShot 2025-12-07 at 23.49.12@2x

TiDAR 每次 forward,都是在验证当前 draft,并为当前 draft 的每种可能都生成下一步的 draft

例如 draft 长度为 3,生成 draft 的方式就是 Block Diffusion

CleanShot 2025-12-07 at 23.58.08@2x

AR 做规划,dllm 做补全

CleanShot 2025-12-07 at 13.48.59@2x

多模态

  • MMaDA(普林斯顿,字节)

多模态、多任务的统一模型

CleanShot 2025-12-07 at 20.27.24@2x

dllm 的 RL 训练

  • d1(UCLA)

Diff-GRPO 首次为 dllm 引入强化学习算法

CleanShot 2025-12-07 at 20.30.36@2x

  1. 对 prompt 做 mask 的意义不明
  2. 模型实际上只在初始去噪步骤上进行训练
  • 上面的 MMaDA

UniGRPO:没必要估计所有 response token 的 log prob,RL 更新过程同样可以模拟扩散过程

coupled-GRPO:构造互补的 mask 情形,降低估计的方差

CleanShot 2025-12-07 at 20.30.55@2x

dllm 框架

  • https://github.com/inclusionAI/dInfer(蚂蚁)
  • https://github.com/ZHZisZZ/dllm(伯克利的学生)
  • https://github.com/OpenMOSS/DiRL(OpenMoss)
  • https://github.com/Gen-Verse/dLLM-RL(普林斯顿,MMaDA 那一批人)

存在的问题

  • full attn 导致 dllm 实际上慢于 AR models,最关键的动机实际上并没有做到

    基本都退化成 block diffusion

  • 并行解码实际上对性能影响显著

APD Speed vs Accuracy Tradeoff

  • 并行解码中独立性带来的冲突

    不过 fast dllm 有一个数学证明,如果每次并行解码 p 最大几个 token,冲突的概率不会很大

Discrete Copula Diffusion - Marginal vs Joint

  • 从左到右是否已经是 LM 最优的顺序?