我在一个研究项目中使用GPT2预培训模型,当我用以下代码加载预培训模型时,
from transformers.models.gpt2.modeling_gpt2 import GPT2Model
gpt2 = GPT2Model.from_pretrained('gpt2')
我收到以下警告信息:
GPT2Model的一些权重不是从gpt2的模型检查点初始化的,而是新初始化的:“h.0.attn.mask_偏向”、“h.1.attn.m综述_偏向”、“h.2.attn.m综述_偏差”、“h.3.attn.mask_偏向”、“h.4.attn.mASK_偏向”、‘h.5.attn.mask_偏向’、‘h.6.attn.mask_偏向’、‘h.7.attn.mask_偏向’,‘h.8.attn.moking_偏向’,‘h.9.attn.moking_bias’,‘h.10.attn.moking_h.11.attn.masked_bias’,您可能应该在一个顺流任务上训练这个模型,以便能够将其用于预测和推断。
据我所知,上面各层的权重并不是从预先训练的模型中初始化的。但是我们都知道注意层('attn')在GPT2中是如此重要,如果我们不能从训练前的模型中获得它们的实际权重,那么使用预训练模型有什么意义呢?
如果有人能向我解释并告诉我如何解决这个问题,我真的很感激。
发布于 2021-05-12 21:43:34
添加了masked_bias,但是与最初的实现相比,拥抱脸社区的速度有了提高。它不应对性能产生负面影响,因为原始权重被正确加载。有关更多信息,请查看此按下。
https://stackoverflow.com/questions/67379533
复制相似问题