Closed chongkuiqi closed 1 week ago
谢谢关注! 目前几乎没有,训练数据里没什么英文
谢谢关注! 目前几乎没有,训练数据里没什么英文
谢谢回复! 如果我要加入英文数据重新训练模型的话,是否有必要换一个更大的词表呢?6400长度的词表,对中文+英文来讲,是否比较小?
谢谢关注! 目前几乎没有,训练数据里没什么英文
谢谢回复! 如果我要加入英文数据重新训练模型的话,是否有必要换一个更大的词表呢?6400长度的词表,对中文+英文来讲,是否比较小?
不需要,首先 0-255
的字节范围理论上可以编码和解码任意字符。这个范围涵盖了所有可能的单字节字符,包括 ASCII 字符和其他扩展字符集中的字符,例如用一个只有259长度的tokenizer,编解码一串字符试试,这里直接选择奥巴马就职演讲(中文翻译+英文):
259长度词表都不会有问题,可以肯定的是,不会出功能性的问题
问题体现在效率,比如原本 "human" 可以encode变成1个整型数字 如果词表太短,就会encode成5个整型数字(词表中没有这个单词,所以把每个字母都拆开独立encode) 词表足够长,一个短语乃至句子都可以encode变成1个整型数字,效率更高
暂时无需关注效率,因为现在minimind_tokenizer虽然是6400长度,但是测试起来可以保证大部分encode是单词级别,或者中文的词语级别,而极小概率会拆成字母或者字节。 增加词表数量带来的 (单词级别->词组级别) 的效率收益,也同时直接增加了模型的"分类负担"和参数,性价比不高。
谢谢关注! 目前几乎没有,训练数据里没什么英文
谢谢回复! 如果我要加入英文数据重新训练模型的话,是否有必要换一个更大的词表呢?6400长度的词表,对中文+英文来讲,是否比较小?
不需要,首先
0-255
的字节范围理论上可以编码和解码任意字符。这个范围涵盖了所有可能的单字节字符,包括 ASCII 字符和其他扩展字符集中的字符,例如用一个只有259长度的tokenizer,编解码一串字符试试,这里直接选择奥巴马就职演讲(中文翻译+英文): 259长度词表都不会有问题,可以肯定的是,不会出功能性的问题问题体现在效率,比如原本 "human" 可以encode变成1个整型数字 如果词表太短,就会encode成5个整型数字(词表中没有这个单词,所以把每个字母都拆开独立encode) 词表足够长,一个短语乃至句子都可以encode变成1个整型数字,效率更高
暂时无需关注效率,因为现在minimind_tokenizer虽然是6400长度,但是测试起来可以保证大部分encode是单词级别,或者中文的词语级别,而极小概率会拆成字母或者字节。 增加词表数量带来的 (单词级别->词组级别) 的效率收益,也同时直接增加了模型的"分类负担"和参数,性价比不高。
明白了,谢谢!
首先感谢作者的工作,非常好的入门教程和学习教程!
目前我的项目中需要用到中文和英文,请问现有的预训练模型是否支持英文呢?好像ModelScope在线测试中不支持英文。