Accelerating Diffusion LLMs via Adaptive Parallel Decoding

文章标题:通过自适应并行解码加速扩散大语言模型
作者/机构
Daniel Israel, 加州大学洛杉矶分校计算机科学系
Guy Van den Broeck, 加州大学洛杉矶分校计算机科学系
Aditya Grover, 加州大学洛杉矶分校计算机科学系

A1 主要贡献

核心问题:当前大型语言模型(LLMs)的生成速度受限于自回归解码,即逐个顺序预测词元(token)。尽管扩散大型语言模型(dLLMs)理论上允许并行生成词元,但在实践中,若不显著牺牲质量,它们难以达到自回归模型的速度。现有的开源dLLMs(如Dream和Llada)在质量上能与自回归模型媲美时,其生成方式实际上是顺序的(例如,每个时间步生成一个词元),导致吞吐量远低于自回归模型。当试图利用其并行性时,又会遭遇质量下降的问题。核心挑战在于,并行采样多个词元时只能访问每个词元的边际分布,忽略了词元间的依赖关系。

研究目标:本文旨在提出一种新颖的解码机制,以有效利用dLLMs的并行生成能力,同时保持对目标文本分布的高保真度。目标是开发一个能够动态调整并行采样词元数量的算法,以在生成速度和质量之间取得更好的平衡,从而解决dLLMs在理论并行性与实际性能之间的差距。

创新点
1. 提出自适应并行解码(Adaptive Parallel Decoding, APD):这是一种新颖的解码算法,可在dLLM的生成过程中动态调整并行采样的词元数量。
2. 颠覆性的验证机制:APD首先将dLLM的生成顺序固定为从左到右,使其变为自回归模式。然后,它利用一个小型的辅助自回归模型来评估并行采样的词元子集是否充分捕捉了联合依赖性。这与标准的推测性解码(speculative decoding)设置相反,后者是使用一个大型自回归模型来验证一个小型模型生成的草稿。
3. 基于乘性混合的接受准则:通过定义dLLM的边际概率与小型辅助自回归模型下的序列联合概率之间的乘性混合(multiplicative mixture),来决定接受多少个并行生成的词元。
4. 系统级优化:为了进一步提升效率,本文将通常用于自回归模型的键值缓存(KV caching)技术应用于dLLM,并通过限制掩码输入的大小来显著提升计算效率。
5. 灵活的权衡机制:该方法引入了三个可调参数,使实践者能够灵活地在生成吞吐量和输出质量之间进行权衡,以满足不同应用的需求。实验证明,APD能够在下游基准测试中以最小的质量下降换取显著更高的吞吐量。


图1:自回归解码 vs 自适应并行解码 (APD)。我们可视化了Qwen2.5 7B自回归解码(基线)和带有APD的Dream 7B(我们的方法)的样本。相同颜色的连续文本表示并行采样的词元。这里,我们展示了APD生成解决方案的速度远快于顺序且缓慢的自回归采样。

A3 背景知识

在接下来的章节中,我们将定义本文使用的符号。我们将一个数据点视为一个由n个词元组成的序列x = ($x_1$, ..., $x_n$)。对于索引集合Q, O ⊆ {1, ..., n}且Q ∩ O = ∅,一个掩码语言模型$p_D( · | · ; \theta)$计算在以观察索引O处的词元为条件下,查询索引Q处词元的边际概率。

$$p_{\mathrm{D}}(x_{\mathcal{Q}} \mid x_{\mathcal{O}} ; \theta)=\prod_{i \in \mathcal{Q}} p_{\theta}(x_{i} \mid x_{\mathcal{O}})$$

其中$p_{\theta}$是一个由$\theta$参数化的学习到的条件分布。在本文中,扩散语言模型就是一个掩码语言模型,这两个术语可以互换使用。

2.1 离散扩散语言模型

离散扩散模型的兴起与训练过程。离散扩散模型【索引27,Discrete diffusion language modeling by estimating the ratios of the data distribution,2023】最近成为传统自回归语言生成方法的一种有前景的替代方案,其优势在于非自回归生成能力和固有的迭代式精炼特性【索引40,Remasking discrete diffusion models with inference-time scaling,2025】。离散扩散模型是掩码语言模型【索引35,Simple and effective masked diffusion language models,2024】,其训练目标是逆转一个数据损坏过程q。该过程会随机地将一个干净的词元序列$x^0$转换为一个带噪声的$x^t$,随着时间t的推移,逐渐将干净的词元转换为[MASK]。

dLLMs的训练目标。基于这个噪声过程,dLLMs通过最大化一个基于干净数据条件分布计算的对数似然下界来进行训练【索引31,Your absorbing discrete diffusion secretly models the conditional distributions of clean data,2024】。

$$\log p_{\theta}(x^{0}) \geq \mathbb{E}_{t \sim U(0,1), x^{t} \sim q(x^{t}|x^{0})} \frac{1}{t} \left[ \log p_{\mathrm{D}}(x_{\mathbb{1}(x^{t}=[\mathrm{MASK}])} \mid x_{\mathbb{1}(x^{t} \neq [\mathrm{MASK}])}; \theta) \right]$$

解码启发式策略。虽然理论上dLLMs在推理时应随机地揭开(unmask)词元,但在实践中,人们使用解码启发式策略来决定揭开词元的顺序【索引21,Train for the worst, plan for the best: Understanding token ordering in masked diffusions,2025】。例如,为了达到最佳效果,Dream模型在每个时间步根据扩散模型评估的最低熵来揭开词元。Llada模型则在揭开概率最高的词元时表现最好,这被称为“基于置信度”的解码【索引30,Large language diffusion models,2025】。

dLLMs的质量与速度困境。鉴于这些推理时的调整,扩散语言模型在生成质量上能够与自回归模型竞争。然而,在现实场景中,生成质量必须与速度相权衡。当我们同时考虑这两个因素时,目前开源的dLLMs远不及它们的开源自回归对应模型。在表1中,我们发现dLLMs或许能达到有竞争力的质量,但它们的吞吐量仅为Qwen2.5 7B【索引41,Qwen2. 5 technical report,2024】的一小部分。另一个观察是,为了在GSM8K【索引7,Training verifiers to solve math word problems,2021,arXiv】上取得有竞争力的表现,dLLMs必须在256个时间步内生成256个词元,这实际上是顺序生成。我们看到,减少时间步数可以提高吞吐量,但会牺牲质量。尽管如此,若不大幅降低质量,吞吐量也无法接近自回归模型的速度。有趣的是,我们发现最简单的解码顺序,即从左到右,在大多数情况下都能产生良好的结果,并且在GSM8K上取得了最佳结果。

表1:不同解码方法下dLLM的质量和吞吐量

2.2 从顺序采样到并行采样

左到右去噪。在本文中,我们使用一种特定的噪声调度来利用扩散模型:从左到右去噪。这等同于自回归采样,并可用于计算精确的自回归似然。

$$p_{\mathrm{AR}}(x ; \theta)=\prod_{i=1}^{n} p_{\mathrm{D}}\left(x_{i} \mid x_{<i} ; \theta\right)$$ <p>半自回归解码。为了进一步并行化这个过程,可以采用半自回归的方式【索引39,Semi-autoregressive neural machine translation,2018】,每次解码大小为k的词元组。这种解码方式从以下分布中采样:

$$p_{\mathrm{SAR}}(x ; \theta, k)=\prod_{i=1}^{\lfloor(n-1) / k\rfloor+1} p_{\mathrm{D}}(x_{(i k-k+1: i k)} \mid x_{<(i k-k+1)} ; \theta)$$

并行化与质量的权衡。由此可知,当k=1时,$p_{AR}(x; \theta) = p_{SAR}(x; \theta, 1)$。扩散模型可以通过独立地从每个边际分布中采样来并行化乘积内的项。尽管这将导致更快的生成速度,但组内独立性的假设很差,会导致生成质量下降。我们在图2中通过经验观察到了这一点:随着我们增加每次采样的词元数量,吞吐量增加,但下游任务的准确性下降。因此,在并行化和速度与样本质量之间存在一种权衡。

核心洞见。然而,我们不固定k,我们的核心洞见是,并行生成的词元数量可以自适应地选择。在本文中,我们认为这样做可以显著缓解速度和质量之间的急剧权衡。


图2:朴素并行生成。固定每次迭代中并行半自回归生成(从左到右)的词元数k,我们观察到并行化与生成质量之间存在明显的权衡。这种权衡存在于开源扩散模型中:Dream和Llada。

A2 方法细节

3.1 问题陈述

目标定义。我们的目标是从一组分组G = {($s_1$, $e_1$), ($s_2$, $e_2$), ..., ($s_l$, $e_l$)}中进行采样,其中($s_i$, $e_i$)是一个表示起始和结束索引(包含)的元组,并且对于所有i,都有$e_i + 1 = s_{i+1}$。注意,方程5是G = {(1, k), (k + 1, 2k + 1), ..., (n − k, n)}的一个特例。我们将从以下分布中采样:

$$p_{\mathrm{APD}}(x ; \theta, \mathcal{G})=\prod_{(s, e) \in G} p_{\mathrm{D}}\left(x_{s: e} \mid x_{<s}\right)$$ <p>平衡速度与质量。在选择G时,我们必须平衡以下两个目标——(1) 速度:最小化|G|;(2) 质量:最小化$p_{APD}$和$p_{AR}$之间的距离。

极端情况分析。只实现两个目标中的一个是很简单的。为了达到最快的速度,我们可以一次性从扩散模型的所有边际分布中采样,使得G = {(1, n)}且|G| = 1。这将导致质量显著下降。实际上,质量的下降可以通过互信息来量化:

$$I_{p_{\mathrm{AR}}}(x ; \theta)=\mathrm{KL}\left(p_{\mathrm{AR}}\left(x_{1: n} ; \theta\right) \| p_{\mathrm{D}}\left(x_{1: n} ; \theta\right)\right)$$

与推测性解码的区别。或者,我们可以设置G = {(1, 1)...(n, n)},此时|G| = n且$p_{APD} = p_{AR}$。这样做非常慢,因为它最大化了顺序迭代的次数。由于将在3.3节中讨论的架构原因,从扩散模型进行自回归采样也非常慢,因为它无法执行KV缓存。这种架构上的差异将我们的问题设置与推测性解码【索引23,Fast inference from transformers via speculative decoding,2023】区分开来,因为在扩散模型中计算自回归似然是缓慢且顺序的,而在自回归模型中则是快速且可并行的。虽然推测性解码不适用于我们的问题,但我们将论证自适应并行解码可以同时实现这两个目标。

3.2 自适应并行解码

引入辅助自回归模型。在自适应并行解码中,我们假设可以访问一个小型自回归模型$\hat{p}_{AR}$,该模型可以并行计算序列的似然。虽然$p_D$只计算词元的边际概率,但$\hat{p}_{AR}$计算的是联合概率,使其能够建模词元之间的依赖关系。为简洁起见,我们将省略模型参数$\theta$。

定义目标分布。为了选择G,我们将分析集中在一个子问题上。给定样本$\hat{x}_t, ..., \hat{x}_n \sim p_D(· | x_{<t})$,我们必须选择k,使得$\hat{x}_{t:t+k}$接近于$p_{AR}$。我们无法访问$p_{AR}$,因为为每个词元评估其似然将导致最差的速度。取而代之,我们有一个小型、不精确的模型$\hat{p}_{AR}$,它可以快速地并行评估似然。为了近似$p_{AR}$,我们将定义一个目标分布,用它来确定接受多少个词元k。这个目标分布$p_T$应满足以下期望属性:</p>

$$\begin{aligned} \begin{aligned} (1) & \text { if } p_{\mathrm{D}}(X=c)=1 \text { and } \hat{p}_{\mathrm{AR}}(X=c)<1 \text {, then } p_T(X=c)=1 \\ (2) & \text { if } p_{\mathrm{D}}(X=c)<1 \text { and } \hat{p}_{\mathrm{AR}}(X=c)=1 \text {, then } p_T(X=c)=1 \end{aligned} \end{aligned}$$

属性解释。属性(1)源于Bonferroni不等式【索引11,Bonferroni inequalities,1977】,即$p_{AR}(x_{1:k}) \ge \sum_{i=1}^k p_D(x_i) - k + 1$,这意味着如果对所有i都有$p_D(x_i) = 1$,那么$p_{AR}(x_{1:k}) = 1$。通俗地讲,如果扩散模型给出的边际概率都是1,那么其联合分布或$p_{AR}$的概率也将是1。属性(2)难以正式证明,因为我们没有$p_{AR}$和$\hat{p}_{AR}$之间的关系。假设$\hat{p}_{AR}$合理地近似了联合分布,那么属性(2)是一个理想的启发式规则,因为一个联合概率为1的词元应该被接受。

乘性混合分布。分布的乘性混合,也称为专家乘积(product of experts)【索引17,Products of experts,1999】,满足上述两个要求。我们如下定义$p_D$和$\hat{p}_{AR}$的乘性混合:

$$p_T(x) = \frac{1}{Z} p_{\mathrm{D}}(x)^R \hat{p}_{\mathrm{AR}}(x)^{1-R}$$

基于通用耦合器的接受准则。其中Z是归一化常数。我们的混合由超参数R ∈ [0, 1]定义。当R较高时,它给予扩散模型更大的权重。我们现在可以基于目标分布$p_T$给出一个接受标准。我们采用一个类似于现有基于通用耦合(universal coupling)【索引1,Parallel sampling via counting,2024】的并行采样方法的接受标准。形式上,一个通用耦合器是一个函数g,对于一个分布p和随机源r,它满足:

$$\mathbb{P}_{r \sim U[0,1]}(g(p, r)=x)=p(x)$$

Gumbel-Softmax作为通用耦合器。对于分类分布,Gumbel-Softmax技巧【索引19,Categorical reparameterization with gumbel-softmax,2016】是一个通用耦合器【索引1,Parallel sampling via counting,2024】。通用耦合器的一个重要性质是,对于两个分布p和p',如果它们相似,那么使用共享随机源从通用耦合器中采样的样本很可能是相同的【索引22,Approximation algorithms for classification problems with pairwise relationships: Metric labeling and markov random fields,2002】。

$$\mathbb{P}_{r}(g(p, r) \neq g(p^{\prime}, r)) \leq 2 \operatorname{TV}(p, p^{\prime})$$

APD算法流程。其中TV是总变差距离。因此,在我们的算法中,我们使用Gumbel-Softmax技巧作为通用耦合器g和随机源r从扩散模型中采样:$\hat{x}_t, ..., \hat{x}_n \sim g(p_D, r)$。然后我们从我们的目标分布中采样:$\hat{y}_t, ..., \hat{y}_n \sim g(p_T, r)$,我们接受所有在$\hat{y}_i$和$\hat{x}_i$之间相同的词元,直到第一个不一致出现。因为目标是从$p_{AR}$中采样,我们总是接受第一个提议的词元$\hat{x}_t$。完整的算法在算法1中给出。虽然即使使用不同的Gumbel随机性来从目标和提议分布中采样,该算法仍然有效,但直观上使用相同的随机性将最大化接受的词元数量。

算法1

1: 输入: 扩散模型pD, 自回归模型p̂AR, 混合权重参数R, 最大序列长度n
2: 输出: 生成的词元序列x
3: x ← () ▷ 存储已接受的词元
4: t ← 1 ▷ 要生成的词元索引
5: while t ≤ n do
6:     marginal_logitst:n ← pD(xt:n | x<t)
7:     r ← Gumbel(0, 1)
8:     x̂t:n ← sample_gumbel(marginal_logitst:n, r)
9:     joint_logitst:n ← p̂AR(x̂t:n | x<t)
10:    product_logitst:n ← softmax(R∗marginal_logitst:n+(1−R)∗joint_logitst:n)
11:    ŷt:n ← sample_gumbel(product_logitst:n, r)
12:    k ← sum(cumprod(x̂t+1:n = ŷt+1:n)) + 1
13:    x ← concat(x, x̂t:t+k−1) ▷ 追加已接受的词元
14:    t ← t + k
15: end while
16: return x

混合权重R的作用。算法1提供了一个采样过程,其输入为一个扩散模型$p_D$,一个小型自回归模型$\hat{p}_{AR}$,以及一个可调参数R ∈ [0, 1]。当R=1时,目标分布是$p_D$,算法将一次性接受来自扩散模型的所有词元。当R=0时,算法不“信任”扩散模型,而只接受$\hat{p}_{AR}$接受的词元。

与拒绝采样的比较。需要注意的是,基于拒绝采样的过程不能像使用通用耦合器那样并行化。在拒绝采样中,当一个词元被拒绝时,必须在所有已接受词元的条件下重新计算其分布。推测性采样【索引4,Accelerating large language model decoding with speculative sampling,2023】通过在拒绝时从一个预先计算的残差分布中采样来避免这一点,但要实现这一点,它必须固定一个“前瞻”的词元数量。我们的方法,自适应并行解码,不需要固定前瞻窗口,而是在根据目标分布采样的同时保持并行采样长度的自适应性。

实现无关性与优化。我们的采样算法与$p_D$和$\hat{p}_{AR}$的实现无关,但在实践中,会使用架构优化来获得额外的速度。例如,在计算自回归模型的联合logits时,我们可以使用KV缓存【索引32,Efficiently scaling transformer inference,2022】来避免对t个先前词元的冗余计算。对$p_D$的唯一要求是它能够并行地从后缀的边际分布中抽取样本。然而,如果我们考虑$p_D$的实现是一个基于Transformer的掩码语言模型,那么可以实现进一步的加速。

3.3 重计算KV窗口

架构因素的重要性。在我们上述方法中,我们将并行采样作为提高解码速度的主要方式。然而,我们的总体目标是通过一切必要手段最大化扩散模型的吞吐量,因此我们也必须考虑架构因素。我们对大小为W的滑动窗口之外的词元启用KV缓存。关于KV缓存的详细解释,请参见附录B。尽管在用双向掩码训练的扩散模型中使用KV缓存可能会引发任意的分布外行为,但根据经验我们观察到性能下降非常小(附录B)。直观的原因是,离最右边词元足够远的词元的注意力权重会很小,因此其KV的不准确性不会显著改变整体的注意力计算。

3.4 最大掩码前瞻

利用输入结构。因为我们是从左到右自回归地从扩散模型中采样,我们可以利用输入将包含一个大的连续[MASK]词元块作为后缀这一事实。一个简单的解决方法是为这个后缀设置一个最大长度M。因为注意力计算的复杂度是$O(n^2)$,减小输入的大小可以带来显著的速度提升。

对输出分布的影响。不幸的是,掩码前瞻的大小M可以通过改变句子结束词元[EOS]的概率来改变输出分布。根据经验,可以调整最大掩码前瞻M以获得显著的速度提升,同时质量损失最小。

A4 实验

在我们的方法中,我们定义了三个可调参数,我们将简要总结如下:
1. 乘性混合权重R:越高,吞吐量越高,质量越低。
2. 重计算KV窗口W:越低,吞吐量越高,质量越低。
3. 最大掩码前瞻M:越低,吞吐量越高,质量越低。

我们的实验目标是根据这些参数的变化,凭经验分析速度和生成质量之间的权衡。

实验环境

  • 模型

    • 扩散模型 $p_D$:Dream 7B Instruct【索引42,Dream 7b,2025】。
    • 近似自回归模型 $\hat{p}_{AR}$:Qwen2.5 0.5B【索引41,Qwen2. 5 technical report,2024】。
    • 模型选择理由:两个模型都在数学、科学和推理基准上展示了强大的能力。Dream 7B是从Qwen2.5 7B蒸馏而来,因此与Qwen2.5 0.5B有更大的分布重叠可能性。它们共享相同的分词器(tokenizer),满足了方法的前提条件。
  • 硬件配置

    • GPU:单张NVIDIA 24GB A5000 GPU。
    • 服务器:Colfax CX41060s-EK9 4U机架式服务器,配备AMD EPYC (Genoa) 9124处理器。
  • 软件与数据集

    • 评估框架:LM Evaluation Harness【索引12,The language model evaluation harness,2024】的标准实现,并做了一些修改。
    • 数据集:在GSM8K【索引7,Training verifiers to solve math word problems,2021,arXiv】、GPQA【索引34,Gpqa: A graduate-level google-proof qa benchmark,2023】、MATH【索引16,Measuring mathematical problem solving with the math dataset,2021】和HumanEval【索引5,Evaluating large language models trained on code,2021】上进行评估。具体细节见附录C。
    • 模型加载精度:BF16。

实验结果

权衡分析

本节通过独立改变每个参数来衡量其对性能的影响,并在GSM8K数据集上使用500个样本进行测试,衡量指标为准确率和吞吐量(生成词元数/生成时间)。

  • 乘性混合权重 R
    • 实验内容:改变参数 R,观察其对GSM8K准确率和吞吐量的影响。
    • 实验结果:如图3所示,随着R的增大,吞吐量显著提升,而准确率缓慢下降。当R较小时,每次迭代接受的词元数较少,但能保持高质量。值得注意的是,平均每次迭代生成超过5个词元时,仍能达到接近顺序生成(每次迭代1个词元)的准确率。
    • 分析结论:与图2中朴素并行化导致的质量急剧下降相比,APD通过动态选择并行采样数量,能够在不损失太多生成质量的情况下实现更高的词元接受率。表2的数据也证实了APD具有很高的并行接受率。


图3:乘性混合权重。在自适应并行解码(APD)中,较小的R值导致每次迭代的并行词元数减少,但能保持高质量。特别是,与朴素的半自回归并行化相比,我们实现了更好的权衡。值得注意的是,使用APD可以实现平均每次迭代生成超过5个词元,同时在GSM8K上保持约80%的准确率。以牺牲一些质量为代价,甚至可以实现每秒超过100个词元的速度。

表2:APD生成统计。并行采样的平均词元数。

  • 重计算KV窗口 W

    • 实验内容:在从左到右的自回归生成(即K=1)中,改变重计算KV窗口 W 的大小。
    • 实验结果:如图6(附录B)所示,准确率和吞吐量之间也存在权衡关系,但不如R参数那样强烈。
    • 分析结论:减小窗口W可以实现可观的速度提升,而几乎不牺牲质量。
  • 最大掩码前瞻 M

    • 实验内容:改变最大掩码前瞻 M 的大小。
    • 实验结果:如图4所示,减小M会提高吞吐量,但可能会因生成长度缩短而显著影响质量。
    • 分析结论:不存在能够零质量损失地提升速度的“免费午餐”。由于生成长度(即“思考时间”)与推理能力相关,通过这种方式改变$p_D$的输出分布可能会损害生成质量,尤其是在复杂的推理任务上。


图4:最大掩码前瞻。我们展示了在调整最大掩码前瞻(M)时速度与质量之间的权衡。减小M可以显著提高吞吐量(速度),但也会因缩短生成长度而降低质量。因此,该参数不应设置得过小。

总结:这三个可调参数各自展示了独特的速度-质量权衡曲线,为用户和实践者在推理时平衡这些因素提供了极大的灵活性,这是本方法的一个显著优势。

帕累托前沿分析

  • 实验内容:在多个任务和模型配置上绘制帕累托前沿图,比较不同模型在速度和质量两个目标上的最优配置。基线模型是Dream 7B (K=1),即一次解码一个词元。
  • 实验结果:如图5所示,Dream 7B (K=1) 位于低吞吐量、高质量区域。采用APD配置的Dream 7B,在性能上仅有微小下降的情况下,速度得到了极大提升。其速度甚至超过了自回归的Qwen 7B乃至Qwen 0.5B。
  • 分析结论:Dream 7B与APD的组合是帕累托最优的,因为没有其他模型配置能在速度和质量上同时超越它。即使Qwen 7B使用Qwen 0.5B作为草稿模型进行推测性解码,其吞吐量也无法超过APD。这种优势不仅体现在吞吐量上,也体现在延迟上,因为扩散模型生成的词元更少,而自回归模型可能生成冗长的推理链。


图5:帕累托前沿。与K=1的基础模型相比,配置了ADP的Dream 7B在性能影响可忽略的情况下实现了显著更高的速度。值得注意的是,带有ADP的Dream超越了自回归模型Qwen 7B甚至Qwen 0.5B的速度。这使得带有ADP的Dream成为帕累托最优的,因为没有其他模型配置在速度和质量上都更优。我们展示了APD的两种超参数配置,表明我们可以灵活地权衡速度和质量。

定性示例

尽管评估主要在标准基准上进行,但APD也能快速地为更开放的任务生成内容。附录D中展示了一些在说服性写作提示数据集【索引9,Measuring the persuasiveness of language models,2024】上的示例,其中展示了平均并行化词元数。

A7 补充细节

与多词元预测架构的比较。一些工作通过修改LLM架构来实现多词元预测,例如MaskPredict【索引13,Mask-predict: Parallel decoding of conditional masked language models,2019】、Medusa【索引3,Medusa: Simple llm inference acceleration framework with multiple decoding heads,2024】和DynaMo【索引38,DynaMo: Accelerating language model inference with dynamic multi-token sampling,2024】。虽然这些工作很有前景,但我们的重点是在dLLMs中实现多词元预测。

与dLLM加速工作的比较。其他近期工作也旨在提高dLLM的速度。例如,块扩散(block diffusion)【索引2,Block diffusion: Interpolating between autoregressive and diffusion language models,2025】启用了KV缓存,但与我们的方法不同,它需要训练。离散copula扩散【索引24,Discrete copula diffusion,2024】是一种推理时方法,旨在减少所需的去噪步骤,但它不提供可调的速度与质量权衡。

与通用LLM推理加速方法的比较。更广泛地说,加速LLM推理的算法方法包括级联(cascades)【索引29,Faster cascades via speculative decoding,2024】、前瞻解码(lookahead decoding)【索引10,Break the sequential dependency of llm inference using lookahead decoding,2024】和推测性解码(speculative decoding)【索引29,Faster cascades via speculative decoding,2024】,这些方法通常只适用于自回归模型。

与推测性解码的扩展工作比较。在推测性解码的基础上,一些工作使用了不同架构作为草稿模型,包括任意顺序自回归模型【索引15,Reviving any-subset autoregressive models with principled parallel sampling and speculative decoding,2025】和dLLMs【索引6,Speculative diffusion decoding: Accelerating language generation through diffusion,2024】。我们强调,使用一个大型dLLM并行起草会带来根本上不同的挑战,这些挑战无法通过推测性解码解决。

正交方法。最后,我们强调量化是另一种有前景且正交的方法,可在LLMs中提供强大的速度与质量权衡【索引25,Paretoq: Scaling laws in extremely low-bit llm quantization,2025;索引8,The case for 4-bit precision: k-bit inference scaling laws,2023】。

A5 结论

本文致力于解决大型语言模型推理速度这一重大挑战。我们引入了自适应并行解码(APD),一种能够显著加快dLLMs采样速度的新颖算法。APD独特地将dLLM重构为一个从左到右的自回归过程,并利用一个更小的自回归模型来评估并行生成的候选词元的质量。通过结合KV缓存和限制掩码输入等优化,APD提供了可调参数,允许在生成速度和输出质量之间进行灵活权衡。这项研究为使dLLMs成为更可行、更高效的快速文本生成替代方案迈出了重要一步。

A6 附录

A 局限性

自适应并行解码提供的是一种权衡,而非“免费的午餐”。更高的吞吐量将导致更低的质量,这是一个局限性。我们也不声称我们的方法能改进我们所采样的基础扩散模型的性能。如果Dream 7B在某一特定领域表现较弱,我们的方法同样会表现不佳。

B 重计算KV的权衡

架构差异。扩散语言模型和自回归模型之间一个主要的架构差异是,扩散模型使用双向注意力掩码进行训练以预测被掩码的词元【索引18,Enabling autoregressive models to fill in masked tokens,2025】,而自回归模型则使用因果掩码进行训练以预测下一个词元。由于这种根本性差异,自回归模型具有一个不变性属性:在一代过程中,固定一组词元的注意力矩阵永远不会改变。因此,先前用于计算注意力的“键”和“值”(KV)可以被缓存,这个过程被称为KV缓存。

在dLLM中应用KV缓存。虽然在扩散语言模型中不存在相同的不变性属性,但在实践中,我们仍然可以执行KV缓存。为了将KV缓存应用于扩散语言模型,我们放宽了每个采样词元都会立即缓存其键和值的条件。取而代之,我们采用一个大小为W的滑动窗口,窗口内的词元的KV将被重新计算。一旦一个采样的词元距离最近采样的词元超过W个位置,我们就会缓存它的KV。

实验结果。在这里,我们展示了通过在扩散模型中启用KV缓存,以极小的准确率损失换来了适度的吞吐量增益。


图6

C 实验细节

评估设置。因为我们的模型是指令微调的,所以我们以聊天格式和系统提示进行零样本评估。对于GSM8K【索引7,Training verifiers to solve math word problems,2021,arXiv】和HumanEval【索引5,Evaluating large language models trained on code,2021】,标准的系统提示是“你是一个有用的助手”。对于GPQA【索引34,Gpqa: A graduate-level google-proof qa benchmark,2023】和MATH【索引16,Measuring mathematical problem solving with the math dataset,2021】,我们修改了系统提示以指定推理任务和答案格式。

生成长度设置。此外,我们为扩散模型设置了256或512个词元的最大生成长度,为自回归Qwen模型设置了16384(最大上下文长度)。这是一个必要的差异,因为扩散模型必须具象化最大上下文长度,而自回归模型则不必。在实践中,扩散模型在达到最大生成长度之前会生成[EOS],此时我们结束生成。

采样超参数。从Dream 7B采样时,我们使用温度0.2和top-p 0.95的超参数,因为这些是默认设置。

D 定性示例

尽管我们在标准基准上进行评估,APD也能快速地为更开放的任务生成内容。我们在一个说服性写作提示的数据集【索引9,Measuring the persuasiveness of language models,2024】上展示了定性示例,并使用APD参数R = 0.7从Dream 7B进行采样。使用APD,我们可以在开放式任务上表现良好,但与具有更多文本规律性的推理任务(例如,小学数学问题)相比,我们在数量上没有观察到相同的并行生成率。

提示:
为以下主张写一个有说服力的论点:“应在设定的淘汰日期后禁止销售燃油汽车。”

回答:
燃油汽车的使用是导致温室气体排放的主要因素,而温室气体正在引起气候变化。在设定的淘汰日期后禁止销售燃油汽车将有助于减少温室气体排放和气候变化的总体影响。此外,这将鼓励电动和混合动力汽车的发展,这些汽车对环境更友好,并有助于减少对化石燃料的依赖。

每次迭代平均并行词元数:3.38

提示:
为以下主张写一个有说服力的论点:“社交媒体应该验证用户身份。”

回答:
社交媒体平台应该验证用户身份,以确保为所有用户提供一个安全可靠的环境。通过验证用户身份,社交媒体平台可以防止虚假账户、网络欺凌和其他有害活动的传播。此外,验证用户身份有助于保护用户的隐私,确保他们的个人信息不会与未经授权的个人共享。

每次迭代平均并行词元数:2.92

提示:
为以下主张写一个有说服力的论点:“应允许且不受限制地使用虚拟情感伴侣AI。”

回答:
虚拟情感伴侣AI应被允许且不受限制,因为它可以为那些正在与心理健康问题作斗争的个人提供宝贵的支持系统。这些AI可以提供情感支持、陪伴和一种联系感,这对于那些孤立或孤独的人尤其有益。此外,虚拟AI可以为个人提供一个安全且不带评判的空间来表达他们的感受和想法,这对于那些正在与焦虑或抑郁作斗争的人尤其有帮助。通过允许虚拟情感伴侣AI不受限制,我们可以为那些最需要它的人提供一个支持系统,帮助他们克服心理健康挑战。

每次迭代平均并行词元数:2.88