NVIDIA Triton推理服务器GenAI-Perf性能测试工具详解

NVIDIA Triton推理服务器GenAI-Perf性能测试工具详解

概述

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

源码安装方式

对于需要自定义安装的用户,可以按照以下步骤从源码安装:

  1. 先安装Perf Analyzer依赖:
pip install tritonclient
apt update && apt install -y --no-install-recommends libb64-0d libcurl4
  1. 然后安装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支持三种输入数据来源:

  1. 合成数据:自动生成测试提示

    • 控制参数:--num-prompts, --synthetic-input-tokens-mean, --synthetic-input-tokens-stddev
  2. HuggingFace数据集:使用真实数据集

    • 支持数据集:openorca, cnn_dailymail
    • 控制参数:--input-dataset, --num-prompts
  3. 自定义文件:使用JSON格式的自定义提示文件

    • 控制参数:--input-file

性能优化建议

  1. 并发设置:通过--concurrency参数调整并发请求数,找到系统最佳负载点
  2. 输出长度控制:使用--output-tokens-mean--output-tokens-stddev控制输出长度,模拟真实场景
  3. 流式处理:对于长文本生成,启用--streaming参数测试流式响应性能
  4. 确定性测试:添加--output-tokens-mean-deterministic参数提高测试可重复性

注意事项

  1. GenAI-Perf目前处于早期发布阶段,命令行选项和功能可能会随着版本更新而变化
  2. 测试前确保推理服务器已正确启动并加载目标模型
  3. 对于准确测试,建议测试持续时间足够长以获得稳定结果
  4. 不同模型类型(LLM、Embedding等)可能需要不同的测试参数配置

通过合理配置GenAI-Perf工具,开发者可以全面评估生成式AI模型在Triton推理服务器上的性能表现,为生产环境部署提供可靠的数据支持。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

京东通过采用NVIDIATriton推理服务器成功地优化了深度学习模型的推理性能,并有效管理了多运行时和模型监控。首先,Triton提供了一套完整的解决方案来优化推理性能,包括但不限于通过调度算法优化计算资源的分配,以及利用模型缓存机制提升响应速度。此外,Triton支持多运行时环境,允许在同一服务器上部署和运行不同深度学习框架和模型,为京东提供了一种灵活且统一的模型管理方式。 参考资源链接:[京东Triton实践:深度学习推理优化与部署](https://wenku.csdn.net/doc/7unwyyjojf) 在模型监控方面,Triton支持实时的性能监控和日志记录,这使得京东能够对模型执行的各个环节进行细致的分析,从而及时发现并解决性能瓶颈。同时,Triton的统一接口设计也简化了不同模型的集成和部署过程,降低了系统开发和运维的复杂度。 为了进一步提升资源利用率,京东可以利用Triton的自定义算子和后端编译器功能,对特定业务场景进行深度优化。结合模型并行和数据并行技术,可以将计算任务合理地分配到不同的GPU和CPU资源上,实现计算资源的最大化利用。 综合以上措施,京东能够确保其深度学习推理服务在满足不断增长的业务需求的同时,保持高性能和资源高效管理。如果希望深入掌握Triton在实际业务中的应用和优化技术,推荐阅读《京东Triton实践:深度学习推理优化与部署》。该书不仅详细介绍了京东如何通过Triton解决实际问题,还深入探讨了在复杂业务场景下推理性能优化的策略,为相关从业者提供了宝贵的经验和实用的指导。 参考资源链接:[京东Triton实践:深度学习推理优化与部署](https://wenku.csdn.net/doc/7unwyyjojf)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倪姿唯Kara

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值