NVIDIA NeMo 項目詳細介紹
項目概述
NVIDIA NeMo Framework 是一個可擴展和雲原生 (cloud-native) 的生成式 AI 框架,專為研究人員和 PyTorch 開發者構建,專注於大語言模型 (LLMs)、多模態模型 (MMs)、自動語音識別 (ASR)、文本轉語音 (TTS) 和計算機視覺 (CV) 領域。該框架旨在幫助用戶通過利用現有代碼和預訓練模型檢查點,高效地創建、自定義和部署新的生成式 AI 模型。
核心特性
NeMo 2.0 重大更新
NeMo 2.0 相比其前身 NeMo 1.0 引入了幾項重要改進,增強了靈活性、性能和可擴展性:
- 基於 Python 的配置 - 從 YAML 文件轉向基於 Python 的配置,提供更大的靈活性和控制力
- 模塊化抽象 - 採用 PyTorch Lightning 的模塊化抽象,簡化適配和實驗過程
- 可擴展性 - 使用 NeMo-Run 無縫擴展到數千個 GPU 的大規模實驗
技術架構優勢
所有 NeMo 模型都使用 Lightning 進行訓練,訓練可自動擴展到數千個 GPU。框架集成了尖端的分布式訓練技術,包括:
- 張量並行 (TP)
- 流水線並行 (PP)
- 完全分片數據並行 (FSDP)
- 專家混合 (MoE)
- 混合精度訓練(支持 BFloat16 和 FP8)
基於 Transformer 的 LLMs 和 MMs 利用 NVIDIA Transformer Engine 在 NVIDIA Hopper GPU 上進行 FP8 訓練,同時利用 NVIDIA Megatron Core 擴展 Transformer 模型訓練。
主要應用領域
1. 大語言模型和多模態模型
最新功能更新
- AutoModel 支持 - NeMo Framework 的最新功能 AutoModel 支持 🤗Hugging Face 模型,25.02 版本專注於文本生成類別中的 AutoModelForCausalLM
- Blackwell 支持 - NeMo Framework 增加了 Blackwell 支持,25.02 版本專注於 B200 的功能對等
模型對齊技術
NeMo LLMs 可以使用最先進的方法進行對齊,如 SteerLM、直接偏好優化 (DPO) 和人類反饋強化學習 (RLHF)。除了監督微調 (SFT) 外,NeMo 還支持最新的參數高效微調 (PEFT) 技術,如 LoRA、P-Tuning、Adapters 和 IA3。
2. Cosmos 世界基礎模型
NVIDIA Cosmos 平台加速物理 AI 系統的世界模型開發。基於 CUDA 構建,Cosmos 結合了最先進的世界基礎模型、視頻分詞器和 AI 加速數據處理管道。開發者可以通過微調 Cosmos 世界基礎模型或從頭構建新模型來加速世界模型開發。
3. 語音識別技術
Parakeet 系列模型
- Parakeet-TDT - 在準確性上表現更佳,速度比之前最好的模型 Parakeet-RNNT-1.1B 快 64%
- Canary 多語言模型 - 可以轉錄英語、西班牙語、德語和法語的語音,帶有標點符號和大寫字母,還提供這些語言之間的雙向翻譯
性能優化
NVIDIA NeMo 團隊發布了針對 CTC、RNN-T 和 TDT 模型的多項推理優化,實現了高達 10 倍的推理速度提升,這些模型現在超過了 2,000 的逆實時因子 (RTFx),有些甚至達到 6,000 的 RTFx。
安裝和部署
支持的安裝方式
- Conda/Pip 安裝 - 適用於探索 NeMo,推薦用於 ASR 和 TTS 領域
- NGC PyTorch 容器 - 從源代碼安裝到高度優化的容器中
- NGC NeMo 容器 - 即用型解決方案,包含所有依賴項
系統要求
- Python 3.10 或更高版本
- PyTorch 2.5 或更高版本
- NVIDIA GPU(如果打算進行模型訓練)
平台支持
操作系统/平台 |
PyPi安装 |
NGC容器源码安装 |
Linux - amd64/x84_64 |
有限支持 |
完全支持 |
Linux - arm64 |
有限支持 |
有限支持 |
macOS - amd64/x64_64 |
已棄用 |
已棄用 |
macOS - arm64 |
有限支持 |
有限支持 |
生態系統和工具鏈
相關項目
- NeMo-Run - 用於配置、啟動和管理機器學習實驗的工具
- NeMo Curator - 用於 LLM 的可擴展數據預處理和策劃工具包
- NeMo Guardrails - 為基於 LLM 的對話系統添加可編程防護欄的開源工具包
- NeMo Aligner - 模型對齊工具
- NeMo Skills - 改进大语言模型"技能"的项目
部署和優化
- NeMo LLMs 和 MMs 可以通過 NVIDIA NeMo Microservices 進行部署和優化
- NeMo ASR 和 TTS 模型可以通過 NVIDIA Riva 優化推理並部署到生產用例
性能表現
基准測試成果
- MLPerf Training v4.0 - 使用 NVIDIA NeMo Framework 和 NVIDIA Hopper GPU,NVIDIA 能夠擴展到 11,616 個 H100 GPU,並在 LLM 預訓練上實現接近線性的性能擴展
- H200 性能提升 - 在 NVIDIA H200 Tensor Core GPU 上 Llama 2 預訓練速度提升高達 4.2 倍
應用案例和合作夥伴
企業應用
- Amazon Titan 基礎模型 - NVIDIA NeMo Framework 現在為 Amazon Titan 基礎模型提供高效的大語言模型訓練支持
- Bria.ai 平台 - 利用 NeMo 多模態集合的參考實現,實現高吞吐量和低延遲的圖像生成
雲平台支持
- Amazon EKS - 支持在 Amazon Elastic Kubernetes Service 集群上運行分布式訓練工作負載
- Google GKE - 提供在 Google Kubernetes Engine 上訓練生成式 AI 模型的端到端指導
開源和許可
NeMo Framework 採用 Apache 2.0 許可證開源,歡迎社區貢獻。該項目在 GitHub 上維護活躍的開發和支持,提供廣泛的文檔、教程和示例腳本。
學習資源
- 官方文檔 - 提供完整的用戶指南和技術文檔
- 教程 - 可在 Google Colab 上運行的廣泛教程
- 示例腳本 - 支持多 GPU/多節點訓練的完整示例套件
- 社區支持 - 通過 GitHub Discussions 板塊提供 FAQ 和社區支持
NVIDIA NeMo Framework 代表了生成式 AI 開發的最前沿,為研究人員和開發者提供了一個強大、靈活且可擴展的平台,用於構建下一代 AI 應用程序。