消费级显卡部署deepseek-R1:32b可行性分析
结论
在deepseek-r1:32b较大尺寸模型下,4090单卡可提供3QPS,单问题4.4秒内完成响应。 对于个人,几十人小团队够用。
优点:
- 本地模型问题过滤少,同样问题,官方无法回答,本地可以
- 速度尚可,不会服务器繁忙
- ollama动态显存占用,5分钟不问,默认不占用显卡,不影响游戏:)
缺陷:
- 无搜索、图片识别功能,当然这也不是模型的问题,要借助flowise这种langchain编排工具实现
- 有一定硬件要求,单卡显存越大越好,推荐3090/4090
- 低至中等并发:单卡4090在并发数从10到400时,系统表现稳定,吞吐量和响应时间均在可接受范围内。2.9QPS
- 高并发情况:单卡在并发数为800时,吞吐量显著增加,但响应时间波动较大,且最大响应时间大幅上升,可能存在性能瓶颈。
- 系统稳定性:系统在高并发压力下依然能保证请求的成功率,但响应时间波动可能影响整体用户体验。
测试环境
服务器硬件配置:
- CPU:AMD Ryzen Threadripper PRO 5975WX 32-Cores
- GPU:1 x NVIDIA RTX 4090
- MEM:128G
- 网络:本机
- 测试工具:Apache Benchmark (ab)
- 模型:deepseek-r1:32b
- 压测命令:
ab -n 1000 -c 10 -s 30000 -T "application/json" -p payload.json -v 4 http://1.1.1.1:11434/v1/completions > ab_detailed_log01.txt 2>&1
- **请求总数**:1000
- **并发数**:逐渐升高
- **超时设置**:30秒(`-s 30000`)
- **请求类型**:POST,传送JSON格式的负载
{
"model": "deepseek-r1:32b",
"prompt": "你好,你是谁?"
}
测试数据分析
并发数 | 总请求时间(秒) | 成功请求数 | 失败请求数 | 吞吐量 (请求/秒) | 平均响应时间 (毫秒) | 最大响应时间 (毫秒) | 95% 响应时间 (毫秒) |
---|---|---|---|---|---|---|---|
10 | 344.899 | 1000 | 0 | 2.90 | 3448.99 | 7073 | 4424 |
50 | 341.55 | 1000 | 0 | 2.93 | 17077.494 | 20274 | 18333 |
100 | 343.880 | 1000 | 0 | 2.91 | 34387.977 | 39523 | 35580 |
150 | 337.687 | 1000 | 0 | 2.96 | 50653.032 | 53134 | 51942 |
200 | 340.978 | 1000 | 0 | 2.93 | 68195.508 | 70733 | 69537 |
400 | 351.865 | 1000 | 0 | 2.84 | 140746.048 | 141672 | 139774 |
800 | 250.261 | 716 | 284 | 4 | 200208.529 | 249642 | 231555 |