【免费下载】 NVIDIA Triton推理服务器GenAI-Perf性能测试工具详解
2026-02-04 04:26:42作者:仰钰奇
概述
GenAI-Perf是NVIDIA Triton推理服务器生态中的一款专业性能测试工具,专门用于评估生成式AI模型在推理服务器上的性能表现。该工具能够精确测量大语言模型(LLM)等生成式AI模型的关键性能指标,为系统优化和容量规划提供数据支持。
核心功能
1. 多维度性能指标测量
GenAI-Perf能够测量以下关键性能指标:
- 首令牌响应时间(Time to First Token):从发送请求到收到第一个响应令牌的时间
- 令牌间延迟(Inter Token Latency):生成连续令牌之间的平均延迟
- 请求总延迟(Request Latency):从发送请求到收到完整响应的时间
- 输出序列长度(Output Sequence Length):模型生成的令牌数量
- 输入序列长度(Input Sequence Length):输入提示的令牌数量
- 输出令牌吞吐量(Output Token Throughput):每秒生成的令牌数量
- 请求吞吐量(Request Throughput):每秒处理的请求数量
2. 多种模型支持
工具支持测试多种类型的生成式AI模型:
- 大语言模型(LLM)
- 视觉语言模型(Vision Language Models)
- 嵌入模型(Embedding Models)
- 排序模型(Ranking Models)
- 多LoRA适配器(Multiple LoRA Adapters)
安装指南
推荐安装方式
建议使用Triton Server SDK容器进行安装:
export RELEASE="24.06" # 示例版本号
docker run -it --net=host --gpus=all nvcr.io/nvidia/tritonserver:${RELEASE}-py3-sdk
源码安装方式
对于需要自定义安装的用户,可以按照以下步骤从源码安装:
- 先安装Perf Analyzer依赖:
pip install tritonclient
apt update && apt install -y --no-install-recommends libb64-0d libcurl4
- 然后安装GenAI-Perf:
git clone https://github.com/triton-inference-server/perf_analyzer.git
cd perf_analyzer
pip install -e genai-perf
快速入门
1. 启动GPT-2模型服务
首先需要启动一个GPT-2模型服务:
docker run -ti --gpus all --network=host --shm-size=1g \
-v /tmp:/tmp -v ${HOME}/models:/root/models \
nvcr.io/nvidia/tritonserver:24.05-trtllm-python-py3
# 安装Triton CLI并启动服务
pip install triton-cli
triton remove -m all
triton import -m gpt2 --backend tensorrtllm
triton start
2. 运行性能测试
在另一个终端中运行性能测试:
genai-perf profile \
-m gpt2 \
--service-kind triton \
--backend tensorrtllm \
--num-prompts 100 \
--synthetic-input-tokens-mean 200 \
--output-tokens-mean 100 \
--streaming \
--concurrency 1
3. 结果解读
测试完成后会输出类似以下结果:
LLM Metrics
┏━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━┳━━━━━━━━┳━━━━━━━━┳━━━━━━━━┳━━━━━━━━┓
┃ Statistic ┃ avg ┃ min ┃ max ┃ p99 ┃ p90 ┃ p75 ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━╇━━━━━━━━╇━━━━━━━━╇━━━━━━━━╇━━━━━━━━┩
│ Time to first token (ms) │ 11.70 │ 9.88 │ 17.21 │ 14.35 │ 12.01 │ 11.87 │
│ Inter token latency (ms) │ 1.46 │ 1.08 │ 1.89 │ 1.87 │ 1.62 │ 1.52 │
│ Request latency (ms) │ 161.24 │ 153.45 │ 200.74 │ 200.66 │ 179.43 │ 162.23 │
│ Output sequence length │ 103.39 │ 95.00 │ 134.00 │ 120.08 │ 107.30 │ 105.00 │
│ Input sequence length │ 200.01 │ 200.00 │ 201.00 │ 200.13 │ 200.00 │ 200.00 │
└──────────────────────────┴────────┴────────┴────────┴────────┴────────┴────────┘
Output token throughput (per sec): 635.61
Request throughput (per sec): 6.15
高级功能
1. 可视化分析
通过添加--generate-plots参数可以生成性能可视化图表:
genai-perf profile -m gpt2 --generate-plots
生成的图表包括:
- 首令牌时间分析
- 请求延迟分析
- 首令牌时间与输入序列长度关系
- 令牌间延迟与令牌位置关系
- 输入输出序列长度关系
2. 多测试结果对比
使用compare子命令可以对比多次测试结果:
genai-perf compare --files profile1.json profile2.json
对比结果会生成在compare目录下,包含配置文件和多种对比图表。
输入数据配置
GenAI-Perf支持三种输入数据来源:
-
合成数据:自动生成测试提示
- 控制参数:
--num-prompts,--synthetic-input-tokens-mean,--synthetic-input-tokens-stddev
- 控制参数:
-
HuggingFace数据集:使用真实数据集
- 支持数据集:
openorca,cnn_dailymail - 控制参数:
--input-dataset,--num-prompts
- 支持数据集:
-
自定义文件:使用JSON格式的自定义提示文件
- 控制参数:
--input-file
- 控制参数:
性能优化建议
- 并发设置:通过
--concurrency参数调整并发请求数,找到系统最佳负载点 - 输出长度控制:使用
--output-tokens-mean和--output-tokens-stddev控制输出长度,模拟真实场景 - 流式处理:对于长文本生成,启用
--streaming参数测试流式响应性能 - 确定性测试:添加
--output-tokens-mean-deterministic参数提高测试可重复性
注意事项
- GenAI-Perf目前处于早期发布阶段,命令行选项和功能可能会随着版本更新而变化
- 测试前确保推理服务器已正确启动并加载目标模型
- 对于准确测试,建议测试持续时间足够长以获得稳定结果
- 不同模型类型(LLM、Embedding等)可能需要不同的测试参数配置
通过合理配置GenAI-Perf工具,开发者可以全面评估生成式AI模型在Triton推理服务器上的性能表现,为生产环境部署提供可靠的数据支持。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0216
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0138
uni-appA cross-platform framework using Vue.jsJavaScript08
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03
热门内容推荐
最新内容推荐
项目优选
收起
deepin linux kernel
C
32
16
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
471
465
Ascend Extension for PyTorch
Python
758
968
昇腾LLM分布式训练框架
Python
186
231
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
698
1.4 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
878
2.03 K
暂无描述
Dockerfile
780
5.08 K
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
70
22
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.04 K
271
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
2.08 K
216