如何解决从头开始微调/训练HuggingFace模型的正确方法PyTorch
例如,我想从头开始训练BERT模型,但要使用现有配置。以下代码是这样做的正确方法吗?
model = BertModel.from_pretrained('bert-base-cased')
model.init_weights()
因为我认为init_weights
方法将重新初始化所有权重。
第二个问题,是否要更改配置,例如隐藏层数。
model = BertModel.from_pretrained('bert-base-cased',num_hidden_layers=10)
model.init_weights()
我想知道上面是否是正确的方法。因为当我运行上面的代码时它们似乎没有错误。
解决方法
这样,您将不必要地下载和加载预训练的模型权重。您可以通过下载BERT配置来避免这种情况
config = transformers.AutoConfig.from_pretrained("bert-base-cased")
model = transformers.AutoModel.from_config(config)
您和本解决方案都假定您要使用与原始BERT相同的方式对输入进行标记,并使用相同的词汇表。如果要使用其他词汇表,可以在实例化模型之前在配置中进行更改:
config.vocab_size = 123456
类似地,您可以更改任何想要与原始BERT不同的超参数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。