Token 与 Embedding

可复习 · 原问题出处待确认

本章材料

Transformers, the tech behind LLMs | Deep Learning Chapter 53Blue1Brown · 从 0:00 开始 · 在 YouTube 打开Token 和 Embedding 矩阵在这一章讲解。

重点

  1. 文字先被切成 Token。 Token 可以是单词、单词的一部分、标点等。每个 Token 对应词表里的一个编号。
  2. Embedding 矩阵给词表里的每个 Token 存一个向量。 以 GPT-3 为例:词表约 50,257 个 Token,每个向量有 12,288 个数字。
  3. 这些向量是训练中学出来的。 向量空间里的某些方向可以对应意义上的差别,视频里用“king − man + woman ≈ queen”举例。
  4. 刚查出来的向量只代表这个 Token 本身,还不带上下文。 后面的 Attention 等层会根据上下文不断更新它。
  5. 模型一次能处理的 Token 数有上限,这叫上下文长度。 GPT-3 是 2,048 个 Token。
由 Claude 根据 3Blue1Brown《Deep Learning》第 5 章整理。读的时候哪一条看不懂,就把它记到「复习」的“我卡在哪里”。

难点

  1. Token 不等于字或词。 常见词通常是一个 Token,少见的词会被拆成好几块。
  2. Token 编号的大小没有意义。 编号相邻不代表意思相近,意思的远近体现在向量里。
  3. “方向有意义”是一种近似的观察。 不是每一维都对应一个能说出名字的特征,king − man + woman 也只是大致接近 queen。
  4. 同一个 Token 在不同句子里,查到的初始向量完全一样。 区分词义发生在后面的层,不在查表这一步。
由 Claude 根据 3Blue1Brown 第 5 章整理。读的时候哪一条看不懂,就把它记到「复习」的“我卡在哪里”。

动手看

先看文字怎样变成 Token 和编号:

文字 → Token → Token ID 示意分词 · 非真实分词器

选一段文字,看它被切成哪些 Token,每个 Token 又对应词表里的哪个编号。

un#4531believ#4239able#4007

不常见的长词会被切成几个常见片段。

切分方式和编号都是示意:不同模型的分词器切法不同,编号也不同。␣ 表示空格。

再看为什么不能直接用编号。点“猫”试试:

Token ID 相邻 ≠ 意思相近 手工设定的二维示意

点一个词。左边按 Embedding 向量找最相近的词,右边按 Token ID 找编号最接近的词。

猫狗老虎苹果香蕉葡萄银行存款利率
按向量最相近狗、老虎相似度 0.97、0.96
按编号最接近(猫 = #3810)苹果、银行#3811、#3809
编号只是座位号,大小和远近都没有意义;向量的位置是训练中学出来的,用法相似的词会靠在一起。真实 Embedding 有几百到上万维,这里用手工放置的二维点示意。

容易混淆的几个概念

概念是什么例子有没有“意思”
Token分词器切出来的文本片段“un”“believ”“able”是文字,但还没变成模型能算的东西
Token IDToken 在词表里的编号#3810没有,只是座位号
Embedding 矩阵词表大小 × 向量长度的一张大表,训练中学出来约 5 万行 × 12,288 列(GPT-3)整张表编码了所有 Token 之间的关系
Embedding 向量用 Token ID 查表得到的那一行一串几千个数字有,但还不带上下文
经过 Attention 后的向量吸收了上下文信息后的表示“river bank”里的 bank有,而且带上了上下文

一个记法:Token 是切出来的片段,ID 是它的座位号,Embedding 是查座位号拿到的那串数字。

为什么设计师也该知道

Token 不只是模型内部的概念,它会直接影响产品:

  • 上下文窗口和价格都按 Token 计算。 “能读 20 万 Token”不等于“能读 20 万字”。同样意思的中文和英文,Token 数可能差很多,具体取决于分词器。
  • 模型看到的是 Token,不是字母。 所以“strawberry 里有几个 r”这类问题,模型曾经经常答错。它可能从来没有“看到”过单独的字母。
  • 少见的名字和新词会被拆得很碎。 品牌名、人名、行业术语占用的 Token 更多,也更容易被模型处理得不准。
学完了?去 复习 看自己卡住的地方,或者直接 做测验。

来源

  • 原问题的出处待确认,见本页开头的说明。
  • 参考解释、交互实验和测验由 Claude 编写。分词结果、Token 编号和二维向量都是示意,不来自真实的分词器或模型。
  • 学习材料:3Blue1Brown · Transformers, the tech behind LLMs(Deep Learning 第 5 章,讲到了 Token、Embedding 矩阵和 GPT-3 的 12,288 维)。

On this page