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

学習に必要なメモリが、同じモデルの推論よりずっと大きくなる理由として当てはまらないものはどれか。

  1. A学習では重みの数が推論の何倍にも増えるから
  2. B逆伝播で使うため、順伝播の途中の結果(活性化)を保存しておく必要があるから
  3. C重みと同じ数の勾配や、オプティマイザの状態を持つ必要があるから
答えと解説を見る

正解:A. 学習では重みの数が推論の何倍にも増えるから

モデルの重みの数は学習でも推論でも同じです。しかし学習では、逆伝播で勾配を計算するために順伝播の途中の結果を各層で保存し、重みと同じ数の勾配と、Adamなどのオプティマイザが持つ重みごとの値(2つの移動平均など)も必要です。そのため学習のメモリは、重みだけで済む推論の何倍にもなり、大きなモデルの学習には多数のGPUが必要になります。

  • A. 正しい。重みの数は学習でも推論でも同じです。
  • B. 活性化の保存は学習のメモリの大きな部分を占めます。
  • C. 勾配やオプティマイザの状態で、重みの数倍のメモリが要ります。
この分野を解く 分野ページへ

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

  1. パラメータ数70億(7B)のモデルを、重み・勾配・Adamの2つの状態をすべてFP32(4バイト)で持って学習する。活性化を除いて必要なメモリに最も近いものはどれか。
  2. パラメータ数70億(7B)のモデルの重みをFP16(2バイト)で持つと、重みのメモリはおよそいくらか。
  3. 前の問いの7BのモデルをFP16(約14 GB)から4ビットの整数(INT4)に量子化すると、重みのメモリはおよそいくらになるか。
  4. M×Kの行列とK×Nの行列の積を計算するときの浮動小数点の演算回数(掛け算と足し算を別々に数える)はおよそいくらか。
  5. N×NのFP16(2バイト)の行列どうしの積で、2つの入力を1回ずつ読み、結果を1回書くとする。演算強度(1バイトあたりの演算数)はおよそいくらか。