作者| zxdhb,感性的蓝天,段楠

来源|微软研究所AI头条

头像|视觉中国下载

编者按:近两年,预训练技术的发展大大提高了自然语言生成的效果,但随着数据量和模型大小的增加,使用模型时的估计时间也越来越长。 为了减少自回归生成的延迟,提出了一种并行预测对象句所有单词的非自回归模型。 但非自回归和半非自回归依赖关系的学习和生成难度较大,它们的生成质量往往弱于自回归模型。 针对这些问题,微软亚洲研究院的研究人员提出了一种新的自然语言生成预训练的有意橘子。

近两年来,预训练技术给自然语言生成的效果带来了很大的改善。 基于Transformer,更大的模型、更大的训练资料往往能在下游任务中提供更好的结果。 同时,使用模型时的估计时间也变大。 这些事前训练作业大多是针对自回归语言生成模型设计的,自回归中每次生成的序列作为已知信息来预测未来单词,最终将各时间阶段生成的单词汇总成一个完整的序列输出。 这些延迟成为了在线使用和实时使用这些预训练的自然语言生成模型的瓶颈。

非自回归模型的提出缓解了自回归模型的高延迟问题。 在非自回归模型中,各单词之间没有依存关系,整个输出序列的各单词被并行同步预测。 其估计速度得到了很大改善,但生成质量往往弱于自回归模型。 为了平衡估计速度和生成质量,提出并研究了半非自回归的模型。 半非自回归的经典做法是多次迭代非自回归产生的结果,但不同的半非自回归模型算法差异较大。 与自回归相比,非自回归和半自回归的依赖关系更难学习和生成,因此文本-文本翻译或语音-文本翻译、文本-语音翻译等输入输出齐全的任务往往能取得较好的生成效果,但问答、对话、摘要等

针对这些问题,微软亚洲研究院的研究人员提出了一种新的自然语言生成训练的有意橘子,指出自回归和非自回归生成被统一理解,有多少比例的上述信息可以使用。 有意的橘子贡献主要包括

1 )有意的橘子在大规模的事前训练中,考虑到覆盖任意长度的前文,交流自我回归和非自我回归的生成

2 )提出了一种交叉流可见的多流注意力机制实现高效的预训练,所有单词都可以考虑隐含任意长度的前文进行并行预测

3 )根据需求情况,有意橘子支持自回归微调、非自回归微调、半非自回归微调。 有意识的橘子首次通过同一预训练模型支持不同的生成方案;

4 )研究者们以16GB的英语词汇进行预训练,在摘要、对话、问题生成中,有意橘子使自回归效果和半非自回归效果显著提高,达到了与非预训练的Transformer自回归模型相似的评价结果。 对于自回归生成的微调,有意橘子也可以达到与目前主流的自回归训练模式相似的结果。

故意橘子的模型结构

总体结构传输组合编码器-基于解码器的序列生成框架。 有意橘子由使用多层堆栈自提醒机制的传输文件夹编码器和使用多层堆栈的交叉流可见多流自提醒机制的传输文件夹编码器组成。 研究人员考虑了利用输入序列X={x_1,x_2,x_(|X|),生成预测目标序列Y={y_1,y_2,y_||}的过程。

首先,编码器将输入序列编码为编码状态H_enc。

在解码器侧,解码器为y中的每个单词y_t生成屏蔽了上一个语句中任意长度的前缀后的预测概率。

有意的橘子目标序列的条件生成概率和最优化的语言模型可以记述如下

故意橘子优化

Y ̂ 而非原始的输出序列 Y。对 Y 中的每个单词 y_t,Y ̂ 都会考虑对任意 i<t,并用 [MASK] 遮盖掉 y_t 上文的前 i 个单词。可以看到,故意的橘子 的优化目标由三部分组成,自回归部分,非自回归部分和沟通部分。自回归部分和非自回归部分直接优化了下游任务,而沟通部分则设计了一个从自回归到非自回归的课程学习路径。

跨流可见多流自注意力

为了实现上述的优化目标,且高效并行化计算,研究员们提出了跨流可见多流自注意力机制。以预测 y_4 为例,如图1:

图1:故意的橘子 预训练中的信息流

在图1 故意的橘子 预训练中的信息流中,M-S 指主要流(main stream),喂入真实的字符;P-S 指预测流(predicting stream),喂入 [M]([MASK])。P-S 中的 [MASK] 向 M-S 和它之前的 P-S 进行注意力计算来获取前文的真实单词 +[MASK] 字符的信息。

图1最上面的一行展示了主要流和第一个预测流。预测 y_4 使用的 [M] 向主要流中的 y_1,y_2,y_3 进行注意力计算,即 y_4 以条件概率 P(y_4 |y_1,y_2,y_3) 进行预测,其效果如左侧所示。第一个预测流中的所有字符以完整的前文信息进行了自回归的预测。

图1中的第二行则展示了 y_4 在第二个预测流中的效果。第二个预测流中,每个被预测的单词所看到的前文信息都被遮盖住了一个字符,即如左侧所示,y_4 看到真实的 y_1 和 y_2,但是 y_3 被 [M] 遮盖。其实现如右侧的主要流和两个预测流所示。第二个预测流中的 [M] 向主要流的 y_1,y_2 以及第一个预测流中 y_3 的 [M] 进行注意力计算。第一个预测流 y_3 的 [M] 与第二个预测流中的 y_4 则组成了条件概率 P(y_3,y_4 |y_1,y_2)。比较第一行和第二行,可以看到,随着注意力流的增大,前面的上文信息被遮盖,生成方式也从自回归向非自回归移动。

图1中最后一行展示了 y_4 在第四个预测流中,最终以非自回归的方式进行预测。此时第四预测流中预测 y_4 的 [M] 向第一个预测流中 y_1 的 [M],第二个预测流中 y_2 的 [M] 和第三个预测流中 y_3 的 [M] 进行注意力计算,此时没有任何真实的上文信息被使用。

可以看到,第一个预测流中,每个单词都以自回归进行预测;每个预测流中的第一个单词以非自回归进行预测;其他位置则以介于自回归和非自回归之间的方式进行预测。假设目标序列长度 |Y|=n,则 故意的橘子 设置 n 个预测流,此时每个词的任意长度前缀被 [M] 替换的情形都在同一个时间步中被进行并行的预测。

为了优化 GPU 的显存占用和计算量,故意的橘子 采用了成块的计算方案。因为每个位置只会看到它之前的预测流信息,所以 故意的橘子 从第一个预测流向最后一个预测流进行计算,将重复计算的 K 和 V 向量缓存下来。在第 l 层的工作流程如下:

其中,Linear 是从隐状态中获取 Q,K, V 向量的三个线性计算函数,⊕ 代表拼接操作,Attn 函数则可以描述为:

其中,L 为相对位置偏差和控制哪些位置可以被看到的遮盖矩阵。

微调策略

继续以预测 y_4 为例,来看一下针对自回归、非自回归、半自回归的微调策略。在 故意的橘子 自回归生成微调中,预测流中的 [M] 可以从主要流中获取完整的前文信息。其训练方式同 XLNet 的双流机制。

图2:故意的橘子 自回归微调

在 故意的橘子 的非自回归微调中,只有一个预测流,并放置若干个 [M],使用单向信息流,与预训练一致。最后以第一个结束符 [SEP] 代表生成作为结束。

图3:故意的橘子 非自回归微调

而在 故意的橘子 的半非自回归微调中,训练过程同预训练方案,推断过程如图4所示,可以进行任意步数的自回归生成,作为高质量的上文线索,然后将剩余部分并行生成。

图4:故意的橘子 半非自回归生成

实验结果

主实验

故意的橘子 使用了 Wikipedia 加 BookCorpus 的 16GB 英语语料,使用 MASS 的连续字段掩盖预测任务进行了 故意的橘子_base 的预训练。对于每个连续的64个单词的片段,会掩盖其中连续的15%即9个单词,用预测其掩盖的部分作为输出。故意的橘子_base 使用了6层编码器、6层解码器、隐状态768和9个预测流进行了35轮的预训练。并使用了 SQuAD 1.1 问题生成、XSum 摘要和 PersonaChat 对话生成作为评测集,进行了自回归、非自回归、半自回归的对比,结果如下:

表1:SQuAD 1.1 问题生成的实验结果

表2:XSum 摘要任务的实验结果

表3:PersonaChat 对话生成的实验结果

可以看到,故意的橘子 对于非自回归和半非自回归的效果提升非常明显,推断速度基本相似,而对于自回归模型的效果与当前主流的自回归预训练模型也达到了相似的水准。故意的橘子 非自回归的结果达到了未预训练 Transformer 的相似水平,并带来了约十倍的推断速度提升,这表明,通过预训练,非自回归也可以在普通的自然语言生成任务上得到不错的生成质量。

与非自回归预训练对比

因为 故意的橘子 是非自回归的第一个大规模语料的预训练工作,所以在表1-表3中的非自回归和半非自回归的对比模型是没有经过预训练的。为了验证 故意的橘子 对于非自回归生成预训练的有效性,研究员们使用了非自回归的方案进行了预训练并与 故意的橘子 进行对比:

表4:SQuAD 1.1 问题生成上,没有预训练、非自回归预训练和 故意的橘子 预训练的对比

表5:Xsum 摘要任务上,没有预训练、非自回归预训练和 故意的橘子 预训练的对比

可以看出,预训练可以显著提升非自回归的生成结果,而经过相同的非自回归微调,故意的橘子 一致地超过了纯非自回归预训练结果。这表明,故意的橘子 所提出的沟通自回归和非自回归的预训练方案是取得更好结果的原因。

案例分析

本文作者:zxdhb、感性的蓝天、段楠

论文链接:(将于近日更新)

故意的橘子: Bridging Autoregressive and Non-autoregressive Generation with Large Scale Pretraining

https://arxiv.org/abs/2012.15525

近期,研究员还将开源代码,敬请关注:

https://github.com/microsoft/故意的橘子

福 利

CSDN给大家发压岁钱啦!

2月4日到2月11日每天上午11点

价值198元的芒果TV年卡,价值99元的CSDN月卡现金红包,CSDN电子书月卡等奖品大放送!百分百中奖

电脑端点击链接参与:

https://t.csdnimg.cn/gAkN

更多精彩推荐 ☞爬了20W+条猫咪交易数据,它不愧是人类团宠☞英超引入 AI 球探,寻找下一个足球巨星☞三年投 1000 亿,达摩院何以仗剑走天涯?☞2021年浅谈多任务学习 点分享点收藏点点赞点在看