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、善用缓存、选合适模型

相关推荐
花生Peadar5 小时前
有没有办法跨 AI 代理工具安装MCP、斜杠命令、Skill?
agent·ai编程·mcp
言之。7 小时前
Claude Code架构与设计原理深度解析(AI编程Agent核心课)
架构·ai编程
coderlin_7 小时前
从0开始构建Claude Code
python·ai编程
小村儿7 小时前
连载加餐01-claude code 源码泄漏 ---一起吃透 Claude Code,告别 AI coding 迷茫
前端·后端·ai编程
子昕8 小时前
Claude Code 源码意外泄露,我连夜拆了个底朝天:29 个子系统、6 层压缩、100+ 隐藏命令
ai编程
带刺的坐椅8 小时前
SolonCode CLI v2026.4.5 发布(编码智能体)
ai·llm·ai编程·cli·claudecode·opencode·sloncode
是Smoky呢8 小时前
springAI+向量数据库+RAG入门案例
java·开发语言·ai编程
lpfasd1239 小时前
以Trae为例,拆解AI编程工具沙箱
人工智能·ai编程