实用工具#
NIM 包含一组实用工具脚本,以协助 NIM 操作。
实用工具可以通过将所需实用工具的名称添加到 docker run 命令来启动。例如,您可以使用以下命令执行 list-model-profiles
实用工具
docker run --rm --runtime=nvidia --gpus=all $IMG_NAME list-model-profiles \
-e NGC_API_KEY=$NGC_API_KEY
您可以使用 -h
标志获取有关每个实用工具的更多信息
docker run --rm --runtime=nvidia --gpus=all $IMG_NAME download-to-cache -h
列出可用的模型配置文件#
- list-model-profiles
将 NIM 检测到的系统信息以及所选 NIM 的所有配置文件列表打印到控制台。配置文件根据它们是否与当前系统兼容进行分类,基于检测到的系统信息。
示例#
docker run -it --rm --gpus all $IMG_NAME list-model-profiles \
-e NGC_API_KEY=$NGC_API_KEY
SYSTEM INFO
- Free GPUs:
- [20b2:10de] (0) NVIDIA A100-SXM4-80GB (A100 80GB) [current utilization: 0%]
- [20b2:10de] (1) NVIDIA A100-SXM4-80GB (A100 80GB) [current utilization: 0%]
- [20b2:10de] (2) NVIDIA A100-SXM4-80GB (A100 80GB) [current utilization: 0%]
- [20b2:10de] (3) NVIDIA A100-SXM4-80GB (A100 80GB) [current utilization: 0%]
- [20b2:10de] (4) NVIDIA A100-SXM4-80GB (A100 80GB) [current utilization: 0%]
- [20b2:10de] (5) NVIDIA A100-SXM4-80GB (A100 80GB) [current utilization: 0%]
- [20b2:10de] (6) NVIDIA A100-SXM4-80GB (A100 80GB) [current utilization: 0%]
- [20b2:10de] (7) NVIDIA A100-SXM4-80GB (A100 80GB) [current utilization: 0%]
MODEL PROFILES
- Compatible with system and runnable:
- d86754a6413430bf502ece62fdcc8137d4ed24d6062e93c23c1090f0623d535f (tensorrt_llm-a100-bf16-tp8-latency)
- 6f437946f8efbca34997428528d69b08974197de157460cbe36c34939dc99edb (tensorrt_llm-a100-bf16-tp4-throughput)
- 7283d5adcddeeab03996f61a33c51552d9bcff16c38e4a52f1204210caeb393c (vllm-fp16-tp8)
- cdcbc486dd076bc287cca6262c59fe90057d76ae18a407882075f65a99f5f038 (vllm-fp16-tp4)
- With LoRA support:
- 4cac7d500b9ed35bc51cb7845e637288c682f4a644f0b4e6a4f71d3b8b188101 (tensorrt_llm-a100-bf16-tp4-throughput-lora)
- 7096ab12e70abc4ac0e125a90a8e40b296891603fad45d2b208d655ac1dea9d8 (vllm-fp16-tp8-lora)
- d4bc4be4167c103b45d9375c9a907c11339f59235dfc5de321a9e13d8132aba6 (vllm-fp16-tp4-lora)
- Incompatible with system:
- 5296eed82c6309b64b13da03fbb843d99c3276effd6a0c51e28ad5bb29f56017 (tensorrt_llm-h100-fp8-tp8-latency)
- 4e0aeeefd4dfeae46ad40f16238bbde8858850ce0cf56c26449f447a02a9ac8f (tensorrt_llm-h100-fp8-tp4-throughput)
- ...
下载模型配置文件到 NIM 缓存#
- download-to-cache
下载选定的或默认的模型配置文件到 NIM 缓存。可用于在部署前预缓存配置文件。需要环境中存在
NGC_API_KEY
。- --profiles [PROFILES ...], -p [PROFILES ...]#
要下载的配置文件哈希值。如果未提供,则下载最佳配置文件。可以指定多个配置文件,以空格分隔。
- --all#
设置为下载所有配置文件到缓存
- --lora#
设置为下载默认的 LoRA 配置文件。您不能将此选项与
--profiles
或--all
选项一起使用。
示例#
docker run -it --rm --gpus all -e NGC_API_KEY -v $LOCAL_NIM_CACHE:/opt/nim/.cache \
$IMG_NAME download-to-cache -p 6f437946f8efbca34997428528d69b08974197de157460cbe36c34939dc99edb
INFO 08-12 18:44:07.810 pre_download.py:80] Fetching contents for profile 6f437946f8efbca34997428528d69b08974197de157460cbe36c34939dc99edb
INFO 08-12 18:44:07.810 pre_download.py:86] {
"feat_lora": "false",
"gpu": "A100",
"gpu_device": "20b2:10de",
"llm_engine": "tensorrt_llm",
"pp": "1",
"precision": "bf16",
"profile": "throughput",
"tp": "4"
}
...
创建模型存储#
- create-model-store
从缓存的模型配置文件中提取文件,并创建一个格式正确的目录。如果配置文件尚未缓存,则会将其下载到模型缓存。下载配置文件需要环境中存在
NGC_API_KEY
。- --profile <PROFILE>, -p <PROFILE>#
要创建模型目录的配置文件哈希值。如果不存在,将会被下载。
- --model-store <MODEL_STORE>, -m <MODEL_STORE>#
模型
--profile
被提取和复制到的目录路径。
示例#
docker run -it --rm --gpus all -e NGC_API_KEY -v $LOCAL_NIM_CACHE:/opt/nim/.cache $IMG_NAME create-model-store -p 6f437946f8efbca34997428528d69b08974197de157460cbe36c34939dc99edb -m /tmp
INFO 08-12 19:49:47.629 pre_download.py:128] Fetching contents for profile 6f437946f8efbca34997428528d69b08974197de157460cbe36c34939dc99edb
INFO 08-12 19:49:47.629 pre_download.py:135] Copying contents for profile 6f437946f8efbca34997428528d69b08974197de157460cbe36c34939dc99edb to /tmp
检查 NIM 缓存#
- nim-llm-check-cache-env
检查 NIM 缓存目录是否存在且可写入。
示例#
docker run -it --rm --gpus all -v /bad_path:/opt/nim/.cache $IMG_NAME nim-llm-check-cache-env
WARNING 08-12 19:54:06.347 caches.py:30] /opt/nim/.cache is read-only, application may fail if model is not already present in cache
设置缓存环境变量#
- nim-llm-set-cache-env
将用于设置缓存环境变量的命令打印到控制台。
示例#
docker run -it --rm --gpus all -v $LOCAL_NIM_CACHE:/opt/nim/.cache $IMG_NAME nim-llm-set-cache-env
export NUMBA_CACHE_DIR=/tmp/numba
export NGC_HOME=/opt/nim/.cache/ngc
export HF_HOME=/opt/nim/.cache/huggingface
export VLLM_CONFIG_ROOT=/opt/nim/.cache/vllm/config
export VLLM_CACHE_ROOT=/opt/nim/.cache/vllm/cache