我读了很多文章,人们都说BERT对NLU有好处,而GPT对NLG有好处。但它们在结构上的关键区别在于是否在自我注意中添加了掩膜,并以不同的方式训练了模型。
从下面的代码中,如果我理解正确的话,我们可以自由选择是否添加注意掩码。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有好处”?或者,这两者之间还有什么其他关键的区别,使人们得出我在开始时提到的结论?
发布于 2021-03-30 17:03:34
BERT和GPT针对不同的培训目标和不同的目的进行培训。
BERT被训练为自动编码器。它使用掩码语言模型(MLM)破坏输入,该模型的目标是识别掩码令牌。它还使用自我注意,其中输入句子中的每个标记都会查看双向上下文(在所考虑的标记的左侧和右侧的其他标记)。
相比之下,GPT被训练为自回归模型。它是通过语言建模目标进行训练的,其中给定的标记序列用于预测下一个标记(因此仅查看过去或左侧上下文)。它还使用屏蔽注意力将自回归方法引入到基于变压器的模型中。
因此,这不仅仅是关于预训练的参数,而是更多地关于模型及其目标。
https://stackoverflow.com/questions/66852791
复制相似问题