NVIDIA NeMo 项目详细介绍
项目概述
NVIDIA NeMo Framework是一个可扩展和云原生的生成式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应用程序。