重要提示
您正在查看 NeMo 2.0 文档。此版本引入了对 API 的重大更改和一个新的库 NeMo Run。我们目前正在将 NeMo 1.0 中的所有功能移植到 2.0。有关先前版本或 2.0 中尚不可用的功能的文档,请参阅 NeMo 24.07 文档。
安装 NeMo 框架#
NeMo 框架可以通过以下方式安装,具体取决于您的需求
(推荐)Docker 容器
NeMo 框架在单个整合的 Docker 容器中支持大型语言模型 (LLM)、多模态模型 (MM)、自动语音识别 (ASR) 和文本到语音 (TTS) 模态。
推荐用于 LLM 和 MM 领域。
Conda / Pip
如果您使用 Nvidia PyTorch 容器作为基础,则这是所有领域推荐的方法。
NeMo 容器与 NeMo 版本更新同时发布。您可以在 NeMo 发布页面上找到有关已发布容器的更多信息。
使用预构建容器(推荐)
这适用于大多数想要使用 NeMo 稳定版本的用户。要访问容器,请按照以下步骤操作
登录或在此处创建一个免费帐户:NVIDIA GPU Cloud (NGC)。
登录后,您可以在此处查看所有容器版本:NVIDIA NGC NeMo 框架。
在您的终端中,运行以下代码
docker pull nvcr.io/nvidia/nemo:24.12
请使用 “yy.mm.(patch)” 格式的最新标签。
如果您对最新的实验性功能感兴趣,请获取带有 “dev” 标签的容器。
(或者)从最新的 GitHub 分支构建容器
要使用 Dockerfile 从 NeMo Github 分支构建 nemo 容器,请克隆分支,并运行以下代码
DOCKER_BUILDKIT=1 docker build -f Dockerfile -t nemo:latest
如果您选择使用 main 分支,我们建议使用 NVIDIA 的 PyTorch 容器版本 23.10-py3 作为基础,然后在 GitHub 上从源代码安装。
docker run --gpus all -it --rm -v <nemo_github_folder>:/NeMo --shm-size=8g \ -p 8888:8888 -p 6006:6006 --ulimit memlock=-1 --ulimit \ stack=67108864 --device=/dev/snd nvcr.io/nvidia/pytorch:23.10-py3
重要提示
我们强烈建议您从基础 NVIDIA PyTorch 容器开始:
nvcr.io/nvidia/pytorch:24.07-py3
,并在其中安装 NeMo 及其依赖项。如果这样做,请运行容器,并直接转到步骤 3 获取 pip 指令。创建一个新的 Conda 环境
conda create --name nemo python==3.10.12 conda activate nemo
使用他们的配置器安装 PyTorch
conda install pytorch==2.2.0 torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
安装 PyTorch 的命令可能取决于您的系统。使用上面链接的配置器找到适合您系统的命令。
然后,通过 Pip 或从源代码安装 NeMo。我们不在 conda-forge 或任何其他 Conda 渠道上提供 NeMo。
(选项 1)通过 Pip 安装 NeMo。
要安装 nemo_toolkit,请使用以下安装方法
安装所有领域
apt-get update && apt-get install -y libsndfile1 ffmpeg pip install Cython packaging pip install nemo_toolkit['all']
安装特定领域
如果您只对语音 AI 领域感兴趣,您可以只安装 asr 和/或 tts 组件。您必须首先使用以下命令安装 nemo_toolkit 依赖项。
apt-get update && apt-get install -y libsndfile1 ffmpeg pip install Cython packaging
然后,您可以运行以下特定于领域的命令
pip install nemo_toolkit['asr'] # For ASR pip install nemo_toolkit['tts'] # For TTS
要安装 LLM 领域,您应该使用命令
pip install nemo_toolkit['all']
。(选项 2)从源代码安装 NeMo 和 Megatron Core。
要使用特定 GitHub 分支(例如 main)中的特定版本的 NeMo,请使用以下安装方法
export BRANCH="main" apt-get update && apt-get install -y libsndfile1 ffmpeg pip install Cython packaging pip install git+https://github.com/NVIDIA/NeMo.git@$BRANCH#egg=nemo_toolkit[all]
根据使用的 shell,您可能需要在上面的命令中使用 “nemo_toolkit[all]” 说明符。
安装额外的依赖项(仅适用于 LLM、多模态领域)
如果您使用 LLM 和多模态领域,则有三个额外的依赖项:NVIDIA Megatron Core、NVIDIA Apex 和 NVIDIA Transformer Engine。
请按照 Github 上的最新说明进行操作:安装 LLM 和多模态依赖项
注意
Apex 和 Transformer Engine 对于 LLM 集合是可选的,但建议用于获得最佳性能,而它们是多模态集合的必需依赖项。
注意
当未安装 Apex 时,目前不支持 RMSNorm。未来版本将添加对 RMSNorm 的非 Apex 支持。