BERT领域自适应后用AutoModel加载出现权重警告是否影响词嵌入获取
结论
这个警告对你获取768维词嵌入的需求完全没有负面影响,可以直接忽略。
原因说明
BertForMaskedLM的结构本身就是在基础BertModel(也就是你用AutoModel.from_pretrained加载的模型结构,包含词嵌入层、全部Transformer编码器层,输出的就是你需要的768维token表示)的基础上,额外拼接了一层用于掩码语言模型训练的MLM任务预测头。- 你在自定义领域数据集上继续预训练时,
BertModel包含的词嵌入层、Transformer层的所有参数都已经完成了领域自适应更新,加载时这部分权重会被完全正常导入,没有任何丢失或错误。 - 警告中提到的「未被使用的权重」,仅属于MLM任务额外加的预测头部分,这部分参数本来就不属于
BertModel的结构范畴,加载时自然用不到,和你提取词嵌入的逻辑没有任何关联,不会影响输出的768维向量的正确性。
可选消警方案
如果不想看到这条警告,可以在加载模型时添加ignore_mismatched_sizes=True参数即可:
model = AutoModel.from_pretrained("你的领域自适应模型路径", ignore_mismatched_sizes=True)
内容的提问来源于stack exchange,提问作者The Exile
相关产品推荐
相关产品推荐

