title: 分散処理(並列分散処理) —
多数の計算機(GPUワークア)に処理を分散させて学習を行う分散深層学習には、主に2つのアプローチがあります。
| 項目 | データ並列化 (Data Parallelism) | モデル並列化 (Model Parallelism) |
|---|---|---|
| アプローチ | 親モデルをコピーした $n$ 個のレプリカ(子モデル)を各GPUに配置し、異なるバッチデータを供給する。 | 親モデルの $n$ 個の部分モデル(層など)を各GPUに分割して割り当て、同一のバッチデータを処理する。 |
| 特徴 | 最も一般的。各GPUが個別に順伝播・逆伝播を行い、算出された勾配をあつめてパラメータを更新する。 | 1つの GPU メモリに収まらない巨大なモデル( LLM など)を学習させる際に必須。 |
| 通信 | ボトルネックパラメータの同期通信。 | 順伝播・逆伝播ともに、層間のデータをGPU間で通信する必要があるため、通信コストが処理時間短縮のボトルネックになりやすい。 |