2026年7月2日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

【AI-智算】DeepSeek-r1:671b性能压测&H100

发布日期:2025-03-11 22:07:31 浏览次数: 4572
作者:阿程iwiki

微信搜一搜,关注“阿程iwiki”

推荐语

深入解析AI推理集群性能优化,揭秘DeepSeek-r1在大规模并发下的表现。

核心内容:
1. DeepSeek-r1推理集群在实际使用中遇到的性能挑战
2. 选择的LLM性能压测工具及其特点
3. 测试环境配置及软件环境设置

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

 

前言

继上次结合K8s、SGLang、LWS 等技术栈,完成分布式 DeepSeek-r1 推理集群的部署后,经过几天的实际使用,发现当并发数达到一定阈值时,性能出现下降。为进一步评估和优化集群性能,现对已部署的 DeepSeek-r1 推理集群进行深入的性能压测。

选型LLM 性能压测工具

经过调研,选择 推理引擎 SGLang 自带的 sglang.bench_serving 基准测试工具,以及 Locust 和 EvalScope 两款成熟的性能测试工具,进行全面的性能评估。

测试环境

  • • CPU:INTEL(R) XEON(R) PLATINUM 8558 * 2 (192核/台)
  • • GPU:NVIDIA H100 80GB HBM3 * 2台(共计16卡,显存:1280GB)
  • • RAM:2.0TB/台
  • • OS:Ubuntu 22.04.5 LTS
  • • RDMA:4 * IB(400 Gb/s)

软件环境

软件版本备注
Kubernetes
v1.30.6
容器编排引擎
GPU Operator
v24.9.1
自动化管理配置GPU驱动程序
Volcano
v1.9.0
调度引擎
NVIDIA Driver
560.35.03
GPU驱动
NVIDIA-Fabric Manager
560.35.03
NVSwitch互联
CUDA
12.6

MLNX_OFED
24.10-0.7.0.0
IB驱动
NCCL
2.21.5
GPU多卡通信
SGLang
v0.4.2.post4-cu125
LLM推理引擎
LeaderWorkerSet
v0.5.1
PodGroup Deploy API
Open-WebUI
v0.5.14
AI聊天互动工具

SGLang Bench

:~# python3 -m sglang.bench_one_batch_server --model None --base-url http://127.0.0.1:8000 --batch-size 1 --input-len 128 --output-len 128
INFO 02-18 18:10:16 __init__.py:190] Automatically detected platform cuda.
batch size: 16
latency: 2.46 s
output throughput: 104.01 token/s
(input + output) throughput: 6760.66 token/s
batch size: 1
latency: 4.64 s
output throughput: 27.61 token/s
(input + output) throughput: 55.22 token/s

:~# python3 -m sglang.bench_one_batch_server --model None --base-url http://127.0.0.1:8000 --batch-size 10 --input-len 1280 --output-len 1280
INFO 02-18 18:10:55 __init__.py:190] Automatically detected platform cuda.
batch size: 16
latency: 2.50 s
output throughput: 102.31 token/s
(input + output) throughput: 6650.28 token/s
batch size: 10
latency: 58.57 s
output throughput: 218.54 token/s
(input + output) throughput: 437.07 token/s

Locust

1. 简介

官网地址:https://locust.io

Locust 是一款开源的性能和负载测试工具,主要用于测试 HTTP 和其他协议的性能。它的最大优势是,用户可以用简单的 Python 代码来定义测试,灵活且易于使用,并且提供Web UI界面,在测试过程中,可以实时查看吞吐量、响应时间和错误情况,或者将数据导出以供后续分析。

2. 安装

~# pip3 install locust

~# locust --version
locust 2.32.9 from /usr/local/lib/python3.10/dist-packages/locust (Python 3.10.12)

3. 编写 Locust 压测脚本

from locust import HttpUser,task, between
import json
class LLMUser(HttpUser):
    wait_time = between(12)  # 每个用户请求间隔1s
    @task
    def generate_text(self):
        headers = {"Content-Type":"application/json"}
        data = {
            "model""deepseek-r1",
            "text""你好,请介绍一下自己",
            "stream"False
        }
        self.client.post("/generate", headers=headers, json=data, timeout=60)

4. 启动 Locust Web UI

# locust -f locustfile.py --host http://10.0.x.x:32169

# 日志如下:
[2025-02-17 17:35:34,204] mgmt-ser-14-128/INFO/locust.main: Starting Locust 2.32.9
[2025-02-17 17:35:34,204] mgmt-ser-14-128/INFO/locust.main: Starting web interface at http://0.0.0.0:8089

5. 开启压测

配置模拟的总用户数和每秒需创建的用户(默认每秒1个)。

先看下测试结论,仅供参考~,目前暂未进行任何优化措施。

并发数
执行时长
Requests
Request Average (ms)
Generation Throughput (Token/s) Mean
RPS
Response 95%ile (ms)
Fails
5
3m
124
5536.67
65.1
0.7
6100
0
10
3m
207
6834.01
99.6
1.16
7900
0
20
10m
1207
8221.2
276
2.01
9500
0
30
10m
1617
9242.92
390
2.7
11000
0
50
10m
2218
11378.08
449
3.71
14000
0

5.1 并发数 5

5.2 并发数 10

查看压测过程及报告

5.3 并发数 20,每秒创建1个用户,执行时长10m

5.4 并发数 30,每秒创建1个用户,执行时长10m

5.5 并发数 50,每秒创建1个用户,执行时长10m

EvalScope

1. 简介

官网:https://evalscope.readthedocs.io

EvalScope是魔搭社区官方推出的模型评测与性能基准测试框架,内置多个常用测试基准和评测指标,如MMLU、CMMLU、C-Eval、GSM8K、ARC、HellaSwag、TruthfulQA、MATH和HumanEval等;支持多种类型的模型评测,包括LLM、多模态LLM、embedding模型和reranker模型。EvalScope还适用于多种评测场景,如端到端RAG评测、竞技场模式和模型推理性能压测等。

EvalScope 架构图

2. 安装

~# pip3 install evalscope -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

# 安装额外依赖
~# pip install evalscope[perf] -U  -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

3. 启动模型推理性能压测

3.1 通过evalscope命令行测试:

#!/usr/bin/env bash

evalscope perf \
 --parallel 1 \
 --url http://10.233.57.205:8000/v1/completions \
 --model deepseek-r1 \
 --log-every-n-query 5 \
 --connect-timeout 6000 \
 --read-timeout 6000 \
 --max-tokens 2048 \
 --min-tokens 2048 \
 --api openai \
 --dataset speed_benchmark \
 --debug
 
注:
speed_benchmark: 测试[1, 6144, 14336, 30720]长度的prompt,固定输出2048个token。
并发数:1
GPU使用情况通过torch.cuda.max_memory_allocated函数获取,因此此处不展示GPU使用情况

并发数:10

3.2 通过Python脚本测试:

 #!/usr/bin/env python

from evalscope.perf.main import run_perf_benchmark

task_cfg = {"url""http://10.233.57.205:8000/v1/chat/completions",
            "parallel"1,
            "model""deepseek-r1",
            "number"15,
            "api""openai",
            "dataset""openqa",
            "stream"True}
run_perf_benchmark(task_cfg)
并发数:1,请求数:15

并发数:1 ,请求数:100

并发数:4 ,请求数:20

指标说明
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的时间(秒)
Average input tokens per request
每个请求的平均输入token数
Average output tokens per request
每个请求的平均输出token数
Average package latency (s)
平均包延迟时间(秒)
Average package per request
每个请求的平均包数
Expected number of requests
预期的请求数
Result DB path
结果数据库路径
Percentile
数据被分为100个相等部分,第n百分位表示n%的数据点在此值之下
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的数量

性能指标

通常把评估大模型服务的指标分为两类。一类是和系统级别的指标,包括input token per sec,output token per sec;另一类是请求级别的指标,TPOT,TTFT。
系统级别指标用于衡量整个大模型服务的整体性能和吞吐能力,通常是从全局视角评估系统的效率。
InputToken Per Sec(输入 Token 吞吐量):系统每秒能够处理的输入 token 数量。
OutputToken Per Sec(输出 Token 吞吐量) :系统每秒能够生成的输出 token 数量。大家通常说的 TPS(Token Per Sec)一般都是指 Output TPS。
Concurrency(并发数) :系统在同一时间正在处理的请求数量。
请求级别指标用于衡量单个请求的性能和响应效率,通常是从用户视角评估系统的 SLA。
TTFT (Time to First Token,首 Token 延迟) 从发送请求到系统生成第一个输出 token 的时间。衡量系统对单个请求的响应速度,TTFT 越低,用户体验越好。
TPOT (Time Per OutputToken,单 Token 生成时间) :系统生成每个输出 token 所需的时间。TPOT 越低,模型生成文本的速度越快。 一般 TPOT 需要在 50ms 以内,否则会跟不上人眼的阅读速度,影响阅读体验。
吞吐量直接反映成本。同样的时间能吐的字越多,单个 token 的成本越低。 TPOT 和 TTFT 直接反映服务质量(SLA),更低的 TTFT 和 TPOT 会带来更好的体验。更低的价格和更高的服务质量,二者常常不可得兼。他们之间的桥梁是Concurrency。max-concurrency可以近似看成 decode 阶段的 batch size ,一个过大的 max-concurrency 会提升 GPU 利用率带来更高吞吐更低的成本,但是很多 request 打包在一起导致每个 request 都很高的 TPOT 。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅