n5321 | 2026年2月28日 01:05

Tags: AI


简单说,token 就是模型“看世界”的最小单位。

想象一下:你读一本书的时候,不是一个字一个字地看,而是把句子拆成一个个有意义的“块”来理解,对吧?人类大脑很擅长做这种拆分。但计算机,尤其是神经网络,它没有我们那种直觉,所以需要先把所有文本切成小块,这些小块就叫 token。token 到底长什么样?不同的模型切法不太一样,但主流的做法(比如 GPT 系列、Claude、Llama、Gemini 用的那些 tokenizer)大概是这样的:

  • 一个常见的英文单词,比如 “hello” → 可能就是一个 token。

  • 但 “unbelievable” 这种长词,可能被切成 “un” + “believ” + “able” 三个 token。

  • 中文就更直白了:通常一个汉字就是一个 token(有时候两个常见汉字组合会合并成一个)。

  • 标点、空格、特殊符号也都是 token(比如 “!” 就是一个单独的 token)。

  • 数字、URL、代码里的变量名,也会被拆得很细。

举个例子,把这句话喂给 tokenizer:“人工智能正在改变世界。”可能的 token 大概是: [“人”, “工”, “智”, “能”, “正在”, “改变”, “世界”, “。”]一共 8 个 token。再来个英文的: “The quick brown fox jumps over the lazy dog.”可能拆成: [“The”, “ quick”, “ brown”, “ fox”, “ jumps”, “ over”, “ the”, “ lazy”, “ dog”, “.”]大约 10 个 token。你看,token 不是严格等于“词”或“字”,它是一种模型自己学出来的、统计上最有效率的切分方式。OpenAI 他们用的是叫 BPE(Byte Pair Encoding)的算法,简单说就是:先把所有文本拆成单个字节,然后反复把最常一起出现的字节对合并成一个新“词”,直到达到想要的词汇表大小(通常 5 万到 10 万个 token 类型)。为什么 token 这么重要?因为大语言模型的一切“理解”和“生成”都是基于 token 的:

  • 模型的输入上限(context window)是用 token 算的。比如 GPT-4o 的 128k token、Claude 3.5 的 200k token、Gemini 1.5 的 1M+ token——这些数字指的就是它一次能“看”多少个 token。

  • 训练的时候,模型就是在预测“下一个 token 是什么”。

  • 你付钱给 OpenAI、Anthropic 的时候,也是按 token 计费(输入多少 + 输出多少)。

  • 模型的“聪明”程度很大程度上取决于它在训练时见过多少 token(现在顶级模型都训练到几万亿甚至十几万亿 token 了)。

所以当有人说“这个模型的上下文窗口是 128k token”,其实就是在告诉你:它一次最多能记住/处理相当于大概 10 万个英文单词(中文会少一些,因为一个汉字 ≈ 一个 token)的文本长度。但这里有个小陷阱,得提醒你token 不是均匀分布的:

  • 常见词、常见汉字用得少 token(效率高)。

  • 生僻词、长尾英文、专业术语、emoji、代码里的奇怪变量名,会“吃”很多 token。

  • 所以同样一段意思,英文可能 100 token,中文可能 150 token,代码可能 300 token。

这也是为什么有些人觉得“中文模型吃 token 比英文贵”——其实不是模型故意坑中文,而是 tokenizer 的词汇表对英文优化得更好。