Token 究竟是什么?
这是目前所有主流大模型(LLM,如 GPT、Claude、Gemini、DeepSeek、Qwen、通义千问、Llama 等)最核心、最基础的概念之一。
简单一句话概括:
Token 是大语言模型真正“看得到、吃下去、吐出来”的最小语言单位,是人类自然语言与模型内部数学计算之间的桥梁。
1. Token 不是我们平时理解的“字”或“词”,而是“模型自定义的语义积木”
现代大模型几乎都不直接处理“字”或“完整单词”,而是使用 子词(subword)级别 的切分方式。最常见的是下面这几种算法:
- BPE(Byte Pair Encoding)—— GPT 系列、Llama、DeepSeek 等广泛使用
- WordPiece —— BERT、早期很多中文模型
- SentencePiece(含 BPE 变种)—— T5、Llama 3、Qwen 等
- BBPE(Byte-level BPE)—— 一些更新的模型
这些算法的核心思想是:
把高频出现的片段合并成一个 token,低频的拆开,既节省词表大小,又能处理新词、生僻词。
2. 实际例子(最直观的方式)
我们拿一句话来拆分,看看不同模型大概会怎么切 token:
中文例子
文本:我想吃重庆小面
常见切分结果(以主流模型为例):
- GPT-4 / o1 系列 ≈ 我 想 吃 重庆 小 面
(6 个 token) - Qwen-2.5 / 通义千问 ≈ 我 想 吃 重庆 小面
(5 个 token,“小面”作为一个 token) - DeepSeek / Llama-3 中文优化版 ≈ 我想 吃 重庆 小面
(4 个 token,更倾向于合并常见短语)
英文例子
文本:unbelievable
- 常见切分:un ##believ ##able
(3 个 token) - 极端情况:un believ able
(甚至拆成 4–5 个)
混合例子
文本:ChatGPT-4o 太强了!
可能被切成:
Chat GPT – 4 o 太 强 了 !
(8–10 个 token)
3. Token 数量的粗略换算经验(最常用记忆法)
| 语言 | 大致关系 | 说明 |
|---|---|---|
| 英文 | 1 token ≈ 4 个字符 ≈ 0.75 个单词 | OpenAI 官方给的经验值 |
| 中文 | 1 个汉字 ≈ 1.3–2 个 token(老模型) 1 个汉字 ≈ 0.6–1 个 token(新模型) | 新一代中文优化模型越来越接近 1:1 |
| 中文最友好记忆 | 1 汉字 ≈ 1 token(近似,略偏多) | 日常估算够用 |
举例:
一篇 2000 字的中文文章,大约是 2200–3500 token(取决于模型分词习惯)。
4. 为什么 Token 这么重要?(直接影响你用 AI 的体验和成本)
| 场景 | Token 的直接影响 | 实际表现 |
|---|---|---|
| 上下文长度 | 模型能记住多少内容(Context Window) | 8k / 32k / 128k / 1M token 就是这个意思 |
| 计费 | 几乎所有商业 API 都按 token 收费(输入+输出) | 输入 1 块钱/百万 token,输出 3 块钱/百万 |
| 输出长度限制 | max_tokens / max_new_tokens 参数 | 一次最多能生成多少字 |
| 生成速度 | token/s(每秒生成多少 token) | 决定了你感觉 AI “快不快” |
| 长文本理解能力 | 越长的上下文需要越多的 token | 模型能不能完整看完一本书、一份合同 |
5. 小结:一句话记住 Token 的本质
Token 就是大模型眼中的“语言原子”
人类写的是连续的汉字/字母 → Tokenizer 把它们切成一个个小积木 → 每个积木对应一个编号(Token ID)→ 模型只在这些编号上做数学运算 → 最后再拼回人类能读的文字。
当你下次看到“这个 Prompt 消耗了 8192 token”或“模型最大上下文 128K token”时,你就知道它在说什么了。
如果你想更直观地感受 token 切分,可以直接去下面这些网站粘贴文字试试:
- OpenAI Tokenizer:https://platform.openai.com/tokenizer
- Tiktoken(GPT 系列):GitHub 上有在线 demo
- HuggingFace Tokenizer(支持几乎所有主流模型)
有具体模型想看它的切分方式吗?可以告诉我,我可以帮你举更针对性的例子~