あるチームが70Bパラメーターの大規模言語モデル(LLM)をSageMakerでファインチューニングしようとしています。最大サイズのGPUインスタンス(ml.p4d.24xlarge:A100×8基)1台ではモデル全体をGPUメモリに収めることができません。最小限の運用負荷でこの問題を解決するための最も適切なアプローチはどれですか?
モデルが単一デバイスのメモリ容量を超える場合は、データ並列ではなくモデル並列(Model Parallelism)が必要です。 選択肢AのSageMaker Data Parallelは、データ並列の実装であり各ワーカーがモデル全体のコピーを保持します。モデルが1GPUに収まらない場合には使用できず、メモリ不足の問題を解消できません。 選択肢BのSageMaker Model Parallelライブラリは、テンソル並列やパイプライン並列をマネージドな形で提供し、単一GPUに収まらない大規模モデルを複数GPU・インスタンスに分割してファインチューニングできます。LLMのトレーニングに最も適したアプローチです。 選択肢CのHorovodは、データ並列の分散トレーニングフレームワークであり各ノードがモデル全体のコピーを保持します。大規模モデルを複数デバイスに分割するモデル並列機能はありません。 選択肢DのSageMaker Processing Jobsは、データ前処理や特徴量エンジニアリングなどのバッチ処理向けサービスであり、分散モデルトレーニングには設計されていません。