EvalScope模型推理压力测试

1. EvalScope简介

EvalScope是魔搭社区官方推出的模型评测与性能基准测试框架,内置多个常用测试基准和评测指标,如MMLU、CMMLU、C-Eval、GSM8K、ARC、HellaSwag、TruthfulQA、MATH和HumanEval等;支持多种类型的模型评测,包括LLM、多模态LLM、embedding模型和reranker模型。EvalScope还适用于多种评测场景,如端到端RAG评测、竞技场模式和模型推理性能压测等。此外,通过ms-swift训练框架的无缝集成,可一键发起评测,实现了模型训练到评测的全链路支持。

EvalScope 架构图

2. 环境安装

# 创建环境
conda create -n eval python==3.11.7 -y -y

# 安装evalscope,压力测试所需要的环境依赖
pip install evalscope[perf] -U

3. 指标说明

指标说明
Time taken for tests (s) 测试所用的时间(秒)
Number of concurrency 并发数量
Total requests 总请求数
Succeed requests 成功的请求数
Failed requests 失败的请求数
Throughput(average tokens/s) 吞吐量(平均每秒处理的token数)
Average QPS 平均每秒请求数(Queries Per Second)
Average latency (s) 平均延迟时间(秒)
Average time to first token (s) 平均首次token时间(秒)
Average time per output token (s) 平均每个输出token的时间(秒)
TTFT (s) Time to First Token,首次生成token的时间
TPOT (s) Time Per Output Token,生成每个输出token的时间
Latency (s) 延迟时间,指请求到响应之间的时间
Input tokens 输入的token数量
Output tokens 输出的token数量
Throughput (tokens/s) 吞吐量,指每秒处理token的数量

4. 推理压测

evalscope的推理压力测试支持本地transformer推理和本地vLLM推理。

本文中使用的模型:DeepSeek-R1-Distill-Qwen-14B

硬件环境:4090 24GB * 2

本地transformer推理

运行脚本

CUDA_VISIBLE_DEVICES=0,1 evalscope perf \
 --parallel 1 \
 --model /root/models/DeepSeek-R1-Distill-Qwen-14B \
 --attn-implementation flash_attention_2 \  # 提前安装flash-attention
 --log-every-n-query 5 \
 --connect-timeout 6000 \
 --read-timeout 6000 \
 --max-tokens 2048 \
 --min-tokens 2048 \
 --api local \
 --dataset speed_benchmark \
 --debug

测试结果

+---------------+-----------------+----------------+
| Prompt Tokens | Speed(tokens/s) | GPU Memory(GB) |
+---------------+-----------------+----------------+
|       2       |      15.59      |      28.06     |
|     6145      |      15.49      |      30.16     |
|     14337     |      15.28      |      33.48     |
+---------------+-----------------+----------------+

 

本地vLLM推理

运行脚本

CUDA_VISIBLE_DEVICES=0,1 evalscope perf \
 --parallel 1 \
 --model /root/models/DeepSeek-R1-Distill-Qwen-14B \
 --log-every-n-query 5 \
 --connect-timeout 6000 \
 --read-timeout 6000 \
 --max-tokens 2048 \
 --min-tokens 2048 \
 --api local_vllm \
 --dataset speed_benchmark \
 --port 8001

测试结果

+---------------+-----------------+----------------+
| Prompt Tokens | Speed(tokens/s) | GPU Memory(GB) |
+---------------+-----------------+----------------+
|       2       |      49.23      |      0.0       |
|     6145      |      46.28      |      0.0       |
|     14337     |      36.75      |      0.0       |
+---------------+-----------------+----------------+
GPU使用情况通过torch.cuda.max_memory_allocated函数获取,因此此处不展示GPU使用情况。
转:https://zhuanlan.zhihu.com/p/23926434400
posted @ 2026-06-10 22:51  rmticocean  阅读(22)  评论(0)    收藏  举报