AI解剖教室 · Part 5 アテンション完全攻略

第50章 一度にまとめて計算する

Q. 語が1,000個あったら、第47〜49章の計算を1,000回べつべつにしないといけないのでしょうか?

  1. ここまでは「行く」1語だけを計算しました。語が1,000個なら、これを1,000回べつべつにするのでしょうか?
  2. 語のベクトルを1行ずつ積むと行列になります(第10章)。これに第46章の3つの行列をかけると、すべての語のQ、K、Vがいっぺんに出ます。
  3. 次はQ × Kᵀ。KᵀはKを横にねかせた行列です。結果のマスごとに、Qの行とKの行の内積、つまり第47章のスコア表が出ます。
  4. スコア表をまるごと√2で割り、行ごとにソフトマックスします(第48章)。これで行ごとに、その語が見つめる割合が入りました。
  5. 最後に割合の表 × V。結果の行ごとに、第49章の絵の具まぜが入っています。すべての語の新しいベクトルがいっぺんに出ます。
  6. この流れを1つの式で書くと softmax(QKᵀ/√d)V。2017年の論文(第44章)に出てくる、あのアテンションの式です。
  7. 行列の積なら、GPUがたくさんのマスを同時に計算します。だからトランスフォーマーは、長い文もいっぺんに速く処理できます(第44章)。

この章のまとめ