NVIDIA-NeMo/Automodel
🚀 Pytorch Distributed native training library for LLMs/VLMs with OOTB Hugging Face support
解決する課題
NeMo AutoModelは、LLM、Vision-Language Models (VLMs)、拡散モデル、検索モデルを含む大規模AIモデルのトレーニングとファインチューニングのプロセスを簡素化します。新しいモデルの導入に伴う典型的な「儀式」や遅延を排除し、Hugging Faceモデルに対して「Day-0」サポートを提供することで、複雑な変換を必要とせずに即座にトレーニングを開始できます。
仕組み
PyTorch DTensorネイティブのSPMD (Single Program, Multiple Data) ライブラリとして構築されており、モデルコードと並列化戦略を分離しています。これにより、構成メッシュを調整するだけで、同じトレーニングスクリプトをあらゆる規模(1つのGPUから数千個まで)で実行できます。YAML駆動のレシピとオーバーライド用のCLIを使用し、カスタムカーネルとPyTorchネイティブの並列処理(テンソル、シーケンス、データ並列)を活用して、パフォーマンスとメモリ効率を最適化します。
対象ユーザー
小規模なプロトタイプから、KubernetesやSlurmを使用した大規模なマルチGPU・マルチノード展開へと実験をスケールさせる必要があるAI研究者やプロダクションエンジニア向けに設計されています。
ハイライト
- Day-0 Hugging Face統合: フォーマット変換なしですぐにHFモデルのトレーニングを開始可能。
- スケーラブルな並列処理: モデルコードを書き換えることなく、設定を通じてテンソル、シーケンス、データ並列を組み合わせて使用可能。
- YAML駆動のワークフロー: 事前に定義されたレシピで最小限のセットアップを実現し、CLIによるオーバーライドで柔軟性を確保。
- 幅広いモデルサポート: MoE (Mixture of Experts) やオムニモーダルモデルを含む、幅広い最新アーキテクチャに対応。
- 高いパフォーマンス: カスタムカーネルとPyTorch DTensorを活用し、大規模トレーニングを最適化。