AI解剖课堂 · Part 6 组装 Transformer

第 61 章 从头到尾走一遍

Q. ChatGPT 写出一个词的时候,里面到底发生了什么?

  1. 把“我 今天 去”放进我们组装好的 GPT,从头到尾跟着它走一遍。
  2. 首先,分词器把文字切成片段(词元),每个词元都对应词表里的一个编号(第 29 章)。
  3. 嵌入按编号取出一串带着意思的数字。在 GPT-3 里,一个词元就是 12,288 个数字(第 33 章)。
  4. 再加上表示“第几个”的位置信息(第 36 章)。现在,3 个向量进入模块。
  5. 进入模块。先归一化,再做注意力!“去”看向前面的“我”“今天”和它自己(第 45 章)。
  6. 把看过之后混合来的结果,加到高速公路上原来的向量上(第 56 章)。数字是不是变了一点?
  7. 再做一次归一化,前馈网络给每个词加上思考。这个结果也加回原来的向量(第 55 章)。
  8. 这就是模块的一层。同样的事重复 96 层,每个向量里就会一层层积累起上下文(第 58 章)。
  9. 用走出 96 层的“去”的向量,给 50,257 个词元打分。学校 3.0,图书馆 2.1,公园 1.5(第 60 章)。
  10. 用 Softmax 变成概率:学校 52%,图书馆 21%,公园 12%。全部加起来是 100%(第 14 章)。
  11. 按概率抽出一个:“学校”!接到句子末尾,就成了“我今天去学校”(第 1 章)。
  12. 然后把这句话送回最上面,生成下一个词元(第 2 章)。ChatGPT 的回答全是这样一趟趟走出来的。

本章小结