大模型并发场景GPU显存资源计算

前面两篇文章主要介绍了大模型GPU资源需求计算及使用场景:大模型GPU显存算力需求计算大模型推理资源需求计算及使用场景示例

在常见并发推理场景中,显存需求会随着并发数的增加而显著增长,因为KV Cache是显存占用的主要变量。下面我们来系统性地介绍并发推理的显存计算方法,并通过7B、32B、70B三个模型的示例进行全面评估。

一、并发推理显存计算核心公式

1.1 总显存构成

总显存 = 模型参数 + KV Cache + 中间激活值 + 系统开销

1.2 KV Cache显存计算公式

KV Cache是并发场景下显存增长的主要来源,其精确计算公式如下-7

KV Cache显存(GB) = 2 × 最大并发请求数 × 序列长度 × 层数 × 隐层维度 × 精度字节数 ÷ (1024³)

其中:

  • 2:Key和Value两份缓存

  • 最大并发请求数:服务能同时处理的请求数量

  • 序列长度:输入+输出的总token数

  • 层数:Transformer层数

  • 隐层维度:每个token的表示维度

  • 精度字节数:FP16为2,INT8为1

KV Cache 大小和 并发数有关,和 batch size 无关;batch 只影响一次计算的规模,不改变 KV 总量。

概念
并发数 (active_sequences)
Batch size
定义
系统中当前“活着”的序列总数
单次计算合并处理的序列数
影响
决定需要多少份 KV Cache
决定一次矩阵大小和吞吐
增长关系
KV Cache ∝ 并发数 × 序列长度
与 KV Cache 无关
举例
100 用户并发 → 100 份 KV
batch=16 只是一次算16条,KV 总量仍=100

1.3 vLLM的内存分配机制

vLLM通过gpu_memory_utilization参数控制显存分配-7

可用显存 = 总GPU显存 × gpu_memory_utilization
模型权重显存 + KV Cache显存 ≤ 可用显存

通常设置gpu_memory_utilization = 0.8-0.9,预留部分显存用于系统开销和中间激活值-7-8

1.4 CPU与内存需求

  • CPU核心:建议≥并发数/2,用于数据预处理和调度

  • 系统内存:需存储模型权重副本(用于CPU卸载场景)和数据缓存


二、7B模型并发推理资源需求

Llama 2-7BDeepSeek-7B为例,假设模型配置:

  • 层数:32

  • 隐层维度:4096

  • 精度:FP16(2字节/参数)

2.1 不同并发数的显存需求

并发数KV Cache显存公式KV Cache显存参数显存总显存需求说明
12×1×2048×32×4096×2÷(1024³)1.0GB14GB~16GB单用户场景
42×4×2048×32×4096×2÷(1024³)4.0GB14GB~19GB小团队使用
82×8×2048×32×4096×2÷(1024³)8.0GB14GB~23GB中等负载
162×16×2048×32×4096×2÷(1024³)16.0GB14GB~31GB高并发场景

2.2 资源需求总览

并发数GPU显存需求推荐GPU配置CPU核心系统内存适用场景
419GB1×RTX 4090 24GB4-8核32GB个人API服务
823GB1×RTX 4090 24GB8核64GB中小团队
1631GB1×A100 40GB 或 2×RTX 40908-16核64-128GB企业级服务

优化提示:当并发数超过8时,单张RTX 4090 24GB已接近极限,建议使用张量并行(TP)分散到多卡-1


三、32B模型并发推理资源需求

Qwen-32BDeepSeek-32B为例,假设模型配置:

  • 层数:64

  • 隐层维度:5120

  • 精度:FP16(2字节/参数)

3.1 不同并发数的显存需求

并发数KV Cache显存公式KV Cache显存参数显存总显存需求说明
12×1×2048×64×5120×2÷(1024³)2.5GB64GB~67GB单用户场景
42×4×2048×64×5120×2÷(1024³)10.0GB64GB~75GB小团队使用
82×8×2048×64×5120×2÷(1024³)20.0GB64GB~85GB中等负载
162×16×2048×64×5120×2÷(1024³)40.0GB64GB~105GB高并发场景

3.2 资源需求总览

并发数GPU显存需求推荐GPU配置CPU核心系统内存适用场景
475GB1×A100 80GB8-16核128GB企业API服务
885GB2×A100 40GB(TP=2)16核256GB中型负载
16105GB2×A100 80GB(TP=2)16-32核256-512GB高并发场景

vLLM配置示例(2×A100 80GB)-1

vllm serve Qwen-32B \
  --tensor-parallel-size 2 \
  --max-num-seqs 16 \
  --gpu-memory-utilization 0.9

四、70B模型并发推理资源需求

Llama 2-70BDeepSeek-70B为例,假设模型配置:

  • 层数:80

  • 隐层维度:8192

  • 精度:FP16(2字节/参数)

4.1 不同并发数的显存需求

并发数KV Cache显存公式KV Cache显存参数显存总显存需求说明
12×1×2048×80×8192×2÷(1024³)5.0GB140GB~146GB单用户场景
42×4×2048×80×8192×2÷(1024³)20.0GB140GB~161GB小团队使用
82×8×2048×80×8192×2÷(1024³)40.0GB140GB~181GB中等负载
162×16×2048×80×8192×2÷(1024³)80.0GB140GB~221GB高并发场景

4.2 资源需求总览

并发数GPU显存需求推荐GPU配置CPU核心系统内存适用场景
4161GB2×A100 80GB(TP=2)16-32核256GB企业API服务
8181GB4×A100 40GB(TP=4)32核512GB中型负载
16221GB4×A100 80GB(TP=4)32-64核1TB高并发场景

五、MoE模型(如DeepSeek-V3)的特殊考量

混合专家模型(MoE)的并发推理显存计算与稠密模型有所不同-6-9

5.1 MoE模型显存构成

总显存 = 共享参数 + 专家参数 + KV Cache + 路由开销

其中:

  • 共享参数:嵌入层、注意力层等(约占30-50%)

  • 专家参数:分布在多卡上,通过专家并行(EP)优化-6

  • 路由开销:存储专家负载和路由概率,通常小于1%总显存-9

5.2 并行策略选择

并发场景推荐并行策略说明
低并发(<4)TP + EP延迟优先,每个请求由所有GPU协同处理-6
高并发(≥8)DP + EP吞吐优先,多组GPU副本并行处理不同请求-6

5.3 资源估算示例(DeepSeek-V3 671B)

假设模型配置-9

  • 专家数量E=256,每个专家参数量约2.6B

  • 共享参数量约300B

  • 精度:FP8(1字节/参数)

  • 激活专家数K=8(Top-8路由)

并发数显存需求推荐GPU配置(EP并行)CPU核心系统内存
4~350GB8×A100 80GB(EP=8)32核512GB
8~380GB8×A100 80GB(EP=8)32-64核1TB
16~450GB16×A100 80GB(EP=16)64核+2TB+

关键提示:MoE模型通过专家并行(EP)可将专家参数分散到多卡,大幅降低单卡显存压力-6-9


六、并发推理优化策略

6.1 vLLM核心参数调优

参数作用推荐值说明
gpu_memory_utilization显存利用率0.8-0.9预留10-20%用于系统开销-7
max_num_seqs最大并发数根据显存计算控制KV Cache上限-8
max_num_batched_tokens批处理token上限4096-8192平衡吞吐与延迟-8
tensor_parallel_size张量并行度2/4/8模型放不下时启用-1
enable_expert_parallel专家并行开关True(MoE模型)对DeepSeek等MoE模型有效

6.2 量化技术

量化精度参数显存减少KV Cache显存减少适用场景
INT850%50%高并发、追求吞吐
INT475%75%超大模型、资源受限

6.3 抢占与分块预填充

当KV Cache空间不足时,vLLM会触发抢占(Preemption)机制-8。为避免性能下降:

  • 适当提高gpu_memory_utilization

  • 启用分块预填充(Chunked Prefill)平衡预填充和解码请求-8


七、快速参考表

不同并发度下的显存需求速查(FP16)

模型规模参数显存并发1并发4并发8并发16
7B14GB16GB19GB23GB31GB
32B64GB67GB75GB85GB105GB
70B140GB146GB161GB181GB221GB

推荐配置速查

模型规模目标并发GPU配置CPU核心系统内存
7B81×RTX 4090 24GB8核64GB
7B162×RTX 4090 24GB(TP=2)16核128GB
32B82×A100 40GB(TP=2)16核256GB
32B162×A100 80GB(TP=2)32核512GB
70B84×A100 40GB(TP=4)32核512GB
70B164×A100 80GB(TP=4)64核1TB

总结

  1. 并发推理显存核心公式:总显存 ≈ 参数显存 + 2×并发数×序列长度×层数×隐层维度×精度

  2. KV Cache是并发场景下的主要变量,与并发数成正比增长

  3. vLLM通过gpu_memory_utilizationmax_num_seqs参数控制显存分配-7-8

  4. MoE模型需结合专家并行(EP)优化-6,显存计算需考虑共享参数和专家参数的分布

  5. CPU和内存需求:CPU核心数建议≥并发数/2,系统内存需能容纳完整模型权重


参考:


anzhihe 安志合个人博客,版权所有 丨 如未注明,均为原创 丨 转载请注明转自:https://chegva.com/6628.html | ☆★★每天进步一点点,加油!★★☆ | 

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注