当你在ChatGPT里输入"你好,今天天气怎么样"的时候,你以为它真的读懂你的话吗?

并不是。

在你看不到的地方,有一个叫"分词器"的程序,正在把你的文字拆解成一个一个叫"Token"的单元。

这就像在人类语言和机器语言之间有一个隐形的翻译官——它不翻译意思,而是把文字切割成机器能够理解的积木块。


Token的本质

三次关键转换

当你输入一句话时,经历了三次转换:

步骤 转换内容 示例
第一步 文本 → Token序列 “这很聪明” → “这”、“很”、“聪明”
第二步 Token → 数字ID "这"→1024,"很"→348
第三步 数字ID → 向量嵌入 1024 → [0.1, -0.5, …](4096维向量)

AI模型本质上就是在玩一场复杂的数字游戏。


第一步:从文本到Token

分词策略

策略 优点 缺点
按单词分词 直观 词表爆炸(英语几十万单词)
按字符分词 词表小 序列超长,计算成本暴增
子词分词(Subword) 平衡词表大小和序列长度 主流选择

子词分词的逻辑(BPE算法)

词类型 处理方式 示例
高频词 单独成一个Token “the”、“is”
低频词 拆成常见组合 “tokenization” → “token” + “ization”
未知词 拆到字符级别 保证模型不会读不懂

这就像拼音系统:常用字直接认识,生僻字可以拼读。


第二步:从Token到数字ID

每个Token在词表里有唯一的编号。

比如"这很聪明"可能变成:

Token ID
1024
348
聪明 101713

关键细节:这些数字本身没有任何语义关联。

比如ID 5481和5482可能分别代表"狗"和"猫",它们在数值上相邻,但意义上可能毫无关系。


第三步:从数字ID到向量嵌入

这是最关键的一步,也是最容易误解的。

AI模型不会直接处理1024、348这样的数字,而是通过嵌入层把它转换成一个高维向量。

比如4096维的向量:[0.1, -0.5, 0.3, …]

这个向量才是Token的真正形态。

向量的意义

  • 向量编码了Token在语义空间中的位置
  • 距离相近的向量代表意义相近的词
  • 比如"king"和"queen"的向量在空间中是相近的

这也是为什么AI能够理解近义词、类比关系——因为这些在数学空间里有对应的位置关系。


反向过程:从Token回到文字

当AI生成回复时,过程是反过来的:

模型预测下一个Token的概率分布
    ↓
选择概率最高的Token ID
    ↓
在词表中查找对应的文字
    ↓
拼接成完整的句子返回给你

一个违反直觉的事实

AI每次只会预测下一个Token,而不是下一个词或下一句话。

比如生成"ChatGPT"这个词,实际上分成了两步:

  1. 先预测Token “Chat”
  2. 看到"Chat"后,再预测Token “GPT”

这也是为什么AI有时候会说话说到一半——它们在Token级别做决策,不是在词或句子级别。


不同语言的Token消耗差异

同样的意思,用不同的语言表达,Token数量可能天差地别。

语言 100个单词对应的Token数
英语 约130个
中文 约100个
德语 更多
芬兰语 更多

原因:不同语言的颗粒度不同。英语里的一个词可能是一个Token,但中文里的长复合词可能被拆成好几个Token。

更深层的问题

当前AI系统是否对某些语言更友好?

答案是肯定的。

这不仅仅是技术问题,更是经济问题。


Token的经济账

你在按Token付费

当你使用GPT或Claude时,你输入的每一个字、AI回复的每句话都占Token费。

项目 消耗
155字符、25个单词的段落 约30个Token
每天处理成千上万条对话 费用显著

不同模型的分词器不同

影响 说明
产生的Token数量不一样 同样的内容,不同模型可能产生不同数量的Token
成本不同 一个更高效的分词器可以降低20-30%的运营成本

选择AI模型不只是性能问题,更是成本问题。


Token暴露的AI局限

AI并不是真正理解语言

人类读一本书,理解的是故事、情感、思想。

AI读一本书,看到的是Token序列、数值向量、概率分布。

Token就是这道鸿沟上的桥梁。

奇怪的错误从何而来

AI有时候会把"tokenization"拆成"token"和"ization"两部分,然后在某些上下文混淆它们的关系。

因为对AI来说,这只是两个独立的数字,而不是一个完整的概念。


给开发者的三个建议

1. 测试不同语言的Token表现

不要假设你的英文优化方案对中文也有效。

2. 把Token成本纳入产品设计

有时候少用几个词、换一种表达,能显著降低成本。

3. 关注新的分词技术

这个领域在快速发展,一个更好的分词器可能改变整个项目的经济模型。


常见问题

Q1:Token和字符有什么区别?

概念 说明
字符 人类看到的单个字
Token AI处理的最小单位

一个Token可能是一个词、一个子词,甚至一个字符。

Q2:为什么中文Token消耗比英文少?

中文一个汉字通常对应一个Token,而英文一个单词可能对应1-2个Token。

Q3:Token数量和推理速度有什么关系?

Token越多,计算量越大(N²复杂度),推理越慢。


一句话总结

Token看起来是一个技术细节,但它触及了AI的本质:这些系统还没有真正理解我们,它们只是在翻译、在计算、在拟合。

下次跟AI对话时,不妨想一想:在那些流畅的回答背后,有无数个Token在跳跃、在组合、在消失。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐