バッチサイズ(Batch Size)とは
Batch Size
1回のパラメータ更新や推論でまとめて処理するデータサンプルの数
最終更新:
概要
バッチサイズは、学習時に1回のパラメータ更新でまとめて使うサンプル数を表すハイパーパラメータ。ミニバッチ勾配降下法では、バッチ内のサンプルの損失から勾配を平均して求め、その勾配でパラメータを更新する。 バッチサイズを大きくすると勾配の推定が安定し、GPUの並列計算も活かしやすい。ただし必要なメモリが増え、学習率など他のハイパーパラメータとの調整も必要になる。小さくすると勾配のばらつきが増え、更新回数あたりの計算は軽くなる。 GPUメモリに収まらない大きさのバッチで学習したい場合は、複数のマイクロバッチの勾配を足し合わせてから更新する勾配累積が使われる。LLMの事前学習では、バッチサイズをサンプル数ではなくトークン数で表すこともある。推論でも、複数のリクエストをまとめて処理する単位としてバッチサイズという言葉が使われる。
利点
- 大きくするとGPUの並列計算を活かしやすく、勾配の推定も安定する
- 勾配累積と組み合わせれば、メモリに収まらない大きさのバッチも扱える
欠点
- 大きくするほど必要なメモリが増える
- 変更すると学習率などの再調整が必要になることが多い