关于中文tokenizer编码问题
onlyfish79 opened this issue · 2 comments
onlyfish79 commented
1. 模型:XVERSE-65B
2. 问题描述
- 字符串:'德怀特·D·艾森豪威尔在1953年至1961年间担任美国总统,所以他一共任职了8年'
- 模型 tokenizer encode id: [23091, 23164, 27893, 185, 71, 185, 31994, 25450, 34534, 21629, 22160, 20900, 52, 60, 56, 54, 22768, 31855, 52, 60, 57, 52, 22768, 36976, 23873, 18807, 98280, 23223, 31067, 47, 98076, 18770, 18556, 19437, 18807, 31432, 18690, 59, 22768]
tokenizer编码后的长度:39, 编码前长度: 41, 压缩率=39/41=95%
问题:官方文档说使用了3.2 万亿 token 的高质量、多样化的数据对模型进行充分训练,其他很多模型比如(qwen/internlm/baichuan 一般压缩0.7~0.8),请问中文tokenizer前后比例是符合预期的吗?
underspirit commented
是符合预期的
我们的tokenizer在设计时更多考虑的是多语言的支持以及词表规模的控制,在训练过程中并未特别去保留中文的多字词, 所以这个中文压缩率是正常的。
onlyfish79 commented
明白,谢谢。