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

推論でバッチサイズ(まとめて処理する入力の数)を大きくすると、処理全体の効率が上がりやすい理由はどれか。

  1. A入力が多いほど、1つの入力の計算の回数が減るから
  2. Bバッチを大きくすると、重みの数が減るから
  3. C一度読み込んだ重みを複数の入力の計算に使えるので演算強度が上がり、演算器を有効に使えるから
答えと解説を見る

正解:C. 一度読み込んだ重みを複数の入力の計算に使えるので演算強度が上がり、演算器を有効に使えるから

バッチサイズがBなら、重みの行列とB個のベクトルの積は、重みの行列と幅Bの行列の積になります。重みの読み込みは同じなのに演算はB倍になるので、演算強度もおよそB倍になり、メモリ律速から演算律速に近づきます。サーバでの推論では、多くの利用者の要求をまとめて処理することで、GPUを効率よく使っています。

  • A. 1つの入力あたりの計算の回数は変わりません。
  • B. 重みの数は変わりません。
  • C. 正しい。行列とベクトルの積が行列どうしの積になります。
この分野を解く 分野ページへ

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

  1. 推論でバッチサイズを大きくしすぎたときの欠点として正しいものはどれか。
  2. 大規模言語モデルの推論は、入力の文章をまとめて処理する段階(プリフィル)と、1トークンずつ出力を作る段階(デコード)に分かれる。それぞれの性能を主に決めるものの組み合わせとして正しいものはどれか(バッチが小さい場合)。
  3. 大規模言語モデルの推論で使われるKVキャッシュの役割として正しいものはどれか。
  4. 大規模言語モデルの推論で、長い文章や大きなバッチを扱うときに問題になりやすいことはどれか。
  5. FP16で約14 GBの重みを持つモデルを、メモリ帯域2 TB/sのGPUでバッチサイズ1でデコードする。1トークンの生成にかかる時間の下限に最も近いものはどれか。