AIハードウェアとソフトウェアスタック
学習で使われる勾配チェックポイント(活性化の再計算)の説明として正しいものはどれか。
- A順伝播の途中の結果の一部だけを保存し、逆伝播で必要になったときに残りを計算し直して、計算を増やす代わりにメモリを減らす
- B学習の途中で、モデルの重みをディスクに保存する
- C勾配を計算せずに学習する
答えと解説を見る
正解:A. 順伝播の途中の結果の一部だけを保存し、逆伝播で必要になったときに残りを計算し直して、計算を増やす代わりにメモリを減らす
逆伝播では各層の順伝播の途中の結果が必要ですが、全部を保存すると層の数とバッチの大きさに比例してメモリが増えます。勾配チェックポイントでは、いくつかの層ごとの結果だけを保存し、逆伝播でその区間に来たら、保存した地点から順伝播をもう一度計算して必要な値を作り直します。順伝播の計算がおよそ1回分増える代わりに、活性化のメモリを大きく減らせます。
- A. 正しい。メモリが足りないときによく使う方法です。
- B. 途中保存(チェックポイントの保存)とは別のものです。
- C. 勾配は計算します。