Token / Tokenization(分词)

将文本拆分为模型可处理的最小单元(token)的过程。一个token可以是一个词、一个子词片段或一个字符。GPT系列使用BPE算法,中文通常一个字对应1-2个token。

Token / Tokenization(分词)

一句话理解

Tokenization 就是把原始文本切成模型能理解的最小片段——这些片段叫 Token。

为什么需要 Tokenization

语言模型不直接处理文字,它处理的是数字。Tokenization 是文本和数字之间的桥梁:

text
"Hello world" → ["Hello", " world"] → [15339, 1917]

每个 token 被映射为一个整数 ID,再通过 Embedding 层转成向量,才能输入模型。

常见分词算法

算法代表模型特点
BPE(字节对编码)GPT 系列从字符开始,逐步合并高频字符对
WordPieceBERT类似 BPE,但用似然度而非频率选择合并
SentencePieceLLaMA、T5语言无关,直接处理原始文本(含空格)

中文的特殊性

英文 "transformer" 通常是 1 个 token,但中文 "自注意力机制" 可能被拆成多个 token(如 "自注意" + "力" + "机制"),因为中文没有空格分隔,子词切分策略不同。

对实际使用的影响

  • 上下文窗口以 token 计量,不是字数——中文相同字数通常消耗更多 token
  • API 计费按 token 数——分词方式直接影响成本
  • 模型能力边界与 tokenizer 绑定——模型无法理解不在词表中的字符

引用本术语的文章