由于模型训练的需要,当前词表对分词操作不理想,因此选择修改tokenizer词表~
在special_tokens中添加不想被拆分开的单词或者文字
special_tokens = []
with open("待添加词所在文件", "r") as f_vocab:
for line in f_vocab:
special_tokens.append(line.strip())
tokenizer = AutoTokenizer.from_pretrained(
model_args.model_name_or_path, additional_special_tokens=special_tokens)
如果只做到这一步那么会在运行时出现以下错误(当然以下错误还可能是由于其他原因
RuntimeError: CUDA error: CUBLAS_STATUS_NOT_INITIALIZED when calling `cublasCreate(handle)`
所以一定!!!要在加载模型之后修改词表大小
model.resize_token_embeddings(len(tokenizer.vocab))
之后就可以顺利进行啦~