分散学習とは
Distributed Learning / Distributed Training
複数のデバイスやマシンで計算を分担しモデルを学習させる手法
概要
分散学習は、1台のマシン・GPUでは扱いきれない大規模なモデルやデータセットを、複数のデバイスやノードに計算を分担させて学習する手法。 ミニバッチをデバイスごとに分割して同じモデルを並列に学習するデータ並列、モデル自体を複数デバイスに分割して配置するモデル並列、パイプライン状に層を分割するパイプライン並列などのアプローチがある。 LLMのような数十億〜数兆パラメータ規模のモデルの事前学習では、これらを組み合わせたハイブリッドな分散学習が標準的に用いられる。 通信オーバーヘッドの削減や勾配同期の効率化(All-Reduceなど)が、分散学習全体のスループットを左右する重要な要素となる。