重要提示

您正在查看 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 稳定版本的用户。要访问容器,请按照以下步骤操作

      1. 登录或在此处创建一个免费帐户:NVIDIA GPU Cloud (NGC)

      2. 登录后,您可以在此处查看所有容器版本:NVIDIA NGC NeMo 框架

      3. 在您的终端中,运行以下代码

      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 指令。

      1. 创建一个新的 Conda 环境

      conda create --name nemo python==3.10.12
      conda activate nemo
      
      1. 使用他们的配置器安装 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. (选项 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']

      1. (选项 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]” 说明符。

      1. 安装额外的依赖项(仅适用于 LLM、多模态领域)

      如果您使用 LLM 和多模态领域,则有三个额外的依赖项:NVIDIA Megatron Core、NVIDIA Apex 和 NVIDIA Transformer Engine。

      请按照 Github 上的最新说明进行操作:安装 LLM 和多模态依赖项

      注意

      Apex 和 Transformer Engine 对于 LLM 集合是可选的,但建议用于获得最佳性能,而它们是多模态集合的必需依赖项。

      注意

      当未安装 Apex 时,目前不支持 RMSNorm。未来版本将添加对 RMSNorm 的非 Apex 支持。