SkyworkAI / Skywork

Skywork series models are pre-trained on 3.2TB of high-quality multilingual (mainly Chinese and English) and code data. We have open-sourced the model, training data, evaluation data, evaluation methods, etc. 天工系列模型在3.2TB高质量多语言和代码数据上进行预训练。我们开源了模型参数,训练数据,评估数据,评估方法。
Other
1.21k stars 111 forks source link

17个额外token #15

Closed luckystar1992 closed 10 months ago

luckystar1992 commented 10 months ago

剩下的17个额外token在哪里可以找到?

zhao1iang commented 10 months ago

特殊字符是需要的时候才加上去的,比如在我们的demo中SFT微调阶段加入了3个special token,[SEP],[USER]和[BOT]。设计的初衷是为了支持一些需求,比如URL,image的占位符等所以就保留了17个额外token空间用于存放特殊字符。但预训练中并没有用到这17个特殊字符。

luckystar1992 commented 10 months ago

@zhao1iang 那么,预训练的时候词表和SFT阶段的词表一样大?因为我从你们官方huggingface下载的词表只有65519个token。这些占位符号跟bert的reversed的占位符号是不是一样的。

zhao1iang commented 10 months ago

@luckystar1992 如果您按照我们的demo里面的sft教程的话是没有加保留字的,此时预训练的模型词表和预训练时一样大,为65519。而我们的chat模型和math模型在SFT训练过程中因为考虑到一些数据处理和模型攻击的情况,加了保留字,因此比预训练时候词表多。所以正如您看到的,base模型的config.json文件中词表大小是65519,而chat模型config.json文件中词表大小是65536,多出来的17个字符是为SFT预留的保留字字段。