我尝试为分类下游任务微调 BERT。
现在我再次加载模型并遇到以下警告:
初始化 BertModel 时未使用 bert-base-uncased 的模型检查点的某些权重:['cls.predictions.transform.dense.weight', 'cls.predictions.transform.LayerNorm.weight', 'cls. seq_relationship.weight', 'cls.predictions.bias', 'cls.seq_relationship.bias', 'cls.predictions.transform.LayerNorm.bias', 'cls.predictions.transform.dense.bias', 'cls.predictions.解码器.权重']
[屏幕截图][1] [1]:https://i.stack.imgur.com/YJZVc.png
我已经删除并重新安装了transformers==4.6.0,但没有任何帮助。 我想也许通过参数“force_download=True”它可能会恢复原始权重,但没有任何帮助。
我要继续忽略警告吗?有没有办法删除模型检查点,例如下载模型时再次固定权重?
提前致谢!
最好的, 亚历克斯
答案 0 :(得分:0)
只要您为下游任务微调模型,就可以忽略此警告。这个想法是来自预训练模型的 [CLS]
令牌权重不会对下游任务有用,需要进行微调。
Huggingface 随机初始化它们,因为您使用的是 bert-base-cased
,它是一个 BertForPretraing
模型,并且您从中创建了一个 BertModel
。警告是为了确保您了解直接使用预训练模型的区别,或者您是否计划针对不同的任务对其进行微调。
请注意,如果您计划处理分类任务,我建议您改用他们的 BertForSequenceClassification
类。
TL;DR 只要你在微调,你就可以忽略它。
答案 1 :(得分:0)
您好,感谢您的回答!我在描述中不是很具体!我首先针对下游任务对 Bert 进行了微调,然后在另一个 Notebook 中我只想要通常的相关 BERT 并使用其嵌入。
我关联了根本不相关的事物。我想通过在下游任务上微调 BERT 参数,我已经更改了所有“bert_base_uncased”模型的参数,这就是我收到此警告的原因。即使我只是想要标准相关 BERT 的常用嵌入。
我已经“解决”了这个问题,或者至少我找到了一个解决方案:
也许这是 Apple/Mac 特有的问题,我不知道为什么会遇到这个问题,但没有其他人 ^^
无论如何感谢您的回答!
最好的, 亚历克斯