Token:AI如何「阅读」文本?
它其实不认识「字」,只认识「数字」
你有没有想过,为什么AI能读懂你说的每句话?它真的「认识」汉字、英文单词吗?
答案可能会让你惊讶:AI其实不认识任何文字。它只认识数字。
你输入"你好,我想了解一下人工智能",在AI的眼里,这根本不是汉字,而是一串数字:[1523, 879, 3421, 5678, 9012, 3456, 7890, 1234]。
那它怎么理解你的话呢?这就需要用到Token了。
人类阅读
看到汉字,直接理解含义
联想记忆和经验
理解语境和情感
"我喜欢AI"
→ 看到就懂了
AI阅读
文字 → Token → 数字
通过矩阵运算计算
预测下一个数字
"我喜欢AI"
→ [123, 456, 789]
💡 想象一下:如果有人给你一串数字[123, 456, 789],你能理解它代表什么吗?但AI可以!因为它通过训练学会了数字和含义之间的对应关系。
1什么是Token?
📝 原始文本
"我喜欢AI"
✂️ 切成Token
🔢 转成数字
🤖 AI接收
[123, 456, 789]
Token(标记)就是AI阅读文本的最小单位。你可以把它理解为AI的「字母」。
就像人类用字母组成单词、用单词组成句子,AI用Token组成理解。但有一点不同:人类读的是文字,AI读的是数字。
2Token ≠ 字符 ≠ 单词
按字符切分
每个字/字母都是一个Token
→ 5个Token
按单词切分
每个单词是一个Token(英文有效,中文难用)
→ 2个Token(但中文没空格,怎么切分?)
按Token切分(实际做法)
智能切分,可能是词,可能是字,也可能是片段
→ 3个Token(根据词表智能决定)
💡 关键洞察:现代大语言模型(如GPT)使用第三种方法——Subword Tokenization。它会根据词表智能决定怎么切分,兼顾效率和语义理解。
3不同语言的Token处理
中文
"我爱学习人工智能"
5个Token
英文
"I love AI"
3个Token
日文
"AIを学ぶ"
4个Token
代码
"print('Hello')"
6个Token
🌐 语言差异:同样内容的文本,不同语言的Token数量差异很大。中文通常需要更多Token,这也是为什么中文AI的输入成本更高的原因之一。
4为什么Token这么重要?
AI服务的计费单位
上下文窗口大小
处理速度的关键
理解能力的边界
💰 计费示例(OpenAI GPT-4)
* 价格仅供参考,实际以官方定价为准
Token
核心单位
成本
Token越多,费用越高。1个中文字符≈1.5-2个Token
容量
Token越少,能放入的内容越多。128K≈8-10万汉字
速度
Token越少,生成速度越快。处理时间与Token数量成正比
质量
Tokenization质量直接影响理解。好的分词=更好的回答
5Token在AI工作流程中的位置
用户输入文本
"你好,什么是人工智能?"
分词(Tokenization)
切成Token
['你好', ',', '什么', '是', '人工智能', '?']
编码(Encoding)
Token转数字
[1523, 87, 3456, 789, 45678, 12]
模型处理(Processing)
Transformer处理数字序列
矩阵运算 → 计算概率
解码(Decoding)
数字转Token
[2345, 6789, 1234, ...]
用户看到文本
"人工智能(AI)是指..."
🔍 关键观察:Token贯穿了AI的整个工作流程。从你输入文字,到看到AI的回答,整个过程都在和Token打交道。理解Token,就是理解AI如何工作的重要一步。
6常见误区
误区1:一个汉字 = 一个Token
不一定。根据词表,"人工智能"可能是1个Token,也可能是"人工"和"智能"2个Token,甚至可能是"人"、"工"、"智能"3个Token。这完全取决于这个词在词表中的存储方式。
误区2:Token数量越多越好
不是。Token太多会降低处理速度、增加成本。好的Tokenization要在保留语义和效率之间找到平衡。比如"人工智能"作为一个Token,既保留了完整含义,又节省了处理时间。
误区3:不同AI模型的Token是一样的
不同模型使用不同的词表和Tokenization算法。同一个句子在不同模型中的Token数量可能完全不同。比如GPT-4和Claude 3处理同一个中文句子,Token数量可能相差20-30%。
误区4:标点符号不算Token
标点符号也是Token!比如"你好,世界"会被切成"你好"、","、"世界"三个Token。逗号和句号都会占用Token配额,这在使用API时尤其重要。
误区5:空格不重要
在英文中,空格是Tokenization的重要边界标记。但在中文里,没有空格,AI需要更复杂的算法来判断词的边界。这是中文Tokenization比英文更复杂的原因之一。
❌ 误解
- • 1个汉字=1个Token
- • Token越多越好
- • 所有模型Token一样
- • 标点不算Token
- • 空格不重要
✅ 真相
- • 看词表怎么存
- • 平衡效率与质量
- • 每个模型不同
- • 标点也是Token
- • 空格决定切分
7实际案例:计算Token
📝 原始句子
"人工智能正在改变世界,未来已来!"
✂️ Token化结果
→ 9个Token
🔢 数字编码(模拟)
人工智能
12345
正在
6789
改变
1011
世界
1213
,
14
未来
1516
已
17
来
18
!
19
→ [12345, 6789, 1011, 1213, 14, 1516, 17, 18, 19]
📊 这个例子告诉我们:
- • 16个汉字 + 2个标点 = 18个字符
- • 经过Tokenization后 = 9个Token
- • "人工智能"作为一个整体Token,而不是3个字符
- • 标点符号(,、!)都是独立的Token
- • 最终AI接收的是9个数字,而不是18个汉字
8总结
🎓 一句话总结
- ①Token = AI阅读文本的最小单位,可以理解为AI的「字母」
- ②AI不认识文字,只认识数字。Token是文字和数字之间的桥梁
- ③Tokenization有三种方式:字符级、单词级、Subword(现代AI使用)
- ④Token很重要:它是计费基础、处理限制、速度和质量的共同决定因素
- ⑤不同语言差异大:中文通常比英文需要更多Token,这直接影响成本
- ⑥常见误区:1个汉字≠1个Token,标点也算Token,每个模型的Token化方式不同
📚延伸阅读
已掌握
- ✓ Token是什么
- ✓ 三种切分方式
- ✓ Token的重要性
- ✓ 语言差异
下一篇
- • 分词算法
- • BPE算法
- • 词表构建
- • Token统计
未来学习
- • 词表设计
- • 多语言Tokenization
- • 特殊Token
- • Token优化
→下篇预告
第32篇:分词:把句子切成AI能懂的小块
Token是AI阅读的字母,那这些字母是怎么产生的?为什么"人工智能"有时候是一个Token,有时候是两个?下一篇,我们来聊聊分词算法是如何工作的。
✏️ 手绘图解 · AI Catch 出品
第 31 篇 / 共 84 篇