部署指南#
本节提供有关 MolMIM NIM 容器部署的更多详细信息。
查看 NIM 容器信息#
容器镜像标签可以通过以下命令查看,类似于 NGC 上的其他容器镜像。
ngc registry image info nvcr.io/nim/nvidia/molmim:1.0.0
拉取容器镜像#
使用以下命令之一拉取容器镜像
Docker#
docker pull nvcr.io/nim/nvidia/molmim:1.0.0
NGC#
ngc registry image pull nvcr.io/nim/nvidia/molmim:1.0.0
运行容器#
如同快速入门指南中所示,您可以运行以下命令来启动 MolMIM NIM。
docker run --rm -it --name molmim --runtime=nvidia \
-e CUDA_VISIBLE_DEVICES=0 \
-e NGC_CLI_API_KEY \
-p 8000:8000 \
nvcr.io/nim/nvidia/molmim:1.0.0
我们可以将该命令分解为以下组成部分。其中一些可以在生产环境中进行修改,以更好地适应用户所需的应用程序。
docker run
:这是从 Docker 镜像运行新容器的命令。--rm
:此标志告诉 Docker 在容器退出时自动删除它。此属性对于一次性运行或测试非常有用,因为它防止容器被遗留下来。-it
:这些标志组合起来在容器内创建一个交互式终端会话。-i
保持标准输入打开,而-t
分配一个伪终端 (pseudo-TTY)。--name molmim
:此标志将容器命名为 ‘molmim’。--runtime=nvidia
:此标志指定用于容器的运行时。在本例中,它被设置为 ‘nvidia’,用于 GPU 加速。-e CUDA_VISIBLE_DEVICES=0
:此标志将环境变量CUDA_VISIBLE_DEVICES
设置为值 ‘0’。此变量控制哪些 GPU 设备对容器可见。在本例中,它被设置为 0,这意味着容器将仅使用第一个 GPU(如果可用)。-e NGC_CLI_API_KEY
:此标志设置一个环境变量NGC_CLI_API_KEY
,用于与 NVIDIA 的 NGC (NVIDIA GPU 云) 服务进行身份验证。-p 8000:8000
:此标志将主机上的端口 8000 映射到容器中的端口 8000。这允许您从主机访问容器的服务。nvcr.io/nim/nvidia/molmim:1.0.0
:这是 Docker 镜像名称和标签。该镜像托管在 NVIDIA 的容器注册表 (nvcr.io
) 上,并命名为molmim_nim
。标签1.0.0
指定镜像的特定版本。
模型检查点缓存#
在首次启动时,容器将从 NGC 下载 MolMIM 检查点。您可以通过在本地缓存模型权重(使用如下例所示的缓存目录)来跳过未来运行中的此下载步骤。
# Create the cache directory on the host machine
export LOCAL_NIM_CACHE=~/.cache/nim
mkdir -p "$LOCAL_NIM_CACHE"
# Run the container with the cache directory mounted in the appropriate location
docker run --rm -it --name molmim --runtime=nvidia \
-e CUDA_VISIBLE_DEVICES=0 \
-e NGC_CLI_API_KEY \
-v "$LOCAL_NIM_CACHE:/home/nvs/.cache/nim" \
-p 8000:8000 \
nvcr.io/nim/nvidia/molmim:1.0.0
注意
缓存模型检查点可以节省后续容器运行的大量时间。