Activation Checkpointingとは
ACTIVATION CHECKPOINTING
読み: アクティベーションチェックポインティング
Activation Checkpointingとは、深層学習モデルの訓練時にメモリ使用量を削減するための技術である
読み: アクティベーションチェックポインティング
特に大規模なモデルを扱う際に有効で、計算グラフ全体をメモリに保持する必要性を減らす。これにより、より大きなモデルやバッチサイズでの訓練が可能になる。
かんたんに言うと
大規模モデル訓練時に、必要なメモリを減らすための工夫である。計算に必要な情報を必要な時にだけ計算することで、メモリを節約する。
Activation Checkpointingの仕組み
Activation Checkpointingは、順伝播時に全ての中間活性化関数(activation)を保存する代わりに、一部のみを保存する。保存されなかった活性化関数は、逆伝播時に再度計算される。この再計算によって、メモリ使用量を削減できる。ただし、計算時間とのトレードオフが存在する点に注意が必要である。
Activation Checkpointingのメリット
主なメリットは、メモリ使用量の削減である。これにより、より大きなモデルやバッチサイズでの訓練が可能になる。また、GPUメモリが限られている環境でも、大規模なモデルを扱えるようになる。結果として、研究開発の可能性が広がる。
Activation Checkpointingのデメリット
デメリットは、計算時間の増加である。逆伝播時に活性化関数を再計算する必要があるため、訓練時間が長くなる。そのため、メモリ使用量と計算時間のバランスを考慮して、適用するかどうかを判断する必要がある。また、実装が複雑になる場合もある。
