一、介绍
扩散模型能否取代自回归模型(ARM),成为构建大语言模型的新范式?
最新发布的这篇文章——《Large Language Diffusion models》给出了肯定的答案。
它是一种前所未有的从头训练的8B规模的扩散模型,在多项基准测试中展现出与同等规模自回归模型相当甚至更优的性能。
目前,几乎所有的大语言模型都采用自回归架构——即通过预测下一个token来生成文本。这种方法虽然行之有效,但也存在一些固有局限,首先由于需要逐个生成token,导致生成速度较慢,特别是在生成长文本时尤为明显;其次,自回归模型只能利用已生成的左侧上下文来预测下一个token,这种单向依赖使其难以充分捕捉文本中的双向语义关系,例如在完型填空任务中,自回归模型难以同时考虑空缺左右两侧的语境信息。
作者认为LLM的智能(可扩展性、指令跟踪、上下文学习、对话能力)不是来自自回归机制本身,而是源于生成建模的核心原则:通过最大可能性估计来近似真实的语言分布。由此,LLaDA提供了全新的思路,展示了一种不同于传统从左到右方法的文本生成方法。
Prompt: Explain what artificial intelligence is.
二、LLaDA原理
2.1 概率公式
LLaDA采用了一种叫做掩码扩散模型(Masked Diffusion Model)的架构,通过前向过程和反向过程定义模型分布 \(\textcolor{blue}{p_\theta(x_0)}\)。
在前向过程中,逐渐屏蔽 \(\textcolor{blue}{x_0}\) 中独立的标记(会随机选择文本中的一些词,将它们替换成特殊的掩码标记。),直到 \(\textcolor{blue}{t=1}\) 时序列被完全屏蔽。对于 \(\textcolor{blue}{t \in (0,1)}\),序列 \(\textcolor{blue}{x_t}\) 被部分屏蔽,每被屏蔽的概率为 \(\textcolor{blue}{t}\),而保持未被屏蔽的概率为 \(\textcolor{blue}{1-t}\)。这个过程就像是在文本中打上一些空白,例如:
在反向过程中,模型会训练一个掩码预测器(mask predictor)\(\textcolor{blue}{p_\theta(\cdot|x_t)}\)。这个预测器的任务是学习如何将这些空白([MASK])还原成有意义的文本。即当 \(\textcolor{blue}{t}\) 从 1 到 0 时,反向过程通过迭代预测掩码标记来恢复数据分布。预测器将 \(\textcolor{blue}{x_t}\) 作为输入,并同时预测所有被屏蔽的标记。它不是简单地从左到右去预测,而是可以同时看到掩码位置前后的词语。这种双向的设计让LLaDA能够更好地理解文本的上下文关系。
LLaDA通过仅对掩码标记计算的交叉熵损失进行训练的:
其中,\(\textcolor{blue}{x_0}\) 从训练数据中采样,\(\textcolor{blue}{t}\) 从 [0, 1] 中均匀采样,\(\textcolor{blue}{x_t}\) 从前向过程中采样。指标函数 \(\textcolor{blue}{1[\cdot]}\) 可确保只计算掩码标记的损失。
一旦训练完成,就可以模拟由掩码预测器参数化的反向过程,并将模型分布 \(\textcolor{blue}{p_\theta(x_0)}\) 定义为 \(\textcolor{blue}{t=0}\) 时诱导的边际分布。值得注意的是,公式 (3) 中的损失已被证明是模型分布负对数似然的上限:
上式表明LLADA是一种原则性的生成模型,具有自然地在上下文学习的潜力,类似于LLM。此外,它的生成视角确保了在极端情况下Fisher consistency(指当数据量趋于无穷大时,模型能收敛到真实分布),表明具有大数据和模型的可扩展性。
训练过程分为预训练和监督微调两个阶段。
2.2 预训练
LLaDA采用Transformer作为掩码预测器,其架构与现有的LLM类似。不同的是LLaDA并不使用因果掩码(让模型在进行预测时只能关注过去和当前的tokens),因为LLaDA的结构允许它能看到整个输入进行预测,从而更好地理解tokens之间的双向依赖关系。
LLaDA采用了2.3万亿词库的训练数据集进行预训练,使用了13万小时的H800 GPU算力。值得注意的是,这些训练数据包含了通用文本,代码,数学和多语言内容。
对于初始训练数据序列 \(\textcolor{blue}{x_0 = (x^1_0,x^2_0,...,x^i_0,...,x^N_0)}\),这里的 \(\textcolor{blue}{i}\) 表示第 \(\textcolor{blue}{i}\) 个token。随机采样 \(\textcolor{blue}{t \in [0,1]}\),以相同的概率 \(\textcolor{blue}{t}\) 独立屏蔽每个标记,得到 \(\textcolor{blue}{x_t}\):
其中,每个标记的条件分布由以下公式给出:
这里,\(\textcolor{blue}{M([MASK])} \) 表示屏蔽标记。正向扩散\(\textcolor{blue}{q(x^i_t|x^i_{t-1})}\)在每一步以一定概率将未被masked token 变为 [MASK],而已经是 [MASK] 的token 保持为 [MASK]。直观地说,每个标记要么保持不变,要么被屏蔽,被屏蔽的概率随着 \(\textcolor{blue}{t}\) 从 0 到 1 的递增而线性增加。在 \(\textcolor{blue}{t=1}\) 时,保证所有tokens都被屏蔽,这意味着 \(\textcolor{blue}{x_1}\) 遵循集中在完全屏蔽标记序列上的狄拉克分布。值得注意的是,线性掩蔽概率类似于连续扩散模型中的噪声时间表。这种线性的动机是假设文本中的信息平均与标记数成正比,因此在前向过程中线性地丢失信息是合理的。
正向过程不仅可逆,而且对应于在所有tokens中完全分解的反向过程。 \(\textcolor{blue}{t}\) 从1到0的反向过程将从完全掩盖的令牌序列中生成新数据。由于前向过程保证 \(\textcolor{blue}{x_t}\) 中未被掩盖的token在 \(\textcolor{blue}{t−1}\) 时刻就是正确的原始token(未被掩盖过),反向过程在这些位置不需要改动,只需预测[MASK]处应是哪一个token。这等价于让模型在给定部分单词的上下文下同时预测多个空缺。对于 \(\textcolor{blue}{0≤s<t≤1}\),反向过程的条件分布被分解为:
其中每个标记的条件分布为:
因此,需要估计的关键函数是条件分布 \(\textcolor{blue}{q_{0|t}(x^i_s|x_t)}\),如果原始标记在输入 \(\textcolor{blue}{x_t}\) 中被掩盖,它将预测原始标记。这类似于连续扩散模型中的数据预测形式。在完全理想的情况下,经过一次预测就可以恢复到 \(\textcolor{blue}{t−1}\)的状态;但实际上模型是概率预测,每次只能近似采样出可能的填充,需要多步迭代逼近真实分布。
掩码比例调度: MDM的一个关键要素是如何选择各步的掩码概率/比例。在训练中,可以简化为直接随机掩盖一定比例的tokens,而不真正模拟一步步掩盖的过程。例如,训练时随机采样掩盖率\(m∼[0,1]\),然后将输入序列按此比例随机掩盖,喂给模型预测。这相当于从整个扩散链中采样一个中间状态\(x_t\)进行训练。这种方法被称为“一跳训练”,类似连续扩散中随机采样一个噪声水平训练去噪网络,能够高效地覆盖所有扩散阶段。同样,掩盖概率可以采用线性调度(从0逐渐到1),也可以根据公式计算。但实践中Uniform随机足以覆盖各种情况。重要的是,掩码比例取0对应无噪声,取1对应全掩盖,这两个极端确保模型既能学习恒等映射(0%掩码,不需改动)也能学习从无到有的生成(100%掩码,需生成完整序列)。
虽然掩码扩散的开发并不平凡,但实现起来却很简单。我们首先引入掩码预测器,即一个参数模型 \(\textcolor{blue}{p_θ(\cdot|x_t)}\)(例如,一个没有因果掩码的变换器),它将任意 \(\textcolor{blue}{t}\) 的 \(\textcolor{blue}{x_t}\) 作为输入,同时预测所有掩码标记。然后,定义模型分布 \(\textcolor{blue}{p_θ(x_0)}\) 如下:从作为完全掩码标记序列的 \(\textcolor{blue}{x_1}\) 开始,模拟由 \(\textcolor{blue}{p_θ(\cdot|x_t)}\) 参数化的从 \(\textcolor{blue}{t = 1}\) 到 0 的近似反向过程,并通过蒙特卡罗方法估计公式 (3),进行随机梯度下降训练。
2.3 监督微调
LLaDA通过使用配对数据 \(\textcolor{blue}{(p_0, r_0)}\) 进行监督微调(SFT)来增强 LLaDA 遵循指令的能力,其中 \(\textcolor{blue}{p_0}\) 是提示,\(\textcolor{blue}{r_0}\) 表示响应。这是 LLM 最简单、最基本的后期训练方法。从技术上讲,这需要对条件分布 \(\textcolor{blue}{p_θ(r_0|p_0)}\) 而不是预训练中的 \(\textcolor{blue}{p_θ(x_0)}\) 进行建模。
实现方法与预训练类似。如图所示,保持提示信息不变,并像处理 \(\textcolor{blue}{x_0}\) 一样,独立屏蔽响应中的标记。然后,我们将提示和屏蔽后的回应 \(\textcolor{blue}{r_t}\) 输入预训练的屏蔽预测器,计算 SFT 的损失:
其中\(\textcolor{blue}{L'}\)表示以后指定的动态长度,并且所有其他符号保持与以前相同。
请注意,这种方法与预训练完全兼容。从本质上讲,\(\textcolor{blue}{p_0}\) 和 \(\textcolor{blue}{r_0}\) 的连接可被视为干净的预训练数据 \(\textcolor{blue}{x_0}\),而 \(\textcolor{blue}{p_0}\) 和 \(\textcolor{blue}{r_t}\) 的连接则是屏蔽版本的 \(\textcolor{blue}{x_t}\)。这一过程与预训练完全相同,唯一的区别是所有被屏蔽的标记都恰好出现在 \(\textcolor{blue}{x_t}\) 部分。
LLaDA 8B模型在由4.5M个词对组成的数据集上进行了SFT训练。与预训练过程一致,数据准备和训练都遵循现有 LLM 中使用的 SFT 协议,没有引入任何额外的技术来优化 LLaDA 的性能。数据集跨越多个领域,包括代码、数学、指令遵循和结构化数据理解。LLaDA将 |EOS| 标记附加到每个mini-batch中短对的末尾,以确保所有数据的长度相等。在训练过程中,将 |EOS| 作为正常标记处理,在采样过程中则将其移除,从而使 LLaDA 能够自动控制应答长度。
2.4 推理
作为一个生成模型,LLaDA 既能对新文本进行采样,也能对候选文本的可能性进行评估。从采样开始。给定一个提示 \(\textcolor{blue}{p_0}\),我们将反向过程离散化,从模型分布 \(\textcolor{blue}{p_\theta(r_0|p_0)}\) 开始采样,从完全屏蔽的响应开始。
采样步骤的总数是一个超参数,它自然为 LLaDA 提供了效率和采样质量之间的权衡。默认采用均匀分布的时间步数。如图所示,随着采样步骤的数量增加以匹配答案长度,模型的准确性会相应提高。
生成长度也被视为一个超参数,它指定了采样过程开始时完全屏蔽句子的长度。由于预训练和 SFT 都是使用长度可变的数据集进行的,因此最终结果对该长度超参数并不敏感。
在时间 \(\textcolor{blue}{t \in (0, 1]}\) 到 \(\textcolor{blue}{s \in [0, t)}\)的中间阶段,将 \(\textcolor{blue}{p_0}\) 和 \(\textcolor{blue}{r_t}\) 输入掩码预测器,同时预测所有被掩码的标记。随后,我们对预测到的标记进行重屏蔽 \(\textcolor{blue}{\frac{s}{t}}\),以获得 \(\textcolor{blue}{r_s}\),确保反向过程的转换与正向过程一致,从而实现准确采样。
原则上,重屏蔽的策略应该是纯随机的。然而,受 LLMs 中采样退火技巧的启发,作者探索了两种确定但有效的重屏蔽策略:
1)Low-confidence remasking (低置信度remasking):在每个推理步骤,选择模型预测置信度最低的tokens进行remasking。这种策略可以集中精力预测模型不确定的tokens,提高生成质量。
2)Semi-autoregressive remasking (半自回归remasking):对于 SFT 之后的 LLaDA,将序列分为若干个block,在每个block应用随机重屏蔽或低置信度remasking进行生成tokens。这种策略结合了扩散模型的并行生成能力和自回归模型的顺序生成能力,可以在生成质量和效率之间取得平衡。由于训练数据包括大量|EOS|标记,直接应用低置信策略将导致|EOS|在生成句子中的标记。但是,对于基本模型,因为在训练过程中,没有对|EOS|标记进行填充,使用半自动回归策略对结果的影响很小。
在使用半自回归remasking进行分块生成时,可能会出现语义断层(如前半句抒情,后半句突然转折)。优化方案:动态块长调整(根据标点分割块),或引入跨块注意力缓存机制。
如表6所示,对于基本模型,采用低置信度remasking策略可显着提高性能,而半自回归remasking策略不会带来任何明显的好处。相反,对于指导模型,直接应用低置信度remasking策略会导致大幅下降。但是,将低置信度remasking策略与半自回归remasking策略相结合,从而为指导模型带来了最佳性能。
为了形象说明LLaDA的生成过程,我们以一个简单的句子补全例子来演示其工作流程。假设我们有一句话:“机器学习是人工智能的一个分支”,希望模型生成其下一句。对于自回归模型(如GPT),典型做法是将这句话作为提示直接续写;而对于LLaDA,由于模型不是按顺序生成,而是基于掩码扩散,我们需要设置问题为一个条件生成任务:
- 构造输入: 将用户提示(上一句)作为prompt,接着准备一个空的响应区域。例如输入序列可以表示为:
“机器学习是人工智能的一个分支。[MASK] [MASK] [MASK] … [MASK]”
,其中句号后面是一串连续的[MASK]
标记,长度为我们预估的回答长度(比如128个[MASK]表示生成128字的续写)。这是LLaDA推理的起点\(X_T\),即全掩码的待生成部分。Prompt部分在SFT后的模型中被视为条件,不会被掩盖。- 设置步数和调度: 决定扩散的总步数\(T\)以及每步掩码替换多少。在推理中,我们通常选定一个固定的步数,例如\(T=100\)步,并采用线性解码,即每一步解除一定比例的掩码,使最后一步恰好无掩码。简单来说,可以每步揭示1的掩码,这样100步后全部填完。当然实际实现中更灵活,LLaDA作者默认用均匀时间步调度,每步试图去掉固定数量的掩码。他们指出步数越多,结果越好,但越慢;步数减少可以加快生成,但略损失质量,存在折中可调。
- 迭代生成:
- 第1步 (\(t=T\) 到 \(t=T-1\)): 当前序列是全掩码(只有prompt非掩码)。模型看到prompt和一长串[MASK],会尝试为所有这些M(mask)位置预测可能的词。由于完全没有上下文,模型的预测主要依据prompt提供的信息和训练中学到的一般语言分布。在实践中,可能会引入一个策略:并非直接填写所有掩码,而是一次只填一部分,或随机填一部分、留下一部分掩码保持未定。这种策略称为局部采样或重掩盖(remasking)。例如,LLaDA可能每步只填充其中的2个token,然后将它们视为确定,其余仍保持掩码用于下步预测。这样做可以避免一次性决策过多造成错误累积。第1步后,序列也许变成:
“机器学习是人工智能的一个分支。它[MASK] [MASK] ... [MASK]”
,其中“It/它”
这个词被填入了第一个掩码位置。- 中间若干步: 模型反复读取新的部分填充序列,然后预测剩余掩码。例如,在第2步,模型已知续写的开头是
“它”
,结合prompt前文,可能推测整句想表达的是定义或性质,因此继续填充下几个词,如“是当前 [MASK] 领域 [MASK]”
等等。每一步模型都利用先前生成的词作为上下文,有点类似人类逐句写作先想好大致结构再逐词完善。随着步数增加,掩码逐渐减少,序列信息越来越完整,模型预测也越来越受具体上下文约束。- 最后步 (t=0): 理想情况下,经过T步后,所有掩码都被具体的词填充,得到最终生成的完整句子。例如最后模型生成结果为:
“机器学习是人工智能的一个分支。它是当前计算机科学领域中发展最快的方向之一。”
(假设模型这么续写)。此时 \(t=0\) 对应完全去噪文本。这个输出就是LLaDA给出的回答。- 结果输出: 模型输出的序列(去除了掩码)即为对用户提示的续写回答。与自回归模型不同的是,这个过程并非严格从左到右,而是在全句范围内逐步细化。如果在某些步产生了不满意或不一致的词,后续步还有机会通过重新掩码并预测来纠正。比如模型可能在第10步时写了“不正确”的词,但后续觉得上下文不协调可以将其再次掩盖替换。事实上,LLaDA支持一种半自回归 (semi-AR) 重掩盖策略:每步总是将刚填的最后几个词掩盖一部分重新预测,以确保衔接流畅。这些技巧都利用了扩散模型能反复修改的特点。 通过以上示例可以看到,LLaDA的生成类似多人合作填字游戏:模型每次“填写”一点,然后检查整体是否通顺,再调整未定部分。这种迭代生成方式带来的直接好处是:模型可以处理任意顺序的依赖。例如,如果后面的内容需要前面信息才能确定,模型可以先暂时跳过,待前文生成后再回来补全。这有效克服了AR模型“只能顺着来,倒着不行”的问题。
三、实验
3.1 可扩展性
在\(10^{23}\)FLOPs的大规模计算预算下,LLaDA在大规模多任务语言理解(MMLU)、小学数学推理(GSM8K)、代码生成(HumanEval)等六项核心任务上的表现与同等规模的自回归模型相当。这表明扩散模型在大规模训练时具有良好的性能提升潜力。
值得注意的是,在 MMLU 和 GSM8K 等任务中,LLaDA 表现出更强的可扩展性。即使在物理交互(PIQA) 等性能落后的任务中,LLaDA 也能在更大规模上缩小与自回归模型的差距。为了考虑异常值的重大影响,我们选择不拟合定量缩放曲线,以避免潜在的误解。不过,这些结果清楚地表明了 LLaDA 的可扩展性。
3.2 基准结果
为了全面评估LLaDA 8B的上下文学习和指令跟随能力,与现有LLM进行了详细的比较,评估任务包括一般任务、数学、代码和中文方面的 15 项流行基准。
如表 1 所示,在对 2.3T 标记进行预训练后,LLaDA 8B 表现出了非凡的性能,在几乎所有任务上都超过了 LLaMA2 7B,并且在整体上与 LLaMA3 8B 具有竞争力。LLaDA 在数学和中文任务中表现出优势(LLaDA在中文任务(CMMLU 69.9 vs LLaMA3 50.7)的显著优势可能源于训练数据中中文语料占比更高,而非架构优势。),展示了扩散模型在复杂推理任务上的潜力。作者推测,LLaDA 的优势与在某些任务中表现相对较弱的因素相同--数据质量和分布的差异,这主要是由于 LLM 数据集的闭源情况造成的。
此外,Tab. 2 比较了 LLaDA 8B Instruct 与现有 LLM 的性能。我们发现,经过450万对高质量指令数据的SFT监督微调后,LLaDA在遵循复杂指令方面表现出色。SFT 提高了 LLaDA 在大多数下游任务中的性能,但少数指标(如 MMLU)出现了下降,我们推测这可能是由于 SFT 数据的质量不够理想。总体而言,由于没有使用强化学习(RL)进行配准,LLaDA 8B的结果略微落后于 LLaMA3 8B Instruct,尽管在许多指标上的差距仍然很小。值得注意的是,即使仅使用 SFT,LLaDA 也表现出了出色的指令跟随能力。
3.3 逆向推理与分析
逆向推理能力:传统自回归模型往往存在逆向诅咒问题,即在逆向任务如从结果推导过程上表现明显弱于正向任务。而LLaDA通过其双向注意力机制,在诗歌补全的正向任务(已知开头补全结尾)和逆向任务(已知结尾补充开头)上都取得了一致的高性能。甚至在某些测试用例上超越了GPT4o的表现。
具体来说,作者构建了一个包含 496 个中国名诗句对的数据集。给定诗歌中的一个句子,模型的任务是在不进行额外微调的情况下生成下一句(正对)或上一句(反对)。
如表 3 所示,LLaDA 有效地解决了逆转诅咒,在正向和逆转任务中均表现出一致的零样本性能。相比之下,Qwen 2.5 和 GPT-4o 在两者之间表现出明显的差距。正向生成的结果证实,这两种 ARM 都很强大,与 LLaDA 相比,它们受益于更大的数据集和更多的计算资源。不过,在逆转任务中,LLaDA 的表现远远超过了这两个 ARM。强调的是,并没有为逆转任务设计任何特殊的方法。直观地说,LLaDA 对标记的处理是一致的,没有归纳偏差,因此性能均衡。
3.4 案例研究
在表 4 中展示了由 LLaDA 8B Instruct 生成的样本。表4 中展示了它的指令跟随能力。首先,表格展示了 LLaDA 以非自回归方式生成连贯、流畅和扩展文本的能力。其次,它强调了该模型的多轮对话能力,可有效保留对话历史,并根据上下文生成适合多种语言的回复。LLaDA 的这种聊天功能首次脱离了传统的 ARM,令人印象深刻。
四、总结
我们介绍了LLaDA,这是一种基于扩散模型的大型语言建模的原则性的方法。 LLaDA表现出强大的能力,在可扩展性,上下文学习和指令跟随方面,达到与强大的LLM相当的性能。此外,LLADA还提供了独特的优势,例如双向建模和增强鲁棒性等独特优势,有效地解决了现有LLM的几个固有局限性。本文的发现不仅将扩散模型建立为可行且有前途的替代方案,而且还挑战了关于这些基本能力与ARM固有联系的普遍假设。
整个框架可以总结如下:
- 数据准备: 收集和清洗大规模语料,构建语料库(包含中英文、代码、数学公式等多领域文本)。LLaDA使用了约2.3万亿token的数据,和LLaMA等模型的数据量级相当(词表略有不同,因为数据分布不同)。
- 预训练阶段: 使用掩码扩散策略对Transformer进行训练。每个训练样本(序列)随机选取一个掩码比例,将该序列中对应比例的token替换为[MASK],然后让模型预测这些被掩码的位置原本的token。损失只计算预测错误的掩码token部分。通过随机选择不同的掩码比例,模型学习在从几乎无缺失到几乎全缺失的各种场景下重建文本。这种训练持续若干轮遍历直至收敛。
- 监督微调阶段: 将模型适配为能够遵循指令的人机对话模型。具体方法是使用成对的(prompt, response)数据进行有监督训练。对每个对话样本,保持prompt部分不变,将response部分按一定掩码策略进行掩盖,然后让模型在有prompt上下文的条件下预测response掩码处的内容。LLaDA的方法是仅掩盖回答的token(prompt保留),这相当于模型学习条件生成:在给定提示下生成回答。损失同样是对掩码部分计算交叉熵。经过此阶段,模型具备了遵循自然语言指令的能力,例如问答、多轮对话等。
- 推理阶段: 给定用户输入(可以视作prompt),LLaDA以扩散采样的方式生成输出:首先确定输出的长度(或最大长度),初始化一个全掩码序列,然后迭代地应用掩码预测器来逐步产生完整回答。在每一步,模型根据当前已填充的部分预测所有[MASK]标记应替换成的词,采样或选择概率最高的词填入,得到一个更少掩码的新序列。然后可以重新随机选取一部分词再次掩码(称为re-masking策略,用于保持多样性和避免一次决策失误),再交由模型预测。如此循环进行T步,直到没有掩码或达到设定步数。输出即为模型的生成文本。这一过程与图像扩散中的逐步去噪类似,只不过这里“噪声”是未填充的[MASK]标记而已。 在LLaDA框架下,预训练模型(Base)和指令微调模型(Instruct)都是通过掩码扩散实现生成的。因此,它们在推理时都不使用常规的自回归生成方法,而是使用上述掩码迭代填充算法。这一点对直觉来说比较新颖:以往LLM无论预训练还是SFT后,推理基本都是左到右逐词输出,而LLaDA的推理更像在玩“逐字填词游戏”。但正是这种生成方式,让LLaDA克服了一些AR模型的局限。下面我们深入解析其数学模型和算法细节。
当然LLaDA也存在一些明显的局限性:首先,它目前仅使用了监督微调,没有像其他主流模型那样进行RLHF(基于人类反馈的强化学习对齐),这可能导致其在安全性和对齐性方面表现不足。其次在一些需要强化学习对齐的任务上,如MT-Bench对话评测和TruthfulQA真实性评测中,LLaDA的表现略逊于经过RLHF的Llama2等模型。此外,由于训练数据中数据和代码任务的比例相对较低。在GSM8K数学推理和HumanEval代码生成等特定任务上的表现仍有提升空间。这项研究的意义在于证明了扩散模型可以作为构建大语言模型的可行替代方案。更重要的是它挑战了一个普遍认知,大语言模型的关键能力并非必须依赖于自回归架构,这为未来大语言模型的发展开辟了新的方向。