NVIDIA NeMo:用统一框架做 LLM 微调、语音识别与多模态训练
NeMo 是 NVIDIA 的生成式 AI 训练框架,覆盖大语言模型、语音识别/合成和多模态。它把 Megatron-LM、分布式训练、混合精度、数据管线和模型导出封装成集合与 recipe。NeMo 不是单一模型,也不是推理服务;推理通常交给 TensorRT-LLM、vLLM 或 Triton。
NeMo 有两条主要使用路径:NeMo 1.x 的 nemo.collections Python API(ASR/NLP 等),以及 NeMo 2.x 的 NeMo Run + recipe(以 LLM 微调为主,底层常用 Megatron 后端)。两者 API 差异较大,看文档前先确认版本,不要混用示例。
# 安装完整工具包(体积较大)
pip install "nemo_toolkit[all]"
# 查看 NeMo CLI 与 NeMo Run 入口(版本不同,子命令可能不同)
nemo --help
nemo run --help
# NeMo 1.x/ASR:加载预训练模型并转写
import nemo.collections.asr as nemo_asr
model = nemo_asr.models.ASRModel.from_pretrained(
model_name="stt_en_conformer_ctc_large"
)
model.transcribe(["meeting.wav"])
# NeMo 2.x:LLM 微调通常通过 recipe + NeMo Run 启动
# 具体 recipe 名称和参数随版本变化,先用 nemo run --help 查看
# 示例结构:
# nemo run <recipe> --factory <config> trainer.devices=8
# 多卡/多机通常结合 Slurm 或 NeMo Run 的分布式配置
srun --gpus-per-node=8 --nodes=2 nemo run <recipe> ...
实际项目先锁定 NeMo、PyTorch、CUDA、Megatron 的版本组合,再用小模型和单机多卡跑通数据、训练、保存、恢复四个环节。
nemo.collections.nlp、llm、NeMo Run 的 API 不同;先确认版本,再照对应文档执行。--help 和打印最终配置确认,不要凭字段名猜。.nemo/分布式 checkpoint 与 Hugging Face safetensors 不同;导出/转换后再接推理框架。nccl-tests,再检查 Slurm 分配、网卡、MASTER_ADDR 和容器 IPC。合上页面,先回答,再展开对照。
nemo.collections Python API;2.x 更强调 NeMo Run + recipe,底层常用 Megatron 后端。两者 API 和配置方式不同。
小程序版
微信扫码,随时查命令