NVIDIA-NeMo/Automodel
🚀 Pytorch Distributed native training library for LLMs/VLMs with OOTB Hugging Face support
解决的问题
NeMo AutoModel 简化了大规模 AI 模型(包括 LLM、视觉语言模型 (VLMs)、扩散模型和检索模型)的训练和微调过程。它消除了引入新模型时通常涉及的“繁琐步骤”和延迟,为 Hugging Face 模型提供“Day-0”支持,使其无需复杂的转换即可立即进行训练。
工作原理
作为基于 PyTorch DTensor 的原生 SPMD(单程序多数据)库构建,它将模型代码与并行策略解耦。这使得只需通过调整配置网格,即可在任何规模(从单个 GPU 到数千个 GPU)上运行相同的训练脚本。它使用 YAML 驱动的方案和用于覆盖配置的 CLI,利用自定义内核和 PyTorch 原生并行(张量、序列和数据并行)来优化性能和内存效率。
适用对象
专为 AI 研究人员和生产工程师设计,他们需要将实验从小型原型扩展到使用 Kubernetes 或 Slurm 的大规模多 GPU、多节点部署。
亮点
- Day-0 Hugging Face 集成:无需格式转换即可立即开始训练 HF 模型。
- 可扩展的并行性:通过配置混合使用张量、序列和数据并行,无需重写模型代码。
- YAML 驱动的工作流:使用预定义的方案实现极简设置,并通过 CLI 覆盖实现灵活性。
- 广泛的模型支持:兼容多种现代架构,包括 MoE(混合专家模型)和全模态模型。
- 高性能:利用自定义内核和 PyTorch DTensor 实现优化的规模化训练。