第 01 步 · 分词

先把文字,切成模型能读的 token

模型看不到「字」或「词」,它看到的是 token——一段文本被切成的小片段,每个片段对应词表里的一个整数编号。下面输入任意文字,看看它是如何被切分与编号的。

交互式分词器

0 个 token 下方小字为词表编号(示意)

逐个 token 依次进入模型。

为什么不直接用字或词?

如果为每个完整单词都分配一个编号,词表会大到无法处理,还会遇到没见过的新词。如果按单个字符切分,序列又会太长、语义太碎。

真实模型使用子词(subword)切分,例如 BPE。常见词保留为一个 token,罕见词被拆成更小的、可复用的片段。这样既能覆盖任意文本,又能保持序列长度合理。

几个直觉

  • 一个 token 平均约等于英文里的 0.75 个单词,中文里常常一个字就是一或多个 token。
  • 空格、标点通常也会占用 token。
  • 模型的「上下文长度」是以 token 计的,不是字数。