第 31 篇 · LLM基础

Token:AI如何「阅读」文本?

它其实不认识「字」,只认识「数字」

你有没有想过,为什么AI能读懂你说的每句话?它真的「认识」汉字、英文单词吗?

答案可能会让你惊讶:AI其实不认识任何文字。它只认识数字。

你输入"你好,我想了解一下人工智能",在AI的眼里,这根本不是汉字,而是一串数字:[1523, 879, 3421, 5678, 9012, 3456, 7890, 1234]。

那它怎么理解你的话呢?这就需要用到Token了。

人类 vs AI:完全不同的阅读方式
👤

人类阅读

👁️

看到汉字,直接理解含义

🧠

联想记忆和经验

💡

理解语境和情感

"我喜欢AI"

→ 看到就懂了

🤖

AI阅读

🔢

文字 → Token → 数字

🧮

通过矩阵运算计算

🎯

预测下一个数字

"我喜欢AI"

→ [123, 456, 789]

💡 想象一下:如果有人给你一串数字[123, 456, 789],你能理解它代表什么吗?但AI可以!因为它通过训练学会了数字和含义之间的对应关系。

1
什么是Token?

Token:AI阅读的「字母」

📝 原始文本

"我喜欢AI"

✂️ 切成Token

喜欢AI

🔢 转成数字

123456789

🤖 AI接收

[123, 456, 789]

Token(标记)就是AI阅读文本的最小单位。你可以把它理解为AI的「字母」。

就像人类用字母组成单词、用单词组成句子,AI用Token组成理解。但有一点不同:人类读的是文字,AI读的是数字。

2
Token ≠ 字符 ≠ 单词

三种切分方式对比
🔤

按字符切分

每个字/字母都是一个Token

AI

→ 5个Token

📝

按单词切分

每个单词是一个Token(英文有效,中文难用)

我喜欢AI

→ 2个Token(但中文没空格,怎么切分?)

✂️

按Token切分(实际做法)

智能切分,可能是词,可能是字,也可能是片段

喜欢AI

→ 3个Token(根据词表智能决定)

💡 关键洞察:现代大语言模型(如GPT)使用第三种方法——Subword Tokenization。它会根据词表智能决定怎么切分,兼顾效率和语义理解。

3
不同语言的Token处理

语言差异:Token数量大不同
🇨🇳

中文

"我爱学习人工智能"

学习人工智能

5个Token

🇺🇸

英文

"I love AI"

IloveAI

3个Token

🇯🇵

日文

"AIを学ぶ"

AI

4个Token

💻

代码

"print('Hello')"

print('Hello')

6个Token

🌐 语言差异:同样内容的文本,不同语言的Token数量差异很大。中文通常需要更多Token,这也是为什么中文AI的输入成本更高的原因之一。

4
为什么Token这么重要?

计费基础💰

AI服务的计费单位

OpenAI、Claude等AI服务的费用都按Token计算。输入Token和输出Token分别计价。
处理限制📏

上下文窗口大小

GPT-4能处理128K Token,Claude能处理200K。这决定了AI一次能「记住」多少内容。
速度影响

处理速度的关键

Token数量越少,处理速度越快。这也是为什么Subword Tokenization这么流行的原因。
质量影响🎯

理解能力的边界

Token切分方式直接影响AI的理解能力。好的Tokenization能保留更多语义信息。

💰 计费示例(OpenAI GPT-4)

输入1000个Token≈ $0.03
输出1000个Token≈ $0.06
一轮对话(1000+1000)≈ $0.09

* 价格仅供参考,实际以官方定价为准

Token的四个维度影响

Token

核心单位

💰

成本

Token越多,费用越高。1个中文字符≈1.5-2个Token

📏

容量

Token越少,能放入的内容越多。128K≈8-10万汉字

速度

Token越少,生成速度越快。处理时间与Token数量成正比

🎯

质量

Tokenization质量直接影响理解。好的分词=更好的回答

5
Token在AI工作流程中的位置

从输入到输出:Token的完整旅程
1️⃣

用户输入文本

"你好,什么是人工智能?"

2️⃣

分词(Tokenization)

切成Token

['你好', ',', '什么', '是', '人工智能', '?']

3️⃣

编码(Encoding)

Token转数字

[1523, 87, 3456, 789, 45678, 12]

4️⃣

模型处理(Processing)

Transformer处理数字序列

矩阵运算 → 计算概率

5️⃣

解码(Decoding)

数字转Token

[2345, 6789, 1234, ...]

6️⃣

用户看到文本

"人工智能(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比英文更复杂的原因之一。

Token的真相

❌ 误解

  • • 1个汉字=1个Token
  • • Token越多越好
  • • 所有模型Token一样
  • • 标点不算Token
  • • 空格不重要

✅ 真相

  • • 看词表怎么存
  • • 平衡效率与质量
  • • 每个模型不同
  • • 标点也是Token
  • • 空格决定切分

7
实际案例:计算Token

从句子到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是什么
  • ✓ 三种切分方式
  • ✓ Token的重要性
  • ✓ 语言差异
🔄

下一篇

  • • 分词算法
  • • BPE算法
  • • 词表构建
  • • Token统计
🔮

未来学习

  • • 词表设计
  • • 多语言Tokenization
  • • 特殊Token
  • • Token优化

下篇预告

第32篇:分词:把句子切成AI能懂的小块

Token是AI阅读的字母,那这些字母是怎么产生的?为什么"人工智能"有时候是一个Token,有时候是两个?下一篇,我们来聊聊分词算法是如何工作的。

✏️ 手绘图解 · AI Catch 出品

第 31 篇 / 共 84 篇