最近搞了8张A100,训练大模型,对比了GPT4、llama 2、还有若干国内大模型,总觉得效果哪里不对,查了三天,终于发现了原因。
原来相同的汉字,编码值不同。 注意是相同的编码方式,例如都是unicode。
这里不是字体不同,是纯文本,与字体无关,相同编码方式,不同的是编码值。
例:
⻦
鸟
能看出区别吗?一个编码值是\u2ee6,一个是\u9e1f。不信邪的可以自己试试。
类似的还有很多,常用来举例说明的比较明显的是:“戶”、“户”、“戸”。
还有:⽣, 生;⼩, 小;⽟, 玉;⼤, 大;⽉, 月;⽜, 牛;⾼, 高;⼉, 儿;⼆, 二;⾦, 金;⽂, 文;⼭, 山;⾹, 香;⾉, 艮;⽴, 立;⼋, 八;⽥, 田;⽕, 火;⼦, 子……
不一一例举。
对于用多种来源未经验证的中文语料数据训练模型,尤其要注意上述问题。
对我们人类来说,是相同的字,对计算机来说,是不同的字。
果然,汉语言博大精深!
那又鸟不是鸟,那马户不是驴。
下课!
原创干货,转载请注明出处。