配置#
本节介绍配置 NIM 容器的各种方法。
GPU 选择#
在具有一个或多个相同 GPU 的同构环境中,将 --gpus all
传递给 docker run 是可以接受的。
在具有 GPU 组合的异构环境中,例如 A6000 + GeForce 显示 GPU,工作负载应仅在具有计算能力的 GPU 上运行。使用以下任一方法在容器内公开特定 GPU
--gpus
标志(例如:--gpus="device=1"
)环境变量
NVIDIA_VISIBLE_DEVICES
(例如:-e NVIDIA_VISIBLE_DEVICES=1
)
要用作输入的设备 ID 在 nvidia-smi -L
的输出中列出
GPU 0: Tesla H100 (UUID: GPU-b404a1a1-d532-5b5c-20bc-b34e37f3ac46)
GPU 1: NVIDIA GeForce RTX 3080 (UUID: GPU-b404a1a1-d532-5b5c-20bc-b34e37f3ac46)
有关更多说明,请参阅 NVIDIA Container Toolkit 文档。
环境变量#
下表描述了可以传递到 NIM 中的环境变量,作为添加到 docker run
命令的 -e
参数
ENV |
必需? |
默认值 |
注释 |
---|---|---|---|
|
是 |
无 |
您必须将此变量设置为您的个人 NGC API 密钥的值。 |
|
否 |
|
容器缓存模型工件的位置(在容器中)。 |
|
否 |
|
设置 triton 后端服务器的 HTTP API 端口。Triton 默认为端口 8000,这也是 NIM 的 FastAPI 前端服务器 logging 使用的默认端口。 |
|
否 |
|
容器镜像的日志记录阈值。接受表示以下任何值的字符串(严重性递减,不区分大小写):CRITICAL、ERROR、WARNING、WARN、INFO、DEBUG。有关更多详细信息,请参阅 Python 日志记录。 |
|
否 |
|
将 NIM HTTP API 端口发布到容器内规定的端口。确保调整传递给 docker run 的 |
卷#
下表描述了容器内的路径,可以将本地路径挂载到这些路径中。
容器路径 |
必需 |
注释 |
Docker 参数示例 |
---|---|---|---|
|
不是必需的,但如果未挂载此卷,则容器每次启动时都会全新下载模型。 |
这是在容器内下载模型的目录。非常重要的是,可以从容器内部访问此目录。这可以通过向 |
|