AI解剖课堂 · Part 5 彻底搞懂注意力
第 51 章 别偷看未来
Q. 要练习猜下一个词,却能提前看到那个词,这样还学得到东西吗?
- GPT 是猜下一个词的模型(第 1 章)。可是在第 47 章的分数表里,“我”连后面的词也看到了。
- 训练时会把整句话一次放进去。如果能看到后面的词,就等于偷看答案,什么也学不到。
- 所以要拉下帘子:每个词只能看自己和前面的词。对角线右上方的格子全部遮住。
- 被遮住的格子,分数改成 −∞,也就是无限小的数。e 的 −∞ 次方是 0,做完 Softmax 这一格就是 0%。
- 每一行重新做 Softmax:“我”只看自己,100%;“今天”看“我” 97.2%、看自己 2.8%。
- “学校”这一行,本来要看的词全在前面,所以不变。第 49 章混合出的 (2.25, 1.52) 也不变。
- 有了这个三角形的帘子,所有位置能一次学完,又看不到未来。它叫因果掩码(causal mask)。
- 生成文字时也一样。一个词一个词往下写(第 2 章),还没写出来的未来本来就看不到。
本章小结
- 训练时看到后面的词就等于偷看答案,所以要遮住未来的格子。
- 把遮住的格子的分数改成 −∞,Softmax 以后比例就是 0%。
- 每个词只看自己和前面的词:因果掩码(causal mask)。最后一个词那一行不变。