1

我读了很多文章,人们说 BERT 对 NLU 有好处,而 GPT 对 NLG 有好处。但它们在结构上的关键区别在于是否在 self-attention 中添加或不添加掩码,并以不同的方式训练模型。

从下面的代码中,如果我理解正确,我们可以自由选择是否添加注意蒙版。 https://github.com/huggingface/transformers/blob/master/src/transformers/models/bert/modeling_bert.py https://github.com/huggingface/transformers/blob/master/src/transformers/models/gpt2 /modeling_gpt2.py

那么我是否可以得出这样的结论,即“BERT 的预训练参数对 NLU 有好处”和“GPT2 的预训练参数对 NLG 有好处”?或者这两者之间是否有任何其他关键区别使人们得出我在开头提到的这个结论?

4

1 回答 1

1

BERT 和 GPT 针对不同的训练目标和不同的目的进行训练。

BERT 被训练为自动编码器。它使用掩码语言模型 (MLM) 来破坏输入,模型的目标是识别掩码标记。它还使用自我注意,其中输入句子中的每个标记都查看双向上下文(所考虑标记左侧和右侧的其他标记)。

在对比度上,GPT 被训练为自回归模型。它使用语言建模目标进行训练,其中给定的标记序列用于预测下一个标记(因此仅查看过去或左侧上下文)。它还使用 Masked Attention 将自回归方法引入基于 Transformer 的模型中。

因此,这不仅仅是关于预训练的参数,而是更多关于模型及其目标。

于 2021-03-30T09:03:33.933 回答