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

一、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 等广泛使用。

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

举例

css 复制代码
语料:"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-4o 128K tokens
Claude 3.5 Sonnet 200K tokens
Claude 3.7 Sonnet 200K tokens
Gemini 1.5 Pro 1M tokens(实验版 2M)
Gemini 2.0 Flash 1M tokens
LLaMA 3.1(70B) 128K tokens
DeepSeek-V3 128K tokens
Qwen2.5-72B 128K tokens

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


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

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


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

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

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

arduino 复制代码
"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。

对比

yaml 复制代码
"人工智能" (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、善用缓存、选合适模型

相关推荐
ServBay10 小时前
AI Gateway 是什么?为什么每个平台都在做
后端·aigc·ai编程
悟空码字10 小时前
别再手搓CRUD了,用飞算JavaAI的“工程流水线“,助力高效开发
aigc·openai·ai编程
SamDeepThinking10 小时前
Vibe Coding最重要的是Spec
后端·程序员·ai编程
JavaGuide11 小时前
一个神级 PR Review Agent 诞生了:读 diff、写总结、找风险全自动!
github·ai编程
花椒技术12 小时前
Skill 落地系列一:Harness 试点复盘6 类真实业务场景的 Skill,全拆开给你看
agent·ai编程·前端工程化
阿新聊ai13 小时前
死磕claude code-Skill 不触发、乱触发、跑挂了:一份评测与调优指南
openai·ai编程
草帽lufei13 小时前
低成本AI靠谱执行长任务:便宜模型+多AI协作+定时器自动化实战
aigc·ai编程
咏方舟【长江支流】13 小时前
【开源】跨语言·跨平台·跨数据库(2) —— 用宝轻量框架设计必读
数据库·架构·开源·ai编程·咏方舟-长江支流·用宝框架