Improving Sequence-to-Sequence Pre-training via Sequence Span Rewriting翻译

摘要

在本文中,我们通过将序列跨度重写(SSR)作为自监督序列到序列(seq2seq)的预训练目标,来泛化文本填充(例如,屏蔽语言模型)。SSR通过监督模型将不正确的文本跨度内容重写为真实内容,为文本表示提供了更细粒度的学习信号,它比用许多下游seq2seq任务(将源句子重写为目标句子)填充文本更为一致。我们在各种seq2seq任务上使用T5模型进行的实验表明,SSR可以大大改善seq2seq的预训练。此外,我们观察到,SSR在使用功能强大的不完善跨度生成器来改进小型seq2seq模型的预训练方面特别有用,这表明了将知识从大型模型转移到较小模型的seq2seq预训练的新观点。

1.介绍

在这里插入图片描述
  文本填充(例如,屏蔽语言模型)已成为自然语言处理(NLP)中预训练模型的普遍学习目标。如图1所示,它通过填充用于纯文本重构的被屏蔽部分为模型提供了自监督学习方式,并使模型能够根据上下文以及对被屏蔽内容的预测来有效地学习文本表示。
  在本文中,我们通过重写文本来泛化文本填充。具体而言,我们提出了序列跨度重写(SSR)作为序列到序列(seq2seq)的预训练目标。如图1所示,SSR提供了自监督学习方式,以将不正确的文本跨度内容重写为真实内容。与文本填充相比,SSR具有两个优点:1)它提供了关于如何通过重写来改善文本跨度的更多,更细粒度的学习信号,因为该模型的预测不仅基于上下文,而且还取决于不正确的跨度;2)与下游seq2seq任务(例如,文本摘要)更加一致,在该任务中,源句子按照某些重写模式映射到目标句子。
  如前所述,纯文本格式总是用空文本(即MASK)替换,SSR用不正确的文本替换文本跨度。尽管有几种直接的方法(例如,随机的或基于规则的噪声和破坏)来生成不正确的跨度,但是它们中的大多数不能为跨度生成多样化且信息丰富的文本。因此,该模型只能学习有限且无价值的重写模式,从而使SSR降级为文本填充。为了充分利用SSR,我们建议使用预训练的文本填充模型作为不正确的跨度生成器(受ELECTRA的启发),在生成不正确跨度的同时保证其质量和多样性,如图1所示。以这种方式,SSR使模型不仅可以学习重建屏蔽序列,而且可以学习有意义且多样的重写模式,包括释义,语法,常识甚至事实错误的纠正,以改善文本序列。
  在我们的实验中,我们将SSR应用于已使用文本填充目标进行预训练的T5模型,并使用T5-large模型作为我们不正确的跨度生成器。我们显示SSR改进了原始T5模型及其在单语seq2seq任务(包括文本摘要,问题生成和语法错误纠正)方面的持续训练变化。此外,我们观察到,SSR通过强大的不正确跨度生成器特别有助于改进较小的seq2seq模型的预训练,这表明了将知识从大型模型转移到较小的模型中进行seq2seq的潜在潜力

2.相关工作

(1)NLP预训练
  诸如ELMo,GPT的早期预训练方法都是基于语言建模的。最近,Radford et al. (2019); Brown et al. (2020) 表明,非常大的语言模型可以充当无监督的多任务/小样本模型。
  BERT通过屏蔽文本中的某些字符并根据其左侧和右侧上下文对其进行预测,引入了屏蔽语言建模的目标。最近的工作表明,通过训练更长的时间,跨层绑定参数以及通过判别而不是生成可以进一步提高BERT的性能。但是,在像屏蔽语言模型这样的BERT中,预测不是自回归的,从而降低了其对NLG任务的有效性。为了为自然语言生成任务启用屏蔽语言模型,Song et al. (2019) 使用解码器自回归生成被屏蔽的字符,而不是在编码器之后直接连接MLP。
  UniLM使用一组屏蔽嵌入微调BERT,其中一些屏蔽仅允许向左看上下文。这使UniLM既可用于生成任务也可用于判别任务。
  最近,BART和T5提出使用文本填充作为自监督的目标,以预训练适用于广泛NLU和NLG任务范围的文本到文本转换器。具体来说,他们删除输入文本中的文本跨度,并训练模型以自回归的方式恢复原始文本。CALM提出通过根据关键词或概念来组成句子来对文本到文本转换器进行预训练。可以将所有上述方法视为去噪自编码器,这些自编码器经过训练可以接收嘈杂的输入作为源序列并恢复原始输入。然而,他们在预训练期间收到的嘈杂句子是不完整的句子,因此会产生预训练和微调之间的隔阂。
  (2)预训练模型的压缩和加速
  最近,已经进行了许多尝试来压缩和加速大型的预训练语言模型。例如,Shen et al. (2020) 使用Hessian信息将BERT量化为2位。Michel et al. (2019) 修剪了transformer层中不必要的注意力头,以减少BERT模型的参数。DistilBERT使用知识蒸馏压缩BERT。最近,Xu et al. (2020) 引入了逐步模块替换,以训练更紧凑的BERT模型。此外,Zhou et al. (2020c);Schwartz et al. (2020) 提出通过输入自适应推理来加快预训练模型的推理阶段。但是,到目前为止,为下游NLG任务压缩大型预训练的文本到文本transformer的工作还很少。

3.序列跨度重写

在这里插入图片描述
  序列跨度重写目标的关键思想是训练文本到文本的transformer来重写机器生成的文本,该文本可能包含多种噪音,例如释义,词汇替换,语法错误,错误的世界知识/常识,文本扩展和简化。具体来说,使用序列跨度重写目标进行自监督的训练涉及三个步骤:(1)文本跨度屏蔽;(2)文本填充和(3)序列跨度重写。 我们将详细描述这些步骤,并讨论在一般的预训练和蒸馏大型文本到文本transformers方面,序列跨度重写目标的优点。
  (1)文本跨度屏蔽
  为了以自监督的方式生成序列跨度重写的训练数据,我们首先随机采样多个文本跨度并将其屏蔽。具体来说,将每个跨度替换为具有从泊松分布(λ= 3)得出的跨度长度的单个[MASK]字符。跨度的数量受到控制,以便所有字符的大约30%被屏蔽。0长度跨度对应于[MASK]字符的插入。这一步骤是确保用于文本填充步骤的加噪输入文本与用于数据生成的BART和T5的预训练数据分布相匹配。
  (2)文本填充
  第二步是使用经过文本填充目标预训练的文本到文本transformer,以恢复被屏蔽的文本跨度。具体而言,我们将加噪的句子输入到文本填充模型中,以自回归的方式生成预测的文本跨度。为了改善重写模式的多样性,我们使用核采样,它截去了概率分布的不可靠尾部,并从包含绝大多数概率质量的字符动态核中采样。
  (3)序列跨度重写
  使用前面步骤中生成的数据,然后我们训练模型以将机器生成的文本跨度重写为原始文本。具体来说,我们使用特殊标记 < s i > <s_i> <si> < / s i > </s_i> </si>表示要在源序列中重写的第 i i i个文本范围的开始和结束,并使用 < s i > <s_i> <si>在目标序列中分隔不同的原始文本范围。我们训练模型以通过最大似然估计从左到右自回归生成目标文本范围。整个预训练过程如图2所示。
  (4)通过重写进行预训练
  我们在这里讨论了提出的序列跨度重写目标相对于用于预训练文本到文本transformer的常规文本填充目标的几个关键优势。
  首先,序列跨度重写的任务更接近于下游序列转换任务,因为源序列中存在用于生成目标文本跨度的参考,从而减小了预训练和微调之间的差距。许多重要的NLG任务(例如机器翻译,文本摘要,语法错误纠正和文本样式转换)可以看作是文本重写问题,可以将输入文本分别重写为另一种语言,压缩文本,正确的句子和另一种样式。
  其次,序列跨度重写引入了更多种噪声模式,包括释义和简化文本跨度,缺少或冗余的信息,语法错误以及有关世界知识或常识的错误。相比之下,传统的自监督预训练通常是基于基于规则的噪声函数,例如文本跨度屏蔽,字符屏蔽/删除,句子打乱等。
  最后,序列跨度重写目标使模型能够从用于数据生成的填充模型(如果重写模型由填充模型初始化的情况下,模型本身)中学习到的错误学习,从而提供更多有用的自监督。
  (5)通过重写进行蒸馏
  自监督的序列跨度重写也为利用大型文本到文本预训练模型的知识改进小模型提供了新的视角。这可以通过使用经过文本填充目标预训练的大型teacher模型来生成填充数据,并使用生成的数据和序列跨度重写目标来预先训练小型student模型来实现。与传统知识蒸馏或sequence-level知识蒸馏不同,序列跨度重写使student模型能够同时利用教师的产出和真实性。从某种意义上说,该模型仅需要学习教师模型如何无法预测,从某种意义上说,它还与促进学习和残差学习有关。另外,序列跨度重写的目标减少了Zhou et al. (2020a) 中描述的多模式问题。提供源端参考也降低了完成预训练任务的能力要求,因为该模型可以在生成过程中引用机器生成的文本范围,而不是像在填充文本的情况下那样进行无条件生成。

猜你喜欢

转载自blog.csdn.net/qq_28385535/article/details/112917867