13 · Tokenization · 最小编码之道
用最小的单位,编码最大的信息量
一、起点:机器怎么读一句话?
当我们对 AI 说:
"我今天学习了AI"
在模型真正"读懂"这句话之前,它需要先做一件事——把这句话切碎。 切成什么单位?按字?按词?按标点? 这就是 Tokenization(分词/标记化) 要解决的问题。
二、我的第一个洞见:元信息切分
我的直觉是——按元信息切:
| Token | 内容 | 承载的信息类型 |
|---|---|---|
| A | 我 | 主体信息 |
| B | 今天 | 时间信息 |
| C | 学习了 | 动作信息 |
| D | AI | 内容/承载信息 |
这句话包含 4 个元信息单元,每一个单元承载不同维度的语义。 这其实是语言学的切法,叫做语义单元。 人类天然按语义切割语言——这是多年语感训练出来的直觉。
三、我的第二个洞见:"了"是独立的语义载体
但机器的切法比我想的更细—— "学习了" 不是一个 Token,而是两个:
为什么要把"了"单独切出来? 因为**"了"承载了独立的语法信息**:
- ● "学习" → 动作本身,中性陈述,一个事实
- ● "学习了" → 完成态 + 时态变化 + 情绪余韵(有一种过程完成的感觉)
加不加"了",表现出完全不同的状态和情绪。
跨语言对应
这个"了",在英文里对应的是:
| 语言 | 语法标记 | 作用 |
|---|---|---|
| 中文 | 了 | 完成态、时态、情绪 |
| 英文 | -ed | 过去式、完成态 |
中文的"了" 和 英文的"-ed",本质上是同一种东西—— 语法标记(Grammatical Marker)。
四、Token 的真正定义
三种切法的对比
| 切法 | 示例 | 问题 |
|---|---|---|
| 按字切 | 我/今/天/学/习/了 | "学习"被拆散,语义丢失 |
| 按词切 | 我/今天/学习了/AI | "了"的语法信息被吞掉 |
| 按Token切 | 我/今天/学习/了/AI | 语义 + 语法,都保留 |
五、Tokenization 的完整流程
原始文本:"我今天学习了AI"
↓
切分成 Token:["我", "今天", "学习", "了", "AI"]
↓
每个 Token 映射成数字 ID:[1823, 4201, 32847, 289, 9001]
↓
模型读数字,开始理解机器不认识"字",它只认识数字。 Tokenization 的最终目的,是把语言转化成模型能处理的数字序列。
六、我的第三个洞见:中文 Tokenization 比英文更难
英文的逻辑——形变承载信息
英文有稳定的词根,信息通过词形变化显性表达:
- ● 规律性强
- ● 词根边界清晰
- ● 机器顺着词根切割即可
中文的逻辑——组合承载信息
中文的字根在不同组合下,语义会发生完全的跳跃:
| 组合 | 意思 | 语义跳跃程度 |
|---|---|---|
| 玩家 | 游戏者 | 直接 |
| 玩笑 | 开玩笑 | 轻微引申 |
| 玩火 | 危险行为 | 比喻 |
| 玩物 | 被玩弄的东西 | 贬义转化 |
| 古玩 | 文物收藏 | 完全跳跃 |
| 游玩 | 游览 | 字根退化为辅助 |
同一个"玩"字,在不同组合下,语义完全不同。 中文的信息密度更高,语境依赖更强。 机器没有上下文,根本不知道该怎么切。 这也是为什么中文模型需要更强的上下文感知能力。
七、最深的洞见:易经 = 古代的 Tokenization
阴阳爻组成的卦象,具备高度的信息密度。 单纯的阴阳两个元素,通过组合,编码了宇宙万象。 这与 Tokenization 的底层哲学,完全同构。
易经的编码方式
Token 的编码方式
共同的本质
易经是人类最早的高密度信息编码系统。 Tokenization 是机器处理语言的编码系统。 两者的底层哲学,完全同构。
八、完整结论
| 结论 | 内容 |
|---|---|
| Tokenization 是什么 | 把语言切成机器能读的最小语义单位 |
| Token 的定义 | 语义与语法的最小平衡点 |
| 中文为何更难切 | 信息密度高,语境依赖强,字根组合语义跳跃大 |
| DeepSeek 的意义 | 中文 AI 处理高密度语言的里程碑 |
| 易经与 Tokenization | 底层哲学完全同构,都是最小单位编码最大信息 |
☴ 核心一句话: Token 不是字,不是词,是语义与语法的最小平衡点。 而中文,是这个世界上信息密度最高的语言之一。