【发布时间】:2020-10-12 14:36:54
【问题描述】:
有没有办法在 T5 模型中选择我的自定义词汇表,同时针对文本摘要任务进行微调?
我尝试使用句子模型来创建我的自定义标记器,但该模型预测了一些标记器中不存在的标记,因此标记器将其视为未知标记。
【问题讨论】:
标签: python pytorch huggingface-transformers
有没有办法在 T5 模型中选择我的自定义词汇表,同时针对文本摘要任务进行微调?
我尝试使用句子模型来创建我的自定义标记器,但该模型预测了一些标记器中不存在的标记,因此标记器将其视为未知标记。
【问题讨论】:
标签: python pytorch huggingface-transformers
添加少量标记是可以的,但您不能同时使用完全不同的词汇和微调!预训练的权重是用预训练的词汇进行训练的:)如果你改变词汇,训练的权重变得毫无意义和无效!如果你想使用另一个词汇,你必须从头开始训练!要将标记添加到词汇表中,您可以执行以下操作:
tokenizer = BertTokenizer.from_pretrained(model_name)
tokenizer.add_tokens(['new', 'codekali', 'blabla'])
model = Bert.from_pretrained(model_name, return_dict=False)
model.resize_token_embeddings(len(tokenizer))
最后一行很重要,因为您需要告诉模型令牌的数量发生了变化。
【讨论】:
您可以使用Tokenizer.add_tokens() 添加新令牌。更多细节可以在拥抱脸here找到。
【讨论】: