||
和DeepSeek讨论英文token和中文词元的问题
3月29日我曾和Deepseek讨论过英文token和中文“词元”的问题。今天看到赵斌老师博文有感,觉得可以从这个方向想想“文科生逆袭AI”的可能性。赵老师博文是“文科生逆袭AI,这可能是一场被曲解的集体幻觉”https://blog.sciencenet.cn/blog-502444-1531549.html我和DS讨论情况如下:
我问:AI中的token应当和数据储存,输送和组合等操作都有密切关系吧?
DS答复:你的理解非常到位。在AI中,token(词元)确实是所有数据处理、传输和计算的核心基础。简单来说,文本被切分成的token,就是模型能理解和操作的最小基本单元。这些操作与token的关系具体如下:
1. 数据储存:模型不存原始文字,而是存每个token的嵌入向量。这是一个长串数字,用来表示token的语义。所以,储存的本质是“数字化的token”。
2. 数据输送:模型间或不同部分传输的也不是文本,而是token的ID或它的嵌入向量。比如你打字给AI,先被转成token ID再传输。输出的内容也是先传token ID,最后再解码成文字。
3. 数据组合:这就是模型的核心工作。模型通过“自注意力”等机制,学习token之间应该如何组合与互动。它会判断哪些token相关,比如在“猫追老鼠”里,把“猫”和“追”这两个token组合起来理解。
4. 数据运算:模型的神经网络全是数学运算(主要是矩阵乘法),运算的基本对象就是token的向量。运算过程就是不断转换这些向量,来预测下一个最合理的token。
5. 数据压缩:可以理解成两重压缩:
a) 第一重:原始文本被压缩成一个个token(一种有损压缩)。
b) 第二重:这些token又被压缩进模型的参数里。训练完成的模型,其所有知识就固化在这些参数中。
另外,有两个和token直接相关的关键点也值得了解:
上下文长度:指模型一次能处理的最大token数量。这是AI的“工作记忆”,想处理更长的文档或对话,就需要更大的上下文。
计费单位:调用大模型API通常按token数量计费。粗略估算,1个英文单词≈1.3个token,1个汉字≈1.2个token。
我🈶问:用英文做token和用中文做tohen比较,会不会是中文更高效?
DS答复:这是一个很有深度的语言学+AI交叉问题。简短的回答是:是的,在处理相同信息量时,用中文(基于汉字)得到的token序列通常比英语短得多,因此理论上效率更高。但实际应用中,情况比“更高效”要复杂一些。我们分几个维度来看:
1. 信息密度:中文明显胜出
这是核心优势。英语的tokenization(分词)通常以“词”或“子词”为单位,比如 un-happy-ness。而中文的tokenization,一个字就是一个token,但一个字往往就是一个语素,携带独立意义。
直观对比:同样一句话,中文的token数量约为英语的 1/3 到 1/2。
英语:The cat sits on the mat. (6个token)
中文:猫 坐 在 垫子 上 (5个token)
更极端的例子(术语/成语):
英语:Artificial Intelligence (2个token)
中文:人工智能 (4个token? 不对,实际现代tokenizer会把“人工”、“智能”视为一个token,或者将“人工”切开。但关键在于:中文里 AI 可以就是一个汉字 “智” 吗?不能。但 “神经网络” 四个字在英语里是 neural network (2个token)。如果是长词,如 “反导条约”,英语是 Anti-Ballistic Missile Treaty (4个token),中文是4个token但每个token信息量更高。)
核心原因:英语等字母语言,信息分布在较长的字符串上;而中文每个字的信息熵很高。在相同的上下文长度限制下(比如大模型的 4k、8k、128k 限制),用中文能表达多得多的内容。
2. 计算成本:中文更有优势
训练:处理同样的语料库(比如10亿字的中文和10亿字的英文),中文的token序列长度更短。Transformer模型的计算复杂度是 O(n²)(n是序列长度)。序列长度减半,计算量理论上能降到原来的 1/4。这意味着训练同样“智能水平”的模型,中文可能比英文便宜得多。
推理(使用):同样道理,生成100个汉字的回复,成本可能远低于生成300个英文单词的回复。而且速度更快。
3. 为什么现实中没感觉中文模型“碾压”英文?
既然中文token效率更高,为什么现在最顶尖的大模型(GPT-4, Gemini)还是英文的?中文模型为什么没显著更便宜/更快?
分词技术的差异:
英文:非常成熟,有BPE(字节对编码)等,对于“词根”、“后缀”处理得很好。
中文:分词是老大难。“北京大学生” 可以分成 北京 | 大学生 或 北京大学 | 生,歧义多。很多中文tokenizer为了减少歧义,会过度切分,比如 “你好” 可能被切成 你 和 好 两个token。这抵消了汉字的一部分信息密度优势。
数据量和生态:
英文互联网数据量远大于中文。训练大模型需要海量数据,英文优势明显。即使中文token效率高,如果高质量训练数据少,模型也学不好。
开源社区、论文、代码几乎全是英文。中文模型天然面临生态劣势。
OOV(未登录词)问题:
中文可以随时创造新词(比如“躺平”、“内卷”),每个新词就是一个或多个token的组合。英文可以用词根词缀组合新词,但更常用已有单词组合,这也会产生较长的token序列。
结论:理想很丰满,现实需权衡
纯粹从信息论和计算复杂度看:中文token的效率显著优于英语。同样的上下文长度,中文能承载更多信息,计算成本更低。
从工程实现看:中文分词困难、训练数据不足、生态弱势,导致其理论优势没有完全发挥出来。目前的顶级大模型仍然是英文主导。
未来:随着模型规模增大、中文高质量数据集增多、分词技术改进(比如用更智能的tokenizer),中文模型的效率优势可能会逐渐显现。
一个有趣的联想:如果未来出现一个完全基于中文训练、并且克服了分词问题的超大规模模型,它可能在“长上下文推理”(比如一次性阅读一本3000页的书)上比英文模型更有优势,因为它在同样的token限制里能“记住”更多内容。
所以,你的直觉是对的:中文在信息密度上确实更高,理论上更高效。但现实中的AI发展还受数据、生态、工程实现等因素影响,所以这种优势目前没有完全体现出来。
----------------------------
上面是我们讨论的主要部分。还讨论过token和词元的互相翻译等问题。。。。。。建立中文的词元库,和英文token库比较,翻译,交换。我们的文科生会不会“大有作为?”
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2026-4-23 01:37
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社