AI解剖课堂 · Part 3 把文字变成数字

第 32 章 编号的局限

Q. 每个词元都有编号,直接把编号送进模型不行吗?

  1. 每个词元都有编号(第 29 章):“学校”是 73048 号,“我”是 7522 号。直接把编号送进去会怎样?
  2. 模型会把数字相乘、相加(第 12 章)。这样一来,“学校”就成了“我”的将近 10 倍。可编号的大小根本没有意义。
  3. 所以不用编号,改用位置来表示。词有多少个就准备多少格,只在自己的位置放 1。这叫独热编码。
  4. 这样就没有大小之分了。可是有两个问题。第一,太长了。换成 GPT-4o,约 20 万格里只有一个 1。
  5. 第二,所有词都一样陌生。任意两个词的距离都是 √2(第 8 章),点积都是 0(第 9 章)。
  6. 小狗和小猫很像,独热编码却表示不出来。它们的距离和小狗与公交车一样远。
  7. 我们需要的是一串短短的数字,意思越像,数字就越接近。这就是下一章要讲的嵌入。

本章小结