PALM-一种生成式模型

当时的生成预训练模型,在预训练任务上都是更偏生成类的,比如 GPT 是 Language Model,把所有的文本去预测下一个词。BART是把输入端去做一些 mask,再 decoder 去做一些还原。

我们认为有一类生成类任务,比如文本摘要,有输入序列长,输出序列短的特点,这种场景很依赖 encoder 的理解能力。motivation 是看到 EMNLP 上有一篇 paper ,把 BERT encoder 直接拿过来,再加一个随机 decoder,fine-tune 训练摘要任务,都得可以得到很好的效果,这说明了 encoder 的重要性。所以我们在做 PALM 的时候结合了自编码和自回归的预训练。

① 自回归类似于 Language Model 这种去做生成,只不过我们这里会把一个 document 随机从中间切开,切成两部分,一部分输入到 encoder 里面,让 decoder 去预测后半部分。

② 自编码预训练就是在 encoder 侧加一个任务,让模型去提升模型的理解能力。encoder 任务我们采用的是 maskLM,类似于 BERT 的,经过验证有效的方式去做 mask,直接在 encoder 去做预测。

联合自编码自回归的预训练它既有 encoder 的理解能力,同时 decoder 也有很好的生成能力。PALM-一种生成式模型_第1张图片

下面来看实验的结果。从右侧的表可以看出,把自编码和自回归任务单独去掉之后,模型的效果都会下降一个点。另外还对比了几个生成预训练模型在大部分数据集上都有提升。

PALM 2.0 在 1.0 版本上主要是针对中文场景的升级,我们发现通过多阶段多任务渐进式预训练可以进一步提升模型效果。采用课程学习(curriculum learning)的思想,从易到难的学习思路。因为之前的词编码这种词级别的 mask,对于生成有点太简单了。所以我们这里采用了一个 text infilling,同时也对句子做一些 Shuffle。类似于 BART 的这种方式,只不过它会 mask 更多的词,同时也会把句子打断,这样会使模型生成起来难度更高。相当于从最简单的这种 maskLM 任务到中间第二阶段 text infilling任务。第三阶段是延续 PALM 1.0 的自回归任务。

我们对比了模型在预训练过程中的这几个任务的 Accuracy,从 Accuracy 指标的结果可以看出,这几个任务确实是从易到难的。第一个任务,我们训练过程中 Accuracy 可以达到 90% 多。第二阶段 text infilling & Shuffle 任务,可以达到 80% 的结果。第三阶段模型最多能够达到 40% 以上。毕竟是一个开放性的生成任务,即使人去写也是比较难的。

PALM-一种生成式模型_第2张图片

下面看一下多阶段渐进式预训练的实验结果。开始的词级别的 mask 作为 Baseline,在此之上加入 text Infilling 对片段 mask 之后,可以看到比较显著的提升。第三阶段再加入自回归生成之后,模型除了在 ADGEN 数据以外,都有进一步的提升。ADGEN 数据集效果下降是一个比较有趣的现象,原因可能是因为预训练的任务,如果和下游任务贴合,就会得到不错的效果。这时候如果进一步进行三阶段训练,效果反而会下降。

PALM-一种生成式模型_第3张图片

PALM 2.0 在几个中文数据集上面的实验效果,base/large 均高于其他的 SOTA 模型。 

 

 

 

你可能感兴趣的:(机器学习,深度学习,人工智能)