Text Diffusion,来了!

 Datawhale干货 
作者:李崇轩,编辑:李rumor

卷友们好,最近Google推出的Gemini Diffusion引起了一波热烈的讨论,其实早在几个月前,就有一个叫Mercury Coder产品展现了Diffusion模型强大的推理能力。学术界也早在2025.02月就成功在8B规模上验证了冷启动训练Diffusion的效果(LLaDA[1])。

相比AR的建模方式,Diffusion建模有三个优势:

  1. 并行推理,速度可以快好几倍
  2. 双向上下文建模,避免reversal curse[2]
  3. 同样可以做到test-time scaling

但是,由于LLM训练成本高昂,很少有人把Diffusion推到较大的规模。LLaDA这篇工作不仅验证了Diffusion模型在8B规模内,与AR的训练Scaling相当,同时也冷启训练了达到Llama3-8B水平的开源Diffusion模型。

下面我转载了LLaDA的作者之一李崇轩在知乎上的一些分享,帮助大家了解Diffusion模型这几年的进展。


作者:李崇轩

https://www.zhihu.com/question/1908479621466396378/answer/1910672718174589774

大家好,我是中国人民大学高瓴人工智能学院李崇轩,因为做的非常相关,来回答一下”如何评价Google刚刚发布的 Gemini Diffusion? 会代替自回归模型成为下一代模型吗?”这个问题。

我在连续扩散模型和朱军老师以及师弟师妹们有很多合作,代表性工作有 Analytic-DPM,U-ViT, DPM-Solver,ProlificDreamer,DPM-Solver++,unidiffuser 等等。

我在人大的课题组很年轻,组内在离散扩散模型的代表性工作有 RADD,Scaling Law for MDM,LLaDA,LLaDA-V 和这两天即将发布的 LLaDA 1.5。我想可以按照时间划分为两个阶段来介绍一下这个领域,然后发表一下我的看法。

第一阶段:2022-2024年底,扩散语言模型偏基础研究的阶段。

这个阶段其实扩散语言模型是比较偏小众的,我按照离散和连续模型的区别来划分。

1.1 连续扩散模型在离散数据上的发展

早期有不少方法是通过将连续(即基于 Gaussian 加噪去噪的)的扩散模型直接应用到语言模态上,一定程度可以理解为对离散数据做了连续化。代表性的工作有 Percy Liang 的,Ting chen 和 Hitton 合作的,quanquan gu和 zaixiang zheng,还有 Alex Graves 的  Bayesian flow network,另外还有苹果的 Yizhe Zhang 以及港大的 Lingpeng Kong 课题组的非常多的工作(如果有忘记的工作不好意思,因为自己纯凭印象难免有疏漏,请在评论区补充哈)。

其他采用连续模型,但是避免离散数据连续化的研究思路也有,比如 lou 和 ermon 做过一些离另外一个思散数据概率分布的参数空间(单纯形空间)受约束下的连续扩散模型,这种技术性更强,但是可能可扩展性和采样方法更困难。

另外一个思路是 ICML 2024 的一个工作,做过一个通过 SDE 统一 BFN 和 diffusion model 的方法,可以理解为,在logits 空间(过softmax之前)做 linear SDE,这样不需要连续化数据,也不需要受到单纯形的约束,还能直接把 DPM-solver 等 recipe 拿过来做加速,我觉得从方法上来讲是很漂亮的。

我们组其实在扩散语言模型的研究阶段起步不是很早,我们大概在 2023年6月开始做,上述 ICML 2024 就是我们第一个相关工作,我个人选择连续的扩散模型的理由是:因为这样可以无缝多模态。语言,图像,视频直接概率建模方式统一为扩散,基于底层一个 transformer 模型(类似 unidiffuser)可以大一统。

然而,很不幸,目前来看这类方法在语言上的可扩展性是存疑的,如 Plaid 文章中有一些结果是相对负面的。但是,最近BFN在科学等小规模数据上应用非常广泛,大家可以关注一些子刊的文章。

1.2 离散扩散模型

追根溯源,离散扩散模型其实在 ICML 2015 diffusion 刚提出来的时候就有了。 Austin 和 Jonathon Ho 等人 21 年的 D3PM 算是比较现代的 MDM 的雏形,但是 loss function 有点 tricky。Lou、Meng 和 Ermon 的  SEDD 提出了一种 EBLO 的优化损失,拿到了 ICML 的杰出论文,(中间 MDM 的工作还蛮多,推荐大家去看看相关文章的 related work 吧,可以关注下 DeepMind Jiaxin Shi, 康奈尔 Volodymyr Kuleshov )。

离散扩散模型的建模并不只是一种。其中比较有名的一种是平稳分布为词表上的均匀分布,称为 Uniform,另外一种是全部掩码的,称为 MDM(Maksed Diffusion Model)。当时基于多个工作的实验,都发现 MDM 的结果比 Uniform 好很多。刚好那个时候大家可能也发现连续的扩散模型 scaling 不行。因此,大家的重心自然地会转向 MDM。

我们最初还是希望系统地理解 MDM 的本质。我们在 MDM 上的第一个工作结论是让我非常惊讶的:一个 MDM 的转移核,应该是一个关于 t 的函数(大家想想连续的扩散模型都需要把时间 t 输入网络去噪),但是我们证明了 MDM 中这个函数关于 t 的部分是一个有解析解的标量,乘在一个需要学习的模型分布上。那么,我们自然地可以重参数化,把 t 从模型输入中拿掉,最后在输出上乘上去,这就是 RADD,基于 RADD 可以简化很多 SEDD 的模型和损失函数设计。例如,RADD 去掉 t 意味着我连 Diffusion Transformer 都不需要,直接用 Transformer 就好了,那么自然地就跟 BERT、MaskGIT 建立了联系。

2024 年 6 月我们的 RADD 工作放到 arxiv 上(Your Absorbing Discrete Diffusion Secretly Models the Conditional Distributions of Clean Data),同期还有两个工作,分别是我的师弟 Deepmind jiaxin shi(同一天很巧),还有 康奈尔 Volodymyr Kuleshov (晚一点)组的。这三个工作损失函数非常像,我们比较独有的贡献是证明了输入中 t 应该去掉,佳欣做了 schedule 的一般化和图文的实验,Volodymyr Kuleshov 实验验证了去掉 t 是有效的,并且做了最好的语言的结果。

2024 年 9 月,Kaiwen 的工作放在 arxiv 上 (Masked Diffusion Models are Secretly Time-Agnostic Masked Models and Exploit Inaccurate Categorical Sampling )也证明了可以去掉时间 t,并特别指出了 MDM 似然实验中的数值问题。

1.3 和 BERT 和 MaskGIT 的关系

因为这个问题特别受到关注,我就单独回答一下。

MDM 和 BERT 的关系如下:MDM -> 采用 mask 转移核(不能用 uniform 的)-> 证明其时间 t 在输入中是冗余的 (不然带着 t 用的是 DiT/U-ViT)-> 输入随机掩码改为固定掩码(直接不是一个生成模型了)-> BERT

我们组和非常多 MDM 的人是机器学习出身,特别是 generative model 出身,最初的动机包括 MDM 本身的发展是沿着概率建模的思路的,因此就顺着叫 Diffusion 了(如果往前追到 ICML 2015, 这比 BERT 还早),后来我们确实发现了和 BERT 以及 MaskGIT 的联系,也都在 related work 提到了,并没有人回避这个问题。

但是二者上述的区别我认为是非常显著的,技术上,BERT 的联合概率是怎么定义的?怎么从BERT 里面采样文本?如果没有这些能力,作为一个非生成模型,BERT 怎么跟 GPT 一样统一语言任务呢?有很多 Scaling BERT 的工作,为什么他们只作为 Embedding model 不做基础生成模型?谷歌 BERT 积累这么多年,为什么今天 Gemini Diffusion 才出来?

其实具体叫啥名字也没有那么重要,称 MDM 为 Modified/Randomized BERT 技术上应该也没错,但是把 Modified/Randomized 去掉,说就是 BERT,是不是不太客观?

我个人坚持认为 Diffusion 是更合适的名字,这是因为一路发展就是这么过来的,技术上就是扩散,并且能突出它是一个生成模型,因为他是生成模型我们才相信他能 scaling 后跟 GPT 打擂台,而不是因为它像 BERT。

第二阶段:2024年底-2025年初,扩散语言模型偏 scaling 的阶段。

2.1 学术界工作

RADD 出来之后,我觉得已经非常清楚了,就决定投入我们组 5 位博士生,一半的人力到 MDM 方向。2024 年我开启动小组会的时候跟大家说,我们有三个目标

  1. 我保证给每一位同学找到合适的 MDM 项目,进行系统科研训练,然后每个人都有自己一作的工作(我已经做到了),不耽误大家前程;
  2. 我们要团结起来,课题组一起做一些有影响力的工作(这就是 LLaDA 系列);
  3. 解决 MDM 最难的问题,让顶尖的公司在端侧或者云侧上线 MDM 模型或者技术,干掉 ARM(划掉)。

就是在这三个目标的牵引下,我的课题组和合作者们开始从 MDM 的基础研究转向 Scaling。

第一个工作是 2024 年 10 月, 课题组做了第一个 MDM 的 Scaling Law(ICLR 2025)。并且,考虑到似然评估的数值问题(之前提到了)和大规模应用中下游任务的重要性,我们系统评测了 MDM 和 ARM 的表现。实验规模比较小,但是数据、算法、模型、计算量全部对齐的。其结论解决了我们认为当时最重要的问题:从头训练,GPT-2 大小下,MDM 不亚于自回归

第二个工作是 2025 年 2 月,课题组做了第一个能够多轮对话的 MDM,LLaDA 8B。LLaDA 展示 了很好的可扩展性,指令追随等能力,能够和 LLaMA 3 8B 这种代表性工作媲美。这样我们更加坚信这条路是值得探索的。LLaDA 做完之后,课题组经过了讨论,决定全力支持开源工作,把一切能开源的代码和权重全都放了出去,并且尽快地回复社区内的所有问题。我们希望有更多的人加入领域,完善MDM,这样才有机会完成目标 3。

后续的发展也确实像我们预想的一样,越来越多人关心这个领域。近期,在语言对齐和推理相关的工作有: d1, LLaDou, 还有我们最近会放出去的 LLaDA 1.5(VRPO);在多模态相关的工作有:王梦迪老师的 MMaDA,LaViDA,和我们的 LLaDA-V;在diffusion上做类似 kv cache 的加速技术也有两篇工作 dimple 和 dLLM-cache。

另外,除了从头 Scaling,还有一条路是  Lingpeng Kong 课题组做的基于自回归模型微调的 diffuLLaMA 和 Dream。

2.2 工业界工作

LLaDA 2月份开源后,Inception Lab 也火速上线了 Mercury coder,5月份 Gemini Diffusion 亮相也引起了更多的关注。但是,我们做 LLaDA 并没有受到这些产品的任何启发,看时间线就知道。

工业界的产品我觉得更方面肯定会比学术界做的更好,他们做的一些加速效果我个人觉得是真的,可以用cache,可以跳步,也可以蒸馏。不过很遗憾目前二者都没有透露太多的技术细节。

关于 LLaDA 的贡献和局限

LLaDA 是我做过的最好的工作,即便被 ICML 拒稿,我从2014年读博开始做 generative model 十一年,做过 vae,做过 gan,做过 ebm,做过 diffusion。终于有一次,是我告诉别人这个东西是 work 的,而不是别人告诉我。有人质疑说 LLaDA 没有新的技术,说实话生成模型偏技术方面的工作我做过不少,Analytic-DPM 就很技术;应用的我也做过不少,U-ViT 就非常直接。我认为不管有没有技术,最好的研究是改变/加深大家对一个东西的理解和认知,我认为做 LLaDA 过程中就改变了我很多的认知。

如果你觉得 LLaDA 没有改变你的认知。可以问一问自己,时间回退一年,在 Diffusion 做 work 之前,你觉的这条路会成吗?给你 300 张卡,只有一个半月的使用时间,这是你能争取到最大的资源,你会用它做什么?

很多人提到了变长等问题,我觉得非常敏锐,这是一个很难的、值得研究的问题。特别是对做研究的朋友们而言,如果一个问题大家都觉得简单,那可能很卷了。扩散语言模型还是有非常多值得探索的空间,机会就在困难之中。

写的有点长了,累了。也欢迎关注我们课题组 2 月份发的知乎文章 GSAI-ML:自回归是否是通往语言智能的唯一路径?——生成模型的一些思考(3)(https://zhuanlan.zhihu.com/p/24214732238)

参考资料
[1] 

Large Language Diffusion Models: https://openreview.net/forum?id=wzl61tIUj6

[2] 

The Reversal Curse: LLMs trained on “A is B” fail to learn “B is “A: https://arxiv.org/abs/2309.12288

一起“”三连

(文:Datawhale)

发表评论

×

下载每时AI手机APP

 

和大家一起交流AI最新资讯!

立即前往