优化#
NeMo Retriever Text Reranking NIM (Text Reranking NIM) 自动利用模型和硬件特定的优化,旨在提高模型的性能。
NIM 使用 TensorRT 后端用于 Triton Inference Server,以优化跨多个NVIDIA GPU的常见模型的推理。如果正在使用的 SKU 不存在优化的引擎,则会使用 GPU 不相关的 ONNX 后端(使用 CUDA 执行提供程序)来代替。
NIM 包括多个优化配置文件,这些文件是根据每个 SKU 支持的浮点精度类型量身定制的。
自动配置文件选择#
Text Reranking NIM 旨在根据检测到的硬件,从兼容配置文件列表中自动选择最合适的配置文件。每个配置文件都包含不同的参数。这些参数会影响选择过程。下面概述了基于所涉及参数的选择过程
兼容性检查:Text Reranking NIM 排除与检测到的配置(基于 GPU 数量和 GPU 型号)不兼容的配置文件。
后端:这可以是 TensorRT 或 ONNX。首选优化的 TensorRT 配置文件。
精度:首选较低精度的配置文件。例如,FP8 的配置文件优先于 FP16 的配置文件。
此选择在启动时记录。例如
MODEL PROFILES
- Compatible with system and runnable:
- onnx (type=ONNX,precision=FP16)
- NVIDIA-H100-80GB-HBM3_10.0.1_12_FP8 (type=TensorRT,precision=FP8,gpu=NVIDIA-H100-80GB-HBM3)
- NVIDIA-H100-80GB-HBM3_10.0.1_12 (type=TensorRT,precision=FP16,gpu=NVIDIA-H100-80GB-HBM3)
Selected profile: NVIDIA-H100-80GB-HBM3_10.0.1_12_FP8
Profile metadata: type: TensorRT
Profile metadata: precision: FP8
Profile metadata: gpu: NVIDIA-H100-80GB-HBM3
Profile metadata: trt_version: 10.0.1
Profile metadata: cuda_major_version: 12
覆盖配置文件选择#
注意
要覆盖此行为,请使用 -e NIM_MODEL_PROFILE=<value>
设置特定的配置文件 ID。以下 list-model-profiles
命令列出了 IMG_NAME
Text Reranking NIM 的可用配置文件
docker run --rm --runtime=nvidia --gpus=all $IMG_NAME list-model-profiles
MODEL PROFILES
- Compatible with system and runnable:
- f6ecf987d3acacf363a4125195c7f84cd4110520157f9091702a3061e2fd69fa (h100-nvl-fp8-triton-tensorrt)
- 58610f044b526218e323a350f3bc22d6fdaa775b3b634fc3b671ca29ba8848d6 (h100-pcie-fp8-triton-tensorrt)
- 761a1460449bba9831b61bcc1e4e2ce93bfc66f5badecf6157009a0e0d18d934 (h100-hbm3-80gb-fp8-triton-tensorrt)
...
在前面的示例中,设置 -e NIM_MODEL_PROFILE="f6ecf987d3acacf363a4125195c7f84cd4110520157f9091702a3061e2fd69fa"
以运行 H100 NVL FP8 配置文件。
要在没有可用 GPU 的主机上运行 list-model-profiles
,请将 -e NIM_CPU_ONLY=1
传递给 docker run
命令以设置 NIM_CPU_ONLY
环境变量。