性能#
您可以使用 perf_analyzer
工具来基准测试 NVIDIA NIM for Multimodal Safety 的性能。perf_analyzer
已预装在 NVIDIA Triton Inference Server SDK 容器中。
步骤#
创建目录 input_dir
并添加包含示例有效负载的 json 文件
mkdir input_dir input_image_path="input.jpg" # download an example image curl https://assets.ngc.nvidia.com/products/api-catalog/sdxl/sdxl1.jpg > $input_image_path image_b64=$(base64 $input_image_path) echo '{ "data": [ { "payload": [ { "input": ["data:image/png;base64,'${image_b64}'"] } ] } ] }' > input_dir/input.jsonmkdir input_dir input_image_path="input.jpg" # download an example image curl https://assets.ngc.nvidia.com/products/api-catalog/deepfake-image-detection/input/deepfake.jpg > $input_image_path image_b64=$(base64 $input_image_path) echo '{ "data": [ { "payload": [ { "input": ["data:image/png;base64,'${image_b64}'"] } ] } ] }' > input_dir/input.json
使用以下示例来运行 Triton Inference Server SDK Docker 容器,挂载目录 input_dir
和 output_dir
。
export RELEASE="24.09" docker run -it --rm --name=performance_benchmark \ --runtime=nvidia \ --network="host" \ -v $(pwd)/input_dir:/input_dir \ -v $(pwd)/output_dir:/output_dir \ --entrypoint perf_analyzer \ nvcr.io/nvidia/tritonserver:${RELEASE}-py3-sdk \ -m ai-generated-image-detection --async \ --service-kind openai \ -u http://127.0.0.1:8003 \ --endpoint v1/infer \ --input-data /input_dir/input.json \ --measurement-interval 15000 \ --request-count 10 \ --profile-export-file /output_dir/profile_export_ai-generated-image-detection.json \ -f /output_dir/latency_report.csv \ --verbose \ --verbose-csv \ -i http \ --concurrency-range 1 \ --max-threads 1export RELEASE="24.09" docker run -it --rm --name=performance_benchmark \ --runtime=nvidia \ --network="host" \ -v $(pwd)/input_dir:/input_dir \ -v $(pwd)/output_dir:/output_dir \ --entrypoint perf_analyzer \ nvcr.io/nvidia/tritonserver:${RELEASE}-py3-sdk \ -m deepfake-image-detection --async \ --service-kind openai \ -u http://127.0.0.1:8003 \ --endpoint v1/infer \ --input-data /input_dir/input.json \ --measurement-interval 15000 \ --request-count 10 \ --profile-export-file /output_dir/profile_export_deepfake-image-detection.json \ -f /output_dir/latency_report.csv \ --verbose \ --verbose-csv \ -i http \ --concurrency-range 1 \ --max-threads 1
perf_analyzer 工具会在 $(pwd)/output_dir
中创建两个文件。latency_report.csv
文件包含平均延迟和百分位数延迟数据。profile_export_stable-diffusion-xl.json
文件包含每个请求的详细结果。
您可以在文档的命令行选项部分查看 perf_analyzer
的完整命令行选项集。
模型结果#
在下表中,您可以找到模型的运行结果。延迟选项卡由 perf_analyzer
工具生成,而 throughput
是基于延迟计算得出的。
后端 |
客户端并发数 |
延迟 (秒) |
||||
---|---|---|---|---|---|---|
平均值 |
p50 |
p90 |
p95 |
p99 |
||
ONNX |
1 |
0.019 |
0.019 |
0.019 |
0.020 |
0.023 |
TensorRT |
1 |
0.017 |
0.016 |
0.016 |
0.018 |
0.021 |
ONNX |
2 |
0.021 |
0.020 |
0.023 |
0.024 |
0.026 |
TensorRT |
2 |
0.019 |
0.018 |
0.020 |
0.021 |
0.022 |
ONNX |
4 |
0.032 |
0.031 |
0.032 |
0.033 |
0.051 |
TensorRT |
4 |
0.025 |
0.024 |
0.025 |
0.026 |
0.043 |
ONNX |
8 |
0.064 |
0.063 |
0.064 |
0.066 |
0.096 |
TensorRT |
8 |
0.050 |
0.050 |
0.058 |
0.063 |
0.081 |
后端 |
客户端并发数 |
吞吐量 |
||||
---|---|---|---|---|---|---|
平均值 |
p50 |
p90 |
p95 |
p99 |
||
ONNX |
1 |
51.549 |
53.660 |
52.372 |
51.000 |
44.006 |
TensorRT |
1 |
59.716 |
62.996 |
60.890 |
54.363 |
47.188 |
ONNX |
2 |
47.728 |
48.859 |
43.970 |
41.852 |
38.029 |
TensorRT |
2 |
53.172 |
54.357 |
49.388 |
46.795 |
44.488 |
ONNX |
4 |
31.528 |
31.969 |
31.108 |
30.170 |
19.701 |
TensorRT |
4 |
40.737 |
41.733 |
39.404 |
38.494 |
23.527 |
ONNX |
8 |
15.719 |
15.803 |
15.588 |
15.143 |
10.370 |
TensorRT |
8 |
19.824 |
20.139 |
17.195 |
15.842 |
12.282 |
后端 |
客户端并发数 |
延迟 (秒) |
||||
---|---|---|---|---|---|---|
平均值 |
p50 |
p90 |
p95 |
p99 |
||
ONNX |
1 |
0.028 |
0.027 |
0.030 |
0.032 |
0.036 |
TensorRT |
1 |
0.024 |
0.022 |
0.029 |
0.030 |
0.035 |
ONNX |
2 |
0.026 |
0.026 |
0.026 |
0.027 |
0.037 |
TensorRT |
2 |
0.024 |
0.023 |
0.026 |
0.028 |
0.035 |
ONNX |
4 |
0.043 |
0.044 |
0.045 |
0.045 |
0.059 |
TensorRT |
4 |
0.030 |
0.029 |
0.034 |
0.036 |
0.047 |
ONNX |
8 |
0.084 |
0.084 |
0.085 |
0.085 |
0.121 |
TensorRT |
8 |
0.061 |
0.061 |
0.074 |
0.076 |
0.092 |
后端 |
客户端并发数 |
吞吐量 |
||||
---|---|---|---|---|---|---|
平均值 |
p50 |
p90 |
p95 |
p99 |
||
ONNX |
1 |
35.877 |
37.365 |
32.900 |
31.207 |
27.956 |
TensorRT |
1 |
41.386 |
45.000 |
34.538 |
33.011 |
28.441 |
ONNX |
2 |
38.204 |
38.739 |
37.872 |
36.731 |
27.217 |
TensorRT |
2 |
41.878 |
43.371 |
38.244 |
35.827 |
28.816 |
ONNX |
4 |
23.358 |
22.958 |
22.407 |
22.288 |
17.069 |
TensorRT |
4 |
33.574 |
34.999 |
29.802 |
28.080 |
21.103 |
ONNX |
8 |
11.895 |
11.925 |
11.804 |
11.708 |
8.284 |
TensorRT |
8 |
16.415 |
16.337 |
13.591 |
13.163 |
10.882 |
后端 |
客户端并发数 |
延迟 (秒) |
||||
---|---|---|---|---|---|---|
平均值 |
p50 |
p90 |
p95 |
p99 |
||
ONNX |
1 |
0.019 |
0.019 |
0.019 |
0.021 |
0.022 |
TensorRT |
1 |
0.017 |
0.016 |
0.016 |
0.018 |
0.021 |
ONNX |
2 |
0.021 |
0.020 |
0.021 |
0.021 |
0.025 |
TensorRT |
2 |
0.019 |
0.018 |
0.020 |
0.020 |
0.033 |
ONNX |
4 |
0.030 |
0.029 |
0.030 |
0.031 |
0.047 |
TensorRT |
4 |
0.025 |
0.024 |
0.026 |
0.027 |
0.043 |
ONNX |
8 |
0.059 |
0.059 |
0.060 |
0.062 |
0.091 |
TensorRT |
8 |
0.050 |
0.050 |
0.057 |
0.058 |
0.073 |
后端 |
客户端并发数 |
吞吐量 |
||||
---|---|---|---|---|---|---|
平均值 |
p50 |
p90 |
p95 |
p99 |
||
ONNX |
1 |
51.345 |
53.208 |
52.029 |
48.714 |
44.649 |
TensorRT |
1 |
60.230 |
62.802 |
61.561 |
56.539 |
46.520 |
ONNX |
2 |
48.382 |
49.024 |
47.304 |
46.548 |
39.968 |
TensorRT |
2 |
52.793 |
54.484 |
49.868 |
49.444 |
30.026 |
ONNX |
4 |
33.655 |
34.337 |
33.080 |
31.800 |
21.474 |
TensorRT |
4 |
40.406 |
41.535 |
37.981 |
36.584 |
23.359 |
ONNX |
8 |
16.836 |
16.856 |
16.708 |
16.181 |
10.987 |
TensorRT |
8 |
20.039 |
20.047 |
17.648 |
17.380 |
13.673 |
后端 |
客户端并发数 |
延迟 (秒) |
||||
---|---|---|---|---|---|---|
平均值 |
p50 |
p90 |
p95 |
p99 |
||
ONNX |
1 |
0.021 |
0.020 |
0.021 |
0.021 |
0.024 |
TensorRT |
1 |
0.018 |
0.018 |
0.018 |
0.018 |
0.022 |
ONNX |
2 |
0.021 |
0.021 |
0.021 |
0.022 |
0.027 |
TensorRT |
2 |
0.020 |
0.019 |
0.023 |
0.025 |
0.032 |
ONNX |
4 |
0.032 |
0.032 |
0.033 |
0.033 |
0.051 |
TensorRT |
4 |
0.024 |
0.023 |
0.026 |
0.030 |
0.042 |
ONNX |
8 |
0.064 |
0.062 |
0.063 |
0.068 |
0.099 |
TensorRT |
8 |
0.054 |
0.053 |
0.061 |
0.066 |
0.088 |
后端 |
客户端并发数 |
吞吐量 |
||||
---|---|---|---|---|---|---|
平均值 |
p50 |
p90 |
p95 |
p99 |
||
ONNX |
1 |
47.939 |
49.490 |
48.365 |
47.929 |
41.721 |
TensorRT |
1 |
55.794 |
56.718 |
55.060 |
54.289 |
45.681 |
ONNX |
2 |
48.107 |
48.731 |
47.110 |
46.134 |
36.464 |
TensorRT |
2 |
51.101 |
53.476 |
44.076 |
40.380 |
31.309 |
ONNX |
4 |
30.902 |
31.454 |
30.610 |
29.928 |
19.714 |
TensorRT |
4 |
41.341 |
42.713 |
37.887 |
33.756 |
24.096 |
ONNX |
8 |
15.733 |
16.116 |
15.830 |
14.684 |
10.089 |
TensorRT |
8 |
18.662 |
18.813 |
16.433 |
15.142 |
11.318 |
后端 |
客户端并发数 |
延迟 (秒) |
||||
---|---|---|---|---|---|---|
平均值 |
p50 |
p90 |
p95 |
p99 |
||
ONNX |
1 |
0.052 |
0.052 |
0.054 |
0.055 |
0.058 |
TensorRT |
1 |
0.045 |
0.045 |
0.046 |
0.046 |
0.047 |
ONNX |
2 |
0.066 |
0.066 |
0.068 |
0.069 |
0.088 |
TensorRT |
2 |
0.054 |
0.054 |
0.054 |
0.055 |
0.055 |
ONNX |
4 |
0.135 |
0.136 |
0.139 |
0.140 |
0.141 |
TensorRT |
4 |
0.105 |
0.105 |
0.110 |
0.110 |
0.116 |
ONNX |
8 |
0.260 |
0.262 |
0.273 |
0.273 |
0.301 |
TensorRT |
8 |
0.207 |
0.213 |
0.215 |
0.218 |
0.237 |
后端 |
客户端并发数 |
吞吐量 |
||||
---|---|---|---|---|---|---|
平均值 |
p50 |
p90 |
p95 |
p99 |
||
ONNX |
1 |
19.068 |
19.247 |
18.379 |
18.211 |
17.234 |
TensorRT |
1 |
22.057 |
22.072 |
21.914 |
21.868 |
21.317 |
ONNX |
2 |
15.128 |
15.158 |
14.658 |
14.494 |
11.427 |
TensorRT |
2 |
18.389 |
18.490 |
18.355 |
18.291 |
18.077 |
ONNX |
4 |
7.380 |
7.378 |
7.200 |
7.153 |
7.086 |
TensorRT |
4 |
9.485 |
9.550 |
9.121 |
9.097 |
8.601 |
ONNX |
8 |
3.843 |
3.811 |
3.664 |
3.662 |
3.321 |
TensorRT |
8 |
4.829 |
4.700 |
4.652 |
4.591 |
4.221 |
后端 |
客户端并发数 |
延迟 (秒) |
||||
---|---|---|---|---|---|---|
平均值 |
p50 |
p90 |
p95 |
p99 |
||
ONNX |
1 |
0.072 |
0.061 |
0.131 |
0.139 |
0.151 |
TensorRT |
1 |
0.060 |
0.054 |
0.068 |
0.106 |
0.120 |
ONNX |
2 |
0.155 |
0.153 |
0.196 |
0.207 |
0.230 |
TensorRT |
2 |
0.130 |
0.130 |
0.159 |
0.173 |
0.192 |
ONNX |
4 |
0.291 |
0.291 |
0.345 |
0.375 |
0.464 |
TensorRT |
4 |
0.229 |
0.213 |
0.293 |
0.303 |
0.336 |
ONNX |
8 |
0.595 |
0.605 |
0.717 |
0.779 |
0.804 |
TensorRT |
8 |
0.498 |
0.511 |
0.605 |
0.670 |
0.712 |
后端 |
客户端并发数 |
吞吐量 |
||||
---|---|---|---|---|---|---|
平均值 |
p50 |
p90 |
p95 |
p99 |
||
ONNX |
1 |
13.927 |
16.274 |
7.652 |
7.202 |
6.603 |
TensorRT |
1 |
16.738 |
18.420 |
14.677 |
9.410 |
8.346 |
ONNX |
2 |
6.440 |
6.546 |
5.091 |
4.827 |
4.349 |
TensorRT |
2 |
7.708 |
7.715 |
6.270 |
5.768 |
5.209 |
ONNX |
4 |
3.436 |
3.434 |
2.895 |
2.664 |
2.156 |
TensorRT |
4 |
4.361 |
4.703 |
3.417 |
3.303 |
2.974 |
ONNX |
8 |
1.680 |
1.652 |
1.395 |
1.283 |
1.244 |
TensorRT |
8 |
2.010 |
1.957 |
1.653 |
1.492 |
1.404 |
后端 |
客户端并发数 |
延迟 (秒) |
||||
---|---|---|---|---|---|---|
平均值 |
p50 |
p90 |
p95 |
p99 |
||
ONNX |
1 |
0.053 |
0.052 |
0.054 |
0.055 |
0.055 |
TensorRT |
1 |
0.044 |
0.044 |
0.044 |
0.045 |
0.047 |
ONNX |
2 |
0.065 |
0.064 |
0.067 |
0.067 |
0.069 |
TensorRT |
2 |
0.052 |
0.051 |
0.053 |
0.053 |
0.053 |
ONNX |
4 |
0.129 |
0.130 |
0.131 |
0.131 |
0.140 |
TensorRT |
4 |
0.105 |
0.104 |
0.109 |
0.110 |
0.110 |
ONNX |
8 |
0.252 |
0.258 |
0.261 |
0.263 |
0.290 |
TensorRT |
8 |
0.201 |
0.204 |
0.208 |
0.209 |
0.231 |
后端 |
客户端并发数 |
吞吐量 |
||||
---|---|---|---|---|---|---|
平均值 |
p50 |
p90 |
p95 |
p99 |
||
ONNX |
1 |
18.985 |
19.092 |
18.464 |
18.326 |
18.084 |
TensorRT |
1 |
22.625 |
22.665 |
22.582 |
22.422 |
21.205 |
ONNX |
2 |
15.423 |
15.531 |
14.999 |
14.927 |
14.531 |
TensorRT |
2 |
19.255 |
19.421 |
19.041 |
18.991 |
18.890 |
ONNX |
4 |
7.738 |
7.677 |
7.614 |
7.610 |
7.133 |
TensorRT |
4 |
9.525 |
9.616 |
9.156 |
9.126 |
9.115 |
ONNX |
8 |
3.974 |
3.880 |
3.825 |
3.802 |
3.450 |
TensorRT |
8 |
4.984 |
4.901 |
4.799 |
4.785 |
4.326 |
后端 |
客户端并发数 |
延迟 (秒) |
||||
---|---|---|---|---|---|---|
平均值 |
p50 |
p90 |
p95 |
p99 |
||
ONNX |
1 |
0.049 |
0.049 |
0.051 |
0.051 |
0.053 |
TensorRT |
1 |
0.038 |
0.037 |
0.038 |
0.038 |
0.039 |
ONNX |
2 |
0.069 |
0.069 |
0.071 |
0.071 |
0.077 |
TensorRT |
2 |
0.048 |
0.048 |
0.048 |
0.049 |
0.052 |
ONNX |
4 |
0.137 |
0.138 |
0.143 |
0.144 |
0.145 |
TensorRT |
4 |
0.096 |
0.096 |
0.099 |
0.099 |
0.099 |
ONNX |
8 |
0.273 |
0.281 |
0.284 |
0.285 |
0.300 |
TensorRT |
8 |
0.186 |
0.190 |
0.194 |
0.195 |
0.217 |
后端 |
客户端并发数 |
吞吐量 |
||||
---|---|---|---|---|---|---|
平均值 |
p50 |
p90 |
p95 |
p99 |
||
ONNX |
1 |
20.430 |
20.473 |
19.768 |
19.651 |
18.958 |
TensorRT |
1 |
26.621 |
26.727 |
26.312 |
26.153 |
25.696 |
ONNX |
2 |
14.547 |
14.552 |
14.141 |
14.007 |
12.949 |
TensorRT |
2 |
20.882 |
20.933 |
20.695 |
20.390 |
19.282 |
ONNX |
4 |
7.289 |
7.264 |
7.016 |
6.968 |
6.879 |
TensorRT |
4 |
10.397 |
10.390 |
10.151 |
10.115 |
10.073 |
ONNX |
8 |
3.666 |
3.562 |
3.519 |
3.511 |
3.335 |
TensorRT |
8 |
5.366 |
5.262 |
5.157 |
5.117 |
4.598 |