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

大規模言語モデルの推論は、入力の文章をまとめて処理する段階(プリフィル)と、1トークンずつ出力を作る段階(デコード)に分かれる。それぞれの性能を主に決めるものの組み合わせとして正しいものはどれか(バッチが小さい場合)。

  1. Aプリフィルはメモリ帯域、デコードは演算性能
  2. Bプリフィルは演算性能、デコードはメモリ帯域
  3. Cどちらもストレージの速さ
答えと解説を見る

正解:B. プリフィルは演算性能、デコードはメモリ帯域

プリフィルでは、入力の数百〜数千のトークンをまとめて計算するので、重みを多くのトークンで再利用でき、行列どうしの積になって演算律速になります。デコードでは、1トークンを作るたびにすべての重みを読み込んで、1トークン分の計算しかしないので、演算強度が低くメモリ律速になります。そのため、デコードの速さはおおむねメモリ帯域÷重みの大きさで決まります。

  • A. 逆です。
  • B. 正しい。デコードは1トークンごとに全部の重みを読みます。
  • C. 推論中は重みはメモリに置かれています。
この分野を解く 分野ページへ

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

  1. 大規模言語モデルの推論で使われるKVキャッシュの役割として正しいものはどれか。
  2. 大規模言語モデルの推論で、長い文章や大きなバッチを扱うときに問題になりやすいことはどれか。
  3. FP16で約14 GBの重みを持つモデルを、メモリ帯域2 TB/sのGPUでバッチサイズ1でデコードする。1トークンの生成にかかる時間の下限に最も近いものはどれか。
  4. Transformerのセルフアテンションの計算量が、入力の系列の長さnに対してどのように増えるか。
  5. FlashAttentionなどの高速なアテンションの実装の主な考え方として正しいものはどれか。