一、Token 的本质定义
Token (词元)是AI大模型处理文本时的最小语义单元。它不是我们日常理解的"一个汉字"或"一个英文单词",而是模型将原始文本经过**分词(Tokenization)**后得到的基本单位。
你可以把 Token 理解为模型"阅读"和"思考"时的基本粒度。就像人类阅读时以"词"为单位理解句子,模型以 Token 为单位处理文本。
二、Token 与字符的关系:关键区别
这是最容易混淆的地方。Token 和字符(Character)不是一回事:
| 语言 | 示例 | Token 数量 | 说明 |
|---|---|---|---|
| 英文 | "unbelievable" | 3 个 Tokens | 可能被拆为 un + believ + able |
| 中文 | "人工智能" | 2-4 个 Tokens | 通常每个字约 1-2 个 Token |
| 数字/符号 | "2024" | 1-2 个 Tokens | 取决于具体分词规则 |
| 空格/标点 | "," 或 " " | 通常 1 个 Token | 也会被编码 |
经验法则:
- 英文:1 个 Token ≈ 0.75 个单词
- 中文:1 个汉字 ≈ 1-2 个 Tokens
- 通用估算:1 个 Token ≈ 4 个英文字符 或 1.5 个汉字
三、Token 是如何生成的?------ 分词机制
现代大模型主要使用 BPE(Byte Pair Encoding,字节对编码) 或其变体进行分词。过程如下:
BPE 分词原理
- 初始化:将文本拆成最基础的字符(或字节)
- 统计频率:找出最常相邻出现的字符对
- 合并:将高频字符对合并为一个新的 Token
- 迭代:重复步骤 2-3,直到达到预设的词汇表大小(如 32,000、50,000、100,000 等)
示例演示
假设训练语料中 "人工智能" 频繁出现:
初始:人 | 工 | 智 | 能
合并1:人工 | 智 | 能
合并2:人工 | 智能
最终:人工智能 → 1个Token
但如果语料中不常见,模型可能将其拆分为多个子词 Token。
四、为什么 Token 如此重要?
Token 是贯穿大模型全生命周期的核心概念:
1. 模型架构层面
- 上下文窗口:模型的"记忆力"以 Token 计量。例如 GPT-4o 支持 128K Tokens,意味着它能一次性处理约 9.6 万英文单词或 6-8 万汉字
- 注意力计算 :自注意力机制的复杂度是 O(n2)O(n^2)O(n2),nnn 就是 Token 数量。Token 越多,计算量呈平方级增长
2. 训练层面
- 训练数据按 Token 切分后输入模型
- 模型预测的是"下一个 Token 是什么"(Next Token Prediction)
- 训练成本直接与 Token 数量挂钩
3. 推理与计费层面
- 输入 Token:你发送的提示(Prompt)所占的 Token 数
- 输出 Token:模型生成的回答所占的 Token 数
- 商业 API(如 OpenAI、Claude、Kimi)按 Token 数量计费
4. 性能与限制层面
- Token 越多,推理越慢:生成每个 Token 都需要一次前向传播
- Token 限制是硬边界:超出上下文窗口的 Token 会被截断,导致模型"遗忘" earlier 内容
五、Token 的编码与解码
分词器(Tokenizer)负责文本 ↔ Token 的双向转换:
文本 → [Tokenizer 编码] → Token IDs → [模型处理] → 新 Token IDs → [Tokenizer 解码] → 文本
以 GPT 系列使用的 tiktoken 为例:
python
import tiktoken
enc = tikencoding_for_model("gpt-4")
text = "人工智能正在改变世界"
tokens = enc.encode(text)
# 输出类似:[12345, 67890, 11111, 22222] ------ 这些是 Token ID
decoded = enc.decode(tokens)
# 输出:"人工智能正在改变世界"
六、不同模型的 Token 差异
| 模型 | 分词器 | 词汇表大小 | 特点 |
|---|---|---|---|
| GPT-3/4 | BPE (tiktoken) | ~100K | 英文效率高,中文相对"费 Token" |
| LLaMA | SentencePiece BPE | ~32K | 对多语言支持较好 |
| Qwen | BPE | ~150K | 中文优化,中文 Token 效率更高 |
| Kimi | 自研分词器 | 较大 | 针对长文本和中英文混合优化 |
关键洞察:同样的中文文本,在不同模型中消耗的 Token 数可能不同。中文优化模型的使用成本通常更低。
七、实际应用中的 Token 管理
1. Prompt 工程中的 Token 优化
- 精简表达:删除冗余修饰词,使用更紧凑的句式
- 结构化提示 :用符号(如
#、-)代替长句引导 - 示例控制:Few-shot 示例不宜过多,避免占用过多 Token
2. 长文本处理策略
- RAG(检索增强生成):将长文档切分,只检索相关片段送入上下文
- 滑动窗口:分段处理,保留关键摘要作为"记忆"
- 摘要链:先分段摘要,再基于摘要生成最终回答
3. 成本控制公式
总费用 = (输入 Tokens × 输入单价) + (输出 Tokens × 输出单价)
例如 GPT-4o:输入 5/1M Tokens,输出 15/1M Tokens。一篇 3000 字中文文章(约 4000 Tokens)的输入成本仅约 $0.02。
八、进阶:Token 的深层意义
Token 不仅是技术实现细节,更反映了语言的本质特性:
- 语言的层次性:Token 可以是字、词、短语,体现了语言的多粒度结构
- 语义压缩:高频组合被压缩为单个 Token,类似于人类大脑中的"组块化"(Chunking)
- 跨语言统一:所有语言最终都映射为统一的 Token ID 序列,这是模型能处理多语言的基础
总结
Token 是 AI 大模型理解世界的"原子"。 它既是文本的数字化表示,也是模型计算的基本单位,更是连接人类语言与机器智能的桥梁。理解 Token,就理解了大模型"阅读"和"思考"的基本方式。
在实际工作中,精确估算 Token 数量 、优化 Token 使用效率,是每一位 AI 应用开发者的必备技能。