Shortcuts

api_server 性能测试

api_server 的测试方式与求吞吐量测试方法类似。不同的是,在测试前,需要先启动 api_server,然后再通过测试脚本发送请求进行测试。

测试脚本是 profile_restful_api.py。测试之前,请安装 lmdeploy 预编译包,并下载评测脚本和测试数据集。

pip install lmdeploy
git clone --depth=1 https://github.com/InternLM/lmdeploy
cd lmdeploy/benchmark
wget https://huggingface.co/datasets/anon8231489123/ShareGPT_Vicuna_unfiltered/resolve/main/ShareGPT_V3_unfiltered_cleaned_split.json

测量指标

LMDeploy 统计首token延时(first_token_latency)、token吞吐量(tokens/s)和请求吞吐量(RPM)。

first_token_latency 只有在流式推理的情况下才会输出。

token吞吐量的计算公式为:

$$ 吞吐量 = 生成的token数量 / 总时间 $$

请求吞吐量的计算公式为:

$$ 吞吐量 = 请求数量 / 总时间 $$

总时间包括 prefill 时间

测量方法

我们以 internlm/internlm-7b 为例,展示 api_server 的性能测试流程

启动服务

lmdeploy serve api_server internlm/internlm-7b

如果你想改变 server 的端口,或者诸如推理引擎、最大批处理值等参数,请运行 lmdeploy serve api_server -h 或者阅读这篇文档,查看详细的参数说明。

测速

python3 profile_restful_api.py http://0.0.0.0:23333 internlm/internlm-7b ./ShareGPT_V3_unfiltered_cleaned_split.json

关于 profile_restful_api.py 脚本中的参数,比如请求并发数、采样参数等等,可以通过运行命令 python3 profile_restful_api.py -h 查阅。

Read the Docs v: latest
Versions
latest
stable
v0.4.1
v0.4.0
v0.3.0
v0.2.6
v0.2.5
v0.2.4
v0.2.3
v0.2.2
v0.2.0
v0.1.0
Downloads
pdf
html
epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.