概述
Triton 推理服务器是一种开源推理服务软件,可简化 AI 推理。Triton 使团队能够部署来自多个深度学习和机器学习框架的任何 AI 模型,包括 TensorRT、TensorFlow、PyTorch、ONNX、OpenVINO、Python、RAPIDS FIL 等。Triton 支持在 NVIDIA GPU、x86 和 ARM CPU 或 AWS Inferentia 上跨云、数据中心、边缘和嵌入式设备进行推理。Triton 为许多查询类型提供优化的性能,包括实时、批处理、集成和音频/视频流。
操作
按照官网的 QuickStart,是很容易测试的。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# Step 1: Create the example model repository
git clone -b r23.03 https://github.com/triton-inference-server/server.git
cd server/docs/examples
./fetch_models.sh
# Step 2: Launch triton from the NGC Triton container
docker run --gpus=1 --rm --net=host -v ${PWD}/model_repository:/models nvcr.io/nvidia/tritonserver:23.03-py3 tritonserver --model-repository=/models
# Step 3: Sending an Inference Request
# In a separate console, launch the image_client example from the NGC Triton SDK container
docker run -it --rm --net=host nvcr.io/nvidia/tritonserver:23.03-py3-sdk /workspace/install/bin/image_client -m densenet_onnx -c 3 -s INCEPTION /workspace/images/mug.jpg
# Inference should return the following
Image '/workspace/images/mug.jpg':
15.346230 (504) = COFFEE MUG
13.224326 (968) = CUP
10.422965 (505) = COFFEEPOT
|
需要考虑物理机上的 GPU 的驱动版本,详情可以查看参考资料中的软件矩阵,如果使用的镜像中报错了,可以考虑降低几个版本再重新测试。
Triton Model Analyzer
Single-Model Quick Start 查看这个。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# 正常运行
docker run --rm --runtime=nvidia -it --gpus all \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(pwd)/examples/quick-start:$(pwd)/examples/quick-start \
-v /root/tritonmodel:/root/tritonmodel \
--net=host nvcr.io/nvidia/tritonserver:23.03-py3-sdk
docker run -it --gpus all \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(pwd)/examples/quick-start:$(pwd)/examples/quick-start \
-v <path-to-output-model-repo>:<path-to-output-model-repo> \
--net=host nvcr.io/nvidia/tritonserver:23.03-py3-sdk
# 官方运行
docker run -it --gpus all \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(pwd)/examples/quick-start:$(pwd)/examples/quick-start \
-v /home/output:/home/output \
--net=host nvcr.io/nvidia/tritonserver:23.03-py3-sdk
# issue
docker run -it --rm --gpus all -v /var/run/docker.sock:/var/run/docker.sock \
-v D:/triton-inference-server/model_repository:/models \
-v /model_out:/model_out
-v D:/triton-inference-server/model_analyzer/profile_results:/profile_results --net=host nvcr.io/nvidia/tritonserver:23.03-py3-sdk
rm -rf /tmp/rs
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
mkdir testtriton && cd testtriton
git init && git remote add -f origin https://github.com/triton-inference-server/model_analyzer.git
git config core.sparseCheckout true && \
echo 'examples' >> .git/info/sparse-checkout && \
git pull origin main
mkdir /tmp/testtriton
docker run --rm --runtime=nvidia -it --gpus all \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(pwd)/examples/quick-start:$(pwd)/examples/quick-start \
-v /tmp/testtriton:/tmp/testtriton \
--net=host nvcr.io/nvidia/tritonserver:23.03-py3-sdk
mkdir profile_results
model-analyzer profile \
--model-repository /root/testtriton/examples/quick-start \
--profile-models add_sub --triton-launch-mode=docker \
--output-model-repository-path /tmp/output-model-repository-path \
--export-path profile_results
|
参考资料
- Frameworks Support Matrix - 这是一个非常有用的镜像软件矩阵
- NVIDIA Deep Learning Examples for Tensor Cores - Star很多的官方开源的Notebook学习工具
- NVIDIA Triton
警告
本文最后更新于 2023年7月12日,文中内容可能已过时,请谨慎参考。