Token 与分词
一句话定义:Token 是 LLM 处理文本的最小单位,分词器把文本切成 token 并映射到词表 ID。
1. 什么是 Token
- LLM 不直接处理字符,而是处理 token(词片段)。
- 一个 token 可以是词、子词、字符甚至标点。
- 例:"ChatGPT 很强" 可能切成 ["Chat","GPT"," 很","强"]。
2. 为什么需要 Token
- 把无限文本映射到有限词表,便于模型处理。
- 平衡词表大小与序列长度。
3. 分词算法
| 算法 | 原理 | 代表 |
|---|---|---|
| BPE | 按频率合并常见子词 | GPT 系列 |
| WordPiece | 类似 BPE,用于 BERT | BERT |
| Unigram | 概率最大化切分 | T5/Llama |
| SentencePiece | 语言无关,支持无空格语言 | 多语言 LLM |
4. 词表(Vocabulary)
- 词表大小:GPT-2 ~50k,Llama ~32k,现代多语言模型 100k+。
- 词表越大,多语言与编码能力越强,但嵌入层参数更多。
5. Token 与成本
- API 按 token 计费:输入 token + 输出 token。
- 中文常比英文费 token(一个汉字可能 1-2 token)。
- 上下文窗口以 token 计:如 128k token。
6. 特殊 token
<bos>/<eos>:起止标记。<pad>:填充。- 系统提示、对话角色用特殊 token 分隔。
7. 学习要点
- Token 是 LLM 的"原子",理解它就理解了输入输出与计费。
- BPE 是主流分词法。
- 中文 token 效率影响成本与上下文利用。
8. 参考资料
- "Neural Machine Translation of Rare Words with Subword Units"(BPE)
- tiktoken(OpenAI 分词器)
评论
评论加载中…