AIハードウェアとソフトウェアスタック
大規模言語モデルの推論は、入力の文章をまとめて処理する段階(プリフィル)と、1トークンずつ出力を作る段階(デコード)に分かれる。それぞれの性能を主に決めるものの組み合わせとして正しいものはどれか(バッチが小さい場合)。
- Aプリフィルはメモリ帯域、デコードは演算性能
- Bプリフィルは演算性能、デコードはメモリ帯域
- Cどちらもストレージの速さ
答えと解説を見る
正解:B. プリフィルは演算性能、デコードはメモリ帯域
プリフィルでは、入力の数百〜数千のトークンをまとめて計算するので、重みを多くのトークンで再利用でき、行列どうしの積になって演算律速になります。デコードでは、1トークンを作るたびにすべての重みを読み込んで、1トークン分の計算しかしないので、演算強度が低くメモリ律速になります。そのため、デコードの速さはおおむねメモリ帯域÷重みの大きさで決まります。
- A. 逆です。
- B. 正しい。デコードは1トークンごとに全部の重みを読みます。
- C. 推論中は重みはメモリに置かれています。