DeepSpeed ZeRO最適化(ディープスピードゼロサイテキカ)
Microsoft開発の大規模LLM学習フレームワーク。Zero Redundancy Optimizer(ZeRO)でモデル状態を分散・メモリ使用量を大幅削減。Stage 1〜3でパラメータ・勾配・オプティマイザ状態を段階的に分散管理する。
DeepSpeed ZeRO最適化
DeepSpeedはMicrosoftが開発したオープンソースの大規模深層学習最適化ライブラリ。中核技術であるZeRO(Zero Redundancy Optimizer)は、データ並列学習における3種類の状態冗長を段階的に排除し、少ないGPUでも超大規模モデルを学習可能にする革新的アーキテクチャだ。
ZeRO Stageの仕組み
Stage 1では各GPUがオプティマイザ状態(Adam動作量・分散)の1/N分担を保持、最大4x削減。Stage 2はさらに勾配も分散し最大8x削減、Stage 3は全パラメータをGPU間で分割保持しN並列でNx削減。これにより64GPUなら理論上64倍のメモリ削減が可能だ。
ZeRO-Infinity とCPU/NVMeオフロード
2021年発表のZeRO-Infinityは、GPU VRAM不足をCPU RAMとNVMe SSDへのオフロードで補う技術。単一ノードでも数兆パラメータモデルの学習が理論上可能になる。実際にはNVMe帯域がボトルネックになるが、研究用プロトタイプ規模での利用実績がある。
Megatron-DeepSpeed統合
NVIDIAのMegatron-LMとDeepSpeedを組み合わせる「Megatron-DeepSpeed」は業界標準的な構成となっている。ZeROのデータ並列効率とMegatronのモデル・パイプライン並列を組み合わせることで、GPT-NeoX-20B、OPT-175B、Bloomなど著名な大規模モデルが学習された。
実用的なハイパーパラメータ
{
"zero_optimization": {
"stage": 3,
"offload_optimizer": {"device": "cpu", "pin_memory": true},
"offload_param": {"device": "cpu", "pin_memory": true},
"overlap_comm": true,
"contiguous_gradients": true,
"sub_group_size": 1e9,
"reduce_bucket_size": 1e6
},
"bf16": {"enabled": true},
"gradient_clipping": 1.0
}
PyTorch FSDPとの比較
Meta開発のFSDPはPyTorchネイティブでZeRO Stage 3相当の機能を提供。DeepSpeedは機能が豊富(ZeRO-Infinity、MoE対応等)だが設定が複雑。FSDPはPyTorchエコシステムとの統合が優れ、LLaMA系モデルの学習で主流になりつつある。
2025年の動向
DeepSpeed 0.16.x系ではFlashAttentionとの統合強化、AMD ROCm対応が改善。MicrosoftはPhi-4シリーズの学習にDeepSpeedを使用しており、引き続き活発に開発が継続している。Hugging Face Transformersとのシームレスな統合(accelerate経由)も普及に貢献している。