AI 的「词元」:Token 到底是什么?

13 阅读5分钟

一、Token 是什么?

Token,直译为「词元」或「令牌」,是大语言模型(LLM)处理文本的基本单位。

你输入的文字,在进入模型之前,会先经过一个叫做 Tokenizer(分词器) 的程序,把文本切碎成一个个 Token。这些 Token 再被转换为数字 ID,模型才能「读懂」它们。

一个 Token ≠ 一个字。Token 可以是:

  • 一个完整的英文单词:hello → 1 token
  • 一个英文词的一部分:unbelievableun + believ + able = 3 tokens
  • 一个中文汉字(有时): → 1 token
  • 一个标点符号:, → 1 token
  • 几个空格: → 1 token

二、Tokenizer 是怎么工作的?

目前主流的分词算法有三种:

1. BPE(Byte Pair Encoding,字节对编码)

最常见的方法,被 GPT 系列、LLaMA、Mistral 等广泛使用。

核心思想:从单个字节出发,反复合并出现频率最高的相邻字节对,直到达到预设词表大小。

举例

语料:"aaabdaaabac"
初始:a a a b d a a a b a c
第1轮合并最频繁的 "aa":aa a b d aa a b a c
第2轮合并 "aa":aaa b d aaa b a c
...
最终词表中就会有 "aa"、"aaa" 这样的合并单元

2. WordPiece

Google BERT 系列使用。与 BPE 类似,但合并标准是「最大化语言模型似然」,而非纯粹频率。

对中文的处理:mBERT 会将中文字符逐字切分,"你好"["你", "好"],基本保持 1 字 = 1 token。

3. SentencePiece

Google T5、mT5 使用,也被 LLaMA、BLOOM 等采用。

最大特点:不依赖语言的空格分词习惯,把原始文本当作字节流处理,天然支持中日韩等语言,无需预处理。


三、各大模型 Token 大比拼

同一句话,不同模型切法不同

我们拿这句话做实验:

「人工智能正在改变世界」

模型/分词器大致 Token 数说明
GPT-3(p50k)约 14–18 个旧版 BPE,中文多走 UTF-8 字节,1 字≈2-3 token
GPT-4 / GPT-4o(cl100k)约 7–9 个优化后的 BPE,CJK 词表扩充
Claude 3.x约 7–10 个Anthropic 自研 tokenizer,中文效率与 GPT-4 相近
LLaMA 2约 10–14 个SentencePiece,中文支持一般
LLaMA 3约 7–9 个词表从 32K 扩展到 128K,大幅改善 CJK
Qwen2.5 / 通义千问约 7–8 个针对中文优化的 BPE,接近 1 字 1 token
DeepSeek-V3约 7–8 个自研 tokenizer,中文友好
Gemini 1.5约 8–11 个Google SentencePiece 衍生,多语言均衡

结论:国产大模型(Qwen、DeepSeek)和经过优化的新版国际模型(GPT-4、LLaMA 3)对中文都相当友好,而早期 GPT-3 对中文极不友好——同样的内容要消耗多 2-3 倍的 token。


英文 Token 效率对比

用句子 "The quick brown fox jumps over the lazy dog" 来测试:

模型Token 数
GPT-4o(cl100k)9
Claude 3(Anthropic)9
LLaMA 3(128K 词表)9
GPT-3(p50k)9
BERT(WordPiece)10

英文差距不大,主要是常见单词基本都在词表里,直接 1 词 1 token。


四、Token 为什么重要?

1. 直接决定 API 费用

所有大模型的 API 计费都以 Token 为单位。

关键洞察:如果你的业务场景大量涉及中文,使用中文友好的模型(Qwen、DeepSeek)不仅价格低,而且 token 效率更高,双重节省!


2. 决定上下文窗口(Context Window)

所谓「上下文长度」,本质上就是模型一次能处理多少个 Token。

模型上下文窗口
GPT-4o128K tokens
Claude 3.5 Sonnet200K tokens
Claude 3.7 Sonnet200K tokens
Gemini 1.5 Pro1M tokens(实验版 2M)
Gemini 2.0 Flash1M tokens
LLaMA 3.1(70B)128K tokens
DeepSeek-V3128K tokens
Qwen2.5-72B128K tokens

200K tokens ≈ 约 15 万汉字 ≈ 一部长篇小说。


3. 影响模型的「注意力范围」

Token 越多,模型计算的注意力(Attention)矩阵越大,计算量以平方级增长。这也是为什么长上下文模型推理慢、成本高的根本原因。


五、一个有趣的实验:数 Token

你可以亲自去 OpenAI 的 Tokenizer 工具 数数看。

下面是几个有趣的例子(GPT-5 分词器):

"Hello, world!"4 tokens
"你好,世界!"4 tokens
"1+1=2"5 tokens
"😀"1 tokens(emoji 用多个字节表示)
"GPT"1 token(常见词直接收录)
"ChatGPT"2 tokens:"Chat" + "GPT"
"Supercalifragilistic"6 tokens

六、Token 与中文的特殊关系

中文处理是大模型 tokenizer 设计中的一大挑战。

为什么早期模型对中文「不友好」?

早期 GPT-3 的 tokenizer 词表主要基于英文语料训练。中文汉字不在词表里,就会被拆成 UTF-8 字节来表示。一个中文字符在 UTF-8 编码下占 3 个字节,因此变成 3 个 token。

对比

"人工智能" (4个汉字)
  GPT-3:    8  token(每字≈2 token)
  GPT-4:    4-5  token(CJK 词表扩充)
  Qwen:     4  token(1字≈1 token)

这意味着:同样的中文内容,在 GPT-3 上的 token 成本是 Qwen 的 2 倍

国产模型的优势

以 Qwen(通义千问)为例,阿里在训练 tokenizer 时专门加入了大量中文语料,词表中收录了常见汉字和常用词组,实现了接近 1:1 的字-token 比例。

DeepSeek 同样如此,其 tokenizer 词表约 100K,中文字符基本都有专属 token。



总结

AI 在发展,token的计算也在不断优化,本文提到的token数仅供参考!

Token 是 AI 语言模型的「DNA」——一切理解与生成,都从这个最小单位开始。

维度核心要点
是什么文本被切分后的最小处理单元,≠ 字词
怎么切BPE / WordPiece / SentencePiece 三大算法
中文效率新模型(GPT-5、Qwen、DeepSeek)已接近 1字1token
为什么重要决定 API 费用、上下文长度、推理速度
开发技巧提前计算、精简 prompt、善用缓存、选合适模型