配置#
NeMo 文本检索器 NIM 在底层使用 Docker 容器。每个 NIM 都是其自己的 Docker 容器,并且有多种配置方式。本节的剩余部分描述了配置 NIM 容器的各种方法。
GPU 选择#
NIM 容器是 GPU 加速的,并使用 NVIDIA Container Toolkit 来访问主机上的 GPU。
如果主机具有一个或多个相同的 GPU 型号,则可以为 docker run
命令指定 --gpus all
命令行参数。如果主机具有 GPU 组合,例如 A6000 和 GeForce 显示 GPU,请仅在具有计算能力的 GPU 上运行容器。
通过使用以下任一方法将特定 GPU 暴露给容器
指定
--gpus
参数,例如--gpus="device=1"
。设置
NVIDIA_VISIBLE_DEVICES
环境变量,例如-e NVIDIA_VISIBLE_DEVICES=1
。
运行 nvidia-smi -L
命令以列出设备 ID,以便在参数或环境变量中指定
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 文档中的 GPU 枚举。
环境变量#
下表标识了容器中使用的环境变量。使用 -e
命令行参数为 docker run
命令设置环境变量。
名称 |
描述 |
默认值 |
---|---|---|
|
将此变量设置为您的个人 NGC API 密钥的值。 |
无 |
|
指定容器中已下载模型的完全限定路径。 |
|
|
指定容器中用于 gRPC 访问微服务的网络端口号。 |
|
|
指定容器中用于 HTTP 访问微服务的网络端口号。 有关主机和容器网络端口的更多信息,请参阅 Docker 文档中的 发布端口。 |
|
|
指定为 HTTP 请求启动的工作线程数。 |
|
|
指定容器中用于 NVIDIA Triton 推理服务器的网络端口号。 |
|
|
当设置为 |
|
|
当设置为 |
|
|
指定日志记录级别。微服务支持以下值:DEBUG、INFO、WARNING、ERROR 和 CRITICAL。 |
|
|
指定容器中模型清单 YAML 文件的完全限定路径。 |
|
|
指定要用于容器的模型配置文件 ID。默认情况下,容器尝试自动将主机 GPU 型号和 GPU 计数与最佳模型配置文件匹配。 |
无 |
|
要部署的模型实例数。 |
未设置(此值会覆盖特定于硬件的配置值) |
|
要使用的令牌化器实例数。 |
|
|
指定 API 中使用的模型名称。在逗号分隔列表中指定多个名称。如果您指定多个名称,服务器将响应任何名称。响应的模型字段中的名称是此列表中的第一个名称。默认情况下,模型从 |
无 |
|
设置最大队列延迟时间,以允许其他请求加入 NVIDIA Triton 推理服务器的动态批处理。有关更多信息,请参阅 Triton 用户指南。 |
|
|
当设置为 |
|
|
指定 NVIDIA Triton 推理服务器的超时时间,以微秒为单位。默认值 |
|
|
指定 NVIDIA Triton 推理服务器的 gRPC 端口号。 |
|
卷#
下表标识了容器中使用的路径。使用此信息来规划要绑定挂载到容器中的本地路径。
容器路径 |
描述 |
示例 |
---|---|---|
|
指定已下载模型的路径,相对于容器的根目录。 此路径的典型用途是将主机上的目录与容器内的此路径绑定挂载。例如,要在主机上使用 如果您未指定绑定或卷挂载(如前面命令中的
|
|