直接给答案:70B模型做推理,FP16精度下光权重文件就要占约140GB显存,单张80GB的显卡连权重都放不下。常规做法是两张80GB显卡,或者用4张24GB显卡配合量化方案。具体怎么配,下面把账算清楚。

文章1配图.png

一、核心答案

70B模型推理显存需求分三块:

  • 模型权重:FP16下 70B×2字节 ≈ 140GB;INT8量化约70GB;INT4量化约35GB。
  • KV Cache:随序列长度和并发请求数增长,通常再加几GB到几十GB。
  • 运行时开销:CUDA上下文、激活值等,一般预留权重显存的10%~20%。

所以实际需要的显存大约是:

  • FP16推理,单并发、4K上下文:约160~170GB,最少2张80GB显卡(如H100、A100、H20的96GB版可单卡跑)。
  • INT4量化,单并发、4K上下文:约60~80GB,1张80GB卡或4张24GB卡(如4090)可跑。

二、显存都花在哪

1. 模型权重是大头。参数量×每个参数占用的字节数就是权重显存。70B参数在FP16下是140GB,这个数不会因为并发变多而变化,属于固定成本。

2. KV Cache跟着请求走。每次对话生成的token都会留下KV值,用户越多、上下文越长,占得越多。它才是推理显存里最不好估的部分。

3. 运行时开销。CUDA上下文、框架自身、中间激活值都会占显存,很多"明明够却OOM"的问题出在这一块,建议按权重的10%~20%预留。

三、怎么算自己需要多大显存

先算权重,再算KV Cache,最后加余量:

KV Cache显存(单并发)≈ 2(K和V两组)× 层数 × KV头数 × 每头维度 × 序列长度 × 2字节。
以Llama-2 70B(80层、8个KV头、头维度128)为例:单条4K上下文的KV Cache约1.3GB,8K上下文约2.6GB;并发翻倍,这部分也翻倍。

注:以上为理论计算值,实际部署受运行框架、量化方式、上下文长度、并发量影响。

部署方案权重显存KV Cache总计参考显卡配置
FP16 + 2卡140GB5~15GB约160GB2×H100 80G / 2×A100 80G
FP16 + 大显存单卡140GB5~15GB约160GB2×H20 96G(稳妥起见仍推荐2卡)
INT4量化 + 4卡35GB5~15GB约60~80GB4×RTX 4090 24G
INT4量化 + 单卡35GB5~15GB约60GB1×H100 80G / 1×A100 80G

四、不同场景怎么选

企业内部高并发API服务:别省。用FP16或BF16跑2张80GB卡起步,并用vLLM这类推理框架做PagedAttention优化,KV Cache能按需分配,并发能力差很多。

中小团队、预算有限:先上INT4/INT8量化。量化对70B这种大模型效果相对可控,4张24GB卡就能上线,等并发上来再加卡。

只做验证、不追求并发:1张80GB卡跑量化模型够用,成本最低。

后续要微调:直接按微调需求配,不要按推理配。70B全参微调对显存的需求是推理的数倍,至少按2×80GB往上准备(详见微调显存估算)。

如果企业已经明确模型规模和GPU需求,可以在 JYGPU 按型号、显存和租赁周期筛选 GPU 云服务器与裸金属资源。

五、常见问题

1. 70B模型INT4量化后需要多大显存?

权重约35GB,加上KV Cache和运行时开销,总需求约60GB上下,一张80GB卡或4张24GB卡可以跑。

2. 70B模型微调和推理的显存需求差多少?

差数倍。推理只需要权重(140GB/FP16),训练还要放梯度和优化器状态,全参FP16训练理论约560~700GB;用LoRA把可训练参数压到1%左右,可以降到和推理接近的水平。

3. 为什么我按计算够了还是报"CUDA out of memory"?

大多是KV Cache或运行时开销没算进去,也可能是并发没控制。先关掉冗余功能、减少max_seq_len,再把并发降下来试。

4. 一张H100 80G能跑70B吗?

FP16跑不了,权重就140GB。量化到INT4后可以,单卡约60GB占用,能跑但并发能力有限。

六、相关阅读

数据来源与说明

  • 70B权重显存、KV Cache为理论计算值,公式与参数如上文,实际部署结果受框架、上下文、并发影响。
  • Llama-2 70B层数、KV头等结构参数参考模型官方文档。
  • JYGPU相关型号与计费信息来自JYGPU官网。
  • https://www.jygpu.com/markets?from=ac