大規模モデル訓練の複雑さを一気に解消
Hugging Faceは、マルチGPU環境での大規模モデル訓練を抜本的に簡略化する「Accelerate ND-Parallel」を発表した。データ並列(DP)、テンソル並列(TP)、コンテキスト並列(CP)、完全シャーディングデータ並列(FSDP)といった複数の並列化戦略を、わずか数行のコードで自由に組み合わせられる。
従来の課題:並列化戦略の組み合わせは職人技だった
数十億〜数百億パラメータ規模のLLM(大規模言語モデル)を複数GPUで訓練する場合、単一の並列化手法では対応しきれないケースが多い。たとえばデータ並列だけではGPUメモリの壁を突破できず、モデル並列だけでは通信オーバーヘッドが増大する。これらを効率よく組み合わせるには、高度な分散システムの知識が必要だった。
ParallelismConfig で並列度を宣言的に設定
ND-Parallelの核心は ParallelismConfig クラスだ。以下のように各並列化戦略の「次元数(degree)」を宣言するだけで、Accelerateが内部のデバイスメッシュを自動構築する。