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を活用し、大規模トレーニングを最適化。