添加新token
添加普通token
add_tokens():tokenizer.add_tokens([“aaa”,“bbb”]),参数是新 token 列表{】,返回的是添加的token的数量。
添加特殊token
add_special_tokens():参数是包含特殊 token 的字典{},键值只能从 bos_token, eos_token, unk_token, sep_token, pad_token, cls_token, mask_token, additional_special_tokens 中选择。
也可以使用add_tokens()添加特殊token,只需额外设置special_tokens=True。
调整embedding矩阵
向词表中添加新 token 后,必须重置模型 embedding 矩阵的大小,也就是向矩阵中添加新 token 对应的 embedding,这样模型才可以正常工作,将 token 映射到对应的 embedding。
使用model.resize_token_embeddings(len(tokenizer)),通过调用 resize_token_embeddings 方法,代码确保模型的词嵌入层能够容纳特定分词器的词汇表大小。
from transformers