note
文章目录
一、背景篇
作者: ybq,nlp码农,中国科学院大学 信号与信息处理硕士
原文: https://zhuanlan.zhihu.com/p/809229182
1. Special Token
pretrain 阶段完全没见过的 token,在sft 阶段会被赋予全新的语义。主要用于标注对话的角色:user、assistant、system 这些。
此外,special_token 可以用来“构造知识”,比如"喜欢"这种知识一定是 sft 阶段才会见到的,可以剔除掉 pretrain 先验知识的影响,用来验证 sft 的训练情况,比如会不会过拟合。
我默认大家都知道怎么用 special_token 去拼 prompt,如果不熟悉,看下 tokenizer_config.json 里的"chat_template"这个字段也就懂了。
比如GLM4的tokenizer_config.json
文件的相关token
如下:
"added_tokens_decoder": {