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

ニューラルネットワークの「学習」と「推論」の違いとして正しいものはどれか。

  1. A学習は順伝播・逆伝播・重みの更新を繰り返して重みを決め、推論は決まった重みで順伝播だけを行って答えを出す
  2. B学習も推論も、順伝播だけを行う
  3. C推論は重みを更新し、学習は重みを使わない
答えと解説を見る

正解:A. 学習は順伝播・逆伝播・重みの更新を繰り返して重みを決め、推論は決まった重みで順伝播だけを行って答えを出す

学習では、入力を順に計算して出力を求め(順伝播)、正解との誤差を出力側から入力側へさかのぼって各重みの勾配を求め(逆伝播)、勾配にしたがって重みを少しずつ直す、ということを大量のデータで繰り返します。推論では、学習で決まった重みを使って順伝播だけを行います。逆伝播は順伝播のおよそ2倍の計算が必要で、途中の結果も保存するので、学習は推論よりずっと重い処理です。

  • A. 正しい。学習の方が計算もメモリもずっと多く必要です。
  • B. 学習では逆伝播と重みの更新も行います。
  • C. 逆です。
この分野を解く 分野ページへ

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

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