AR-diffusion

摘要
与图像相比,自然语言表现出更明显的顺序依赖性,并且大多数现有的语言模型都是用从左到右的自回归方法训练的。
AR-Diffusion确保右边token的生成依赖于左边生成的token。这是一种基于token位置变化的动态去噪。这样操作使得左侧的token比右侧的token经历更少的去噪步骤,从而使它们能够更早地生成并随后影响右侧token的生成。
在各种文本生成任务(包括文本摘要、机器翻译和常识生成)的一系列实验中,AR-DIFFUSION清楚地展示了其优于现有扩散语言模型的优势,并且在获得可比结果时可以快100倍~ 600倍。
介绍
自回归从左到右依次生成token,通过利用位置依赖,AR模型能够在生成的文本中增强自然度、连贯性。
扩散模型在图像生成中表现出色,这促使研究人员将扩散模型扩展到文本生成。这些方法通过引入时间步长,逐步调节原始token与高斯噪声之间的插值,然后迭代去噪以生成文本。在每个时间步,基于扩散的文本生成器预测所有的token,遵循了非自回归的方法,使得解码速度比自回归更快,但是也继承了非自回归的缺点,即牺牲了token之间的位置依赖性。
为了综合分析,引入了一个二维坐标系来记录位于不同位置的token的扩散步长。如图1所示,token位置为横轴,扩散时间步长为纵轴。

图1:模型行为以二维坐标系表示,横轴表示位置,纵轴表示扩散时间步长。在推理阶段,不同的模型会有不同的行为。
(a)对于典型的Diffusion—LM,每个token共享相同的移动速度\(v(n_{1}, t_{i}, t_{i+1}) = v(n_{2}, t_{i}, t_{i+1}) = |t_{i+1} −t_{i}|.\)
(b)对于AR,从扩散模型的角度看,基于原始token和高斯噪声之间的差值程度,token有两种状态:待解码(在时间t=T)和已经解码(时间步长t=0)。具体来说,\(v(n_{1}, t_{i}, t_{i+1}) = 0\),\(v(n_{2}, t_{i}, t_{i+1}) = T\)。
(c)在AR-Diffusion中,\((n_{e},t_{e})\)为锚点坐标,不同位置的token的移动速度不同,例如当\(n_{1}<n_{2}\)时\(v(n_{1}, t_{i}, t_{i+1}) > v(n_{2}, t_{i}, t_{i+1})\)
Diffusion-LM 如图a,为所有token分配统一的时间步长t。
图b所示的AR模型中的token在生成步骤表现出不同的时间步长。例如位置\(n_{1}\)上已经解码的token的时间步长为0,而位置\(n_{2}\)上待解码的token的时间步长为T。
这种方法有效地捕获了顺序依赖性。基于这一观察结果,我们引入了AR—diffusion,一种自回归的扩散方法,用于针对token位置差异和token顺序识别。
在AR-Diffusion中,我们提出了一种多级扩散策略,包括句子级和token级扩散。我们随机选择一个句子级时间步长t,并通过为每个token确定位置敏感的token级时间步长f(n, t)来分配动态移动速度v(·)。
这使得句子左侧的token能够更快地从随机高斯噪声移动到token嵌入,而句子右侧的token则会经历较慢的移动,以更好地利用先前去噪的token中的信息。
在推理阶段,为了减少大量的推理步骤(比如2000),我们引入了一种跳跃机制,与多层次扩散策略协同来加速这一过程。
各种文本生成任务(如文本摘要、机器翻译和常识生成)的实验结果一致表明,AR- diffusion在质量和多样性方面优于现有的文本扩散模型,包括AR方法。
此外,我们的验证表明,AR-DIFFUSION在解码过程中需要更少的资源,同时保持优越的性能。它在机器翻译方面比SeqDiffSeq 快100倍,在文本摘要方面比GENIE快600倍,同时提供可比较的结果。此外,即使在解码仅限于两个步骤的具有挑战性的场景中,它也展示了有希望的结果。
方法
多层次的扩散
在典型的扩散过程中,文本序列中的每个token具有相同的扩散时间步长。为了利用语言的顺序特性,我们使token在正向传递和反向传递期间具有不同的扩散时间步长。为了实现这一点,我们提出了一种多级扩散策略,包括句子级和token级扩散。
首先,在句子级别,我们遵循Diffusion—LM,随机选择一个时间步长t。
其次,在token级别,我们基于句子级的时间步长,结合位置信息n∈[1,n]来调节当前token的扩散时间步长。程序说明如下:\(z_{t}=(z^{1}_{f(1,t)},z^{2}_{f(2,t)},...,z^{N}_{f(N,t)})\)
其中,N是给定的目标句子长度,
\(z_{t}\)是在时间步t时的句子表示,
\(z^{n}_{f(n,t)}\)是第n个token在句子级时间步长t时的潜在表示,
\(f(n,t)\)是token级别的时间步函数,表示由token位置n和句子级别的时间步长t决定的token级扩散时间步长。
我们将token级别的时间步长\((n,f(n,t))\)可视化到如图1所示的二维坐标系中,该坐标系以token位置为横轴,句子级别的时间步长为纵轴。此外,为了更深刻地描述运动特征,我们将运动速度定义为以下等式:
\(v(n,t_{i},t_{i+1})=f(n,t_{i+1})-f(n,t_{i})\)
其中,\(t_{i}\)和\(t_{i+1}\)是开始和结束的句子级扩散步长。可以看出,Diffusion-LM中的token具有相同的速度,而AR中的token具有不同的速度。
动态移动速度的token级扩散
基于移动速度,我们提出了一个基本原则,即动态移动速度,用于设计token级扩散时间步长函数\(f(n,t)\),以利用扩散中的自回归。具体来说,句子左侧的元素从随机高斯噪声到token嵌入的移动速度更快,而右侧的元素的移动速度更慢,因此它们可以在后面的句子级时间步中生成,并更有效地利用先前生成的token信息。

算法1 AR-Diffusion的训练过程:
输入:数据集{(x,y)},最大时间步长T,最大目标长度N
输出:优化的模型参数θ
1.定义一个锚点(n_e,t_e) 在我们的实现中,锚点被设置为(2 × N, T)
2.重复:
3.从数据集中抽取(x, y)并将y嵌入到z_0中。
4.从区间[0,N+T]中采样一个句子级时间步长t,起始点通过下述公式定义:
(n_s, t_s) = clip(N − t, 0, N), clip(t − N, 0, T), 其中clip(x, min, max)函数是将x中的所有元素收缩到[min, max]范围内
5.使用点斜线性函数确定位置n的token级时间步长f(n, t)
6.对不同位置的每个n进行高斯重参数化采样z^n_f(n,t)
7.采用梯度下降法对目标进行优化
8.直到收敛
在该原则的指导下,我们开发了一个具有线性函数的令牌级扩散策略,如图1(c)所示。该过程在算法1中进行了说明,具体来说,在正向扩散过程中,起始点沿水平轴从(N, 0)向左移动到(0,0),然后沿垂直轴向上移动到(0,T)。因此,将整个句子级时间步长范围扩展到[0,N + T]。
在反向扩散过程中,多级扩散遵循公式:

其中,\(g_{\theta}(z^{n}_{f(n,t)},f(n,t);x)\)表示第n个元素。
跳着推理
通常,生成过程需要经历从T + N到0的所有句子级时间步长。为了减少解码时间,我们引入了一种跳过机制,允许我们遍历时间步长的子集。

算法2:带跳跃机制的AR-Diffusion扩散推理过程
输入:源条件x,解码步数M,模型参数Θ。
输出:预测的目标嵌入y_{hat}
1.定义一个锚点(n_e,t_e)
2.在T+N到0范围内,选择一个递减次序的时间步长序列t_i,i从0到M
3.采样z_t0 ~ N(0,I)
4.for i=0 to M-1 do:
5.通过公式(6)计算起始点
6.基于当前句子级时间步t_i和下一时间步t_i+1,通过公式(7)将token级时间步长f(n,t_i)和f(n,t_i+1)分配给位置n的token。
7.利用以下的公式反向采样z_t_i+1
8.end for
9.映射z_t_M到最近的y_hat嵌入

实验
训练参数

实验结果

k表示生成的候选样本数。
案例研究
通过将状态映射到具有最高对数的token,我们可视化了AR-DIFFUSION的中间状态。如图3所示,AR-DIFFUSION经历了一个去噪过程,将随机的高斯噪声转换成一个连贯的句子,经过20步,我们给出了其中的5步。随着每个时间步的推进,与句子右侧的token相比,左侧的token显示出更快的确定速度,相应的对数也快速增加。这种行为符合我们从左到右的动态移动速度原则。

局限性
我们工作的一个主要限制在于需要生成大量的候选样本以获得最佳性能。如CNN/DAILYMAIL数据集表3所示,与AR-DIFFUSION (k = 500)相比,ARDIFFUSION (k = 50)的ROUGE-2得分低0.8。我们期望探索更有效的采样策略,在不降低性能的情况下最小化生成样本的数量。
浙公网安备 33010602011771号