AIハードウェアとソフトウェアスタック

Transformerのセルフアテンションの計算量が、入力の系列の長さnに対してどのように増えるか。

  1. Anに比例して増える
  2. Bnの2乗に比例して増える
  3. Cnによらず一定
答えと解説を見る

正解:B. nの2乗に比例して増える

セルフアテンションでは、各トークンのQueryと、すべてのトークンのKeyとの内積を計算して、n×nの重みの表を作ります。そのため計算量と、素直に作ったときの中間の表のメモリは、系列の長さの2乗に比例します。長さが2倍になればアテンションの部分は4倍になるので、長い文章を扱うほどアテンションの効率が性能を左右します。

  • A. 全結合層などの部分はnに比例しますが、アテンションは2乗です。
  • B. 正しい。すべてのトークンの組を比べるからです。
  • C. 長さに応じて増えます。
この分野を解く 分野ページへ

AIハードウェアとソフトウェアスタックのほかの問題

  1. FlashAttentionなどの高速なアテンションの実装の主な考え方として正しいものはどれか。
  2. AIの計算で使われる「演算の融合(オペレータフュージョン)」の主な目的はどれか。
  3. 行列の積の結果にバイアスを足し、ReLUを通す処理を、3つの別々のカーネルから1つに融合した。主に減るものはどれか。
  4. XLAやTVM、PyTorchのコンパイル機能のようなAIコンパイラが行う主な処理として正しいものはどれか。
  5. AIのフレームワークやコンパイラで使われる「計算グラフ」の説明として正しいものはどれか。