推理性能白皮书
本文提供Fabric推理服务使用性能测试平台进行性能测试的方法和测试数据报告。
测试环境
- 局点:华为云-Fabric测试环境。
- 测试时间:2024年11月30日。
- 推理服务及其相关资源列表:
推理服务名称
使用模型类型
资源规格
算力数量(MU)
实例数量
LLama-3-8B
LLAMA_3_8B
mu.llama3.8b
2
1
LLama-3-70B
LLAMA_3_70B
mu.llama3.70b
8
1
LLama-3.1-8B
LLAMA_3.1_8B
mu.llama3.1.8b
2
1
LLama-3.1-70B
LLAMA_3.1_70B
mu.llama3.1.70b
8
1
QWEN-2-72B
QWEN_2_72B
mu.qwen2.72b
8
1
GLM-4-9B
GLM_4_9B
mu.glm4.9b
2
1
测试工具
本文使用JMeter进行测试。JMeter是一款用于测试性能的开源软件,它可以模拟多种协议的服务器和客户端,例如HTTP、FTP 、SMTP等。它可以用来测试Web应用程序,也可以用于测试数据库连接、 FTP服务器等。 JMeter还支持自定义和预定义的脚本,可以模拟不同的负载,并支持分布式测试。
JMeter依赖于JDK,所以必须确保当前计算机上已经安装了JDK,并且配置了环境变量。您可以从Apache JMeter官网下载。
测试方法
- 登录Fabric控制台,在目标工作空间区域,单击“进入工作空间”。
- 在左侧菜单栏选择“资源与资产 > 模型”,然后在页面右上角单击“创建模型”,填写模型的基本信息,包括名称、描述等,并选择模型文件的OBS路径,然后单击“立即创建”。
- 在左侧菜单栏选择“资源与资产 > 推理端点”,然后在页面右上角单击“创建推理端点”,填写端点的名称、使用的资源规格和数量,单击“立即创建”。
- 在左侧菜单栏选择“开发与生产 > 推理服务”,然后在页面右上角单击“创建推理服务”,填写推理服务的名称、描述等基本信息,并选择推理端点和模型,配置资源最小值和最大值,单击“立即创建”。
- 在左侧菜单栏选择“开发与生产 > 试验场”,选择目标推理服务进行推理调试。
- 使用测试工具并发推理。
测试指标
RPM(Request Per Minute)是指每分钟请求数,是衡量系统性能的一个重要指标。它表示在一分钟内,系统能够处理的请求数量。RPM是衡量模型处理能力的一个关键指标,反映了模型在给定时间内能够处理的请求数量。
测试数据
- 输入数据1:
该数据是比较简短的一个问题,且回答的max_tokens是256。
{ "type":"ChatCompletionRequest", "messages": [ { "role": "user", "content": "What is LLM? What is different between different LLM?" } ], "max_tokens": 256, "stream":true }
- 输入数据2:
该数据是中等长度的问题,且回答的max_tokens是2048。
{ "type":"ChatCompletionRequest", "messages": [ { "role": "user", "content": "Please write a novel and the word size should more than 2000, requirements:1.Setting: Village, ancient forest, bustling city, forgotten island, futuristic metropolis, enchanted castle. 2.Protagonist: Orphaned child, disgraced knight, brilliant scientist, secret agent, reclusive artist, adventurous explorer.3.Antagonist: Shadowy figure, corrupt politician, malevolent sorcerer, rival adventurer, robotic overlord, vengeful ghost.4.Conflict: Quest for revenge, search for a lost artifact, battle for power, love triangle, struggle against fate, resistance against tyranny.2000-Word Requirement Guideline: Writing a 2000-word novel can be challenging, but it's also a great way to hone your writing skills and tell a concise, compelling story. Here are some tips to help you meet the word count while maintaining quality:1.Outline Your Story: Before you start writing, take some time to outline your story. Decide on your main plot points, character arcs, and the overall theme you want to explore. This will help you stay focused and ensure that your story has a clear structure.2.Focus on Key Scenes: With a limited word count, you need to prioritize the most important scenes. Focus on the scenes that drive the plot forward, reveal character development, and create tension. Avoid unnecessary descriptions and subplots that don't contribute to the overall story.3.Show, Don't Tell: Use vivid, sensory details to bring your story to life. Instead of telling readers what's happening, show them through dialogue, actions, and internal monologue. This will make your writing more engaging and help you use your words more effectively.4.Edit Ruthlessly: As you write, be prepared to cut out anything that doesn't add value to your story. This might include redundant descriptions, unnecessary characters, or scenes that don't move the plot forward. Remember, every word should count." } ], "max_tokens": 2048, "stream":true }
测试结果
- 基于输入数据1进行测试,并发度为64,测试结果如下:
表1 输入数据1的测试结果 模型名称
测试类型
数量
max token
测试时间(s)
成功率
状态码
总请求数
平均时延(ms)
TP99时延(ms)
每秒事务数
RPM
LLama-3-8B
并发
64
256
300
100%
200
2090
9231
32615
7.01
420.6
LLama-3-70B
并发
64
256
300
100%
200
420
43072
68082
1.79
107.4
LLama-3.1-8B
并发
64
256
300
100%
200
960
20453
51011
3.27
196.2
LLama-3.1-70B
并发
64
256
300
100%
200
679
29975
44826
2.29
137.4
QWEN-2-72B
并发
64
256
300
100%
200
8706
2212
4915
29.02
1741.2
GLM-4-9B
并发
64
256
300
100%
200
578
35655
66167
1.93
115.8
- 基于输入数据2进行测试,并发度为16,测试结果如下:
推理请求的响应时长根据请求的输入Token、输出Token和参数的变化而变化,下表的数值仅供参考,实际可能差异比较大。
表2 输入数据2的测试结果 模型名称
测试类型
数量
max token
测试时间(s)
成功率
状态码
总请求数
平均时延(ms)
TP99时延(ms)
每秒事务数
RPM
LLama-3-8B
并发
16
2048
300
100%
200
96
51636
96797
0.32
19.2
LLama-3-70B
并发
16
2048
300
100%
200
82
64296
74727
0.27
16.2
LLama-3.1-8B
并发
16
2048
300
100%
200
192
26072
38645
0.68
40.8
LLama-3.1-70B
并发
16
2048
300
100%
200
64
85552
103198
0.22
13.2
QWEN-2-72B
并发
16
2048
600
100%
200
197
51260
75031
0.33
19.8
GLM-4-9B
并发
16
2048
300
100%
200
137
37630
52302
0.46
27.6