微信扫码
添加专属顾问
我要投稿
深入了解AI大模型部署的显存需求,避免硬件成本的巨额浪费。核心内容:1. 大模型显存需求的两大核心组成:静态参数显存与动态计算缓存2. 参数显存与KV缓存的计算公式及实际案例分析3. 隐藏成本:中间激活值对显存的影响及优化方法
最近,接触了不少AI的项目。
客户上来就问:部署个大模型需要多少算力。
"老板,上32B模型需要多少显存?"
"90GB够了吧?"
"不,您可能少算了30%!"
随着百亿级大模型成为行业标配,显存估算误差动辄导致数十万硬件成本偏差。
今天,以部署 QwQ-32B 模型,FB16 精度的显存需求作为例子。笔者尝试将算力评估这件事情通俗地说清楚。(阿里巴巴Qwen团队基于Qwen2.5架构开发的一款大型自回归语言模型)。
PS:在发文章的当天,Qwen3 发布了,大幅降低了性能要求,后续再出一篇相关的文章进行介绍。
大模型显存占用主要由两大模块构成:静态参数显存与动态计算缓存。二者共同决定了硬件选型的基线标准。
计算公式:
参数量 X 参数精度字节数 = 参数显存 (GB)
以 QwQ-32B 为例:
参数量: 32B(32 × 10⁹ 320亿)
精度:FP16(2字节/参数)
根据公式计算所得:
32×10⁹×2 = 64×10⁹bytes ≈ 64 GB
计算陷阱:
以上是普通推理场景(AI聊天),假如是训练场景,需额外存储梯度,显存翻倍至128GB。
另外,1B=10⁹(国际单位)≠中文"亿"(10⁸)
PS:训练场景下一般都要开启梯度计算,主要用于优化模型参数以最小化预测误差,是训练场景的关键步骤。这种场景下显存至少要求翻倍。
推理过程要进行加速,少不了使用KV Cache
,它是Transformer的标配功能。 以下的计算评估,基于典型Transformer模型估算。当模型处理长序列时,需要为每个token存储Key-Value向量。
计算公式:
层数×2×头数×头维度×上下文长度×元素字节数 = KV缓存显存(GB)
以QwQ-32B为例:
根据公式计算所得:
40层 × 2 × 64头 × 128维 × 16,000token × 2字节 ≈ 19.54GB
值得一说的是 DeepSeek 首创的 MLA 技术,使得 KV Cache 降低了93%,有效地降低了训练和推理场景上对高性能GPU的要求。
中间激活值,是神经网络前向传播过程中,各层计算产生的临时数据。它们就像烹饪过程中每个步骤的半成品,必须暂时保存才能进行后续操作。
PyTorch等框架需要10-20%额外显存处理内存管理,好比仓库里面需要留出过道空间,给人员/货物进出。
为保证稳定运行,建议至少预留 20% 缓冲空间。因此,在普通推理场景下,总体显存计算公式:
总显存=(参数显存+KV缓存)×1.2
(64+19.54)×1.2 ≈ 100GB
选择128GB显卡是比较稳妥的(最小的卡显存是 24G/张)。
训练场景 | |||||
批量推理 | |||||
单卡推理 |
训练场景下的 KV 缓存需求较大,中间值激活显存可达参数量的5-7倍。(上面有计算过程)
硬件卡的显存参考:
A100 80GB:可满足单卡极限推理(需开启显存优化)
A100 40GB:需使用模型并行(2卡以上)
H100 80GB:推荐未来部署选择
当然,也可以选择国产的一些卡,例如沐曦曦云C系列、海光DCU,昇腾系列等。
当再被问到:"私有部署32B模型需要多少显存?"
您可自信的回应:"满足基础推理需求大概在90GB,要求安全稳定需要128GB!"
如有疑问,可以在评论区参与讨论!
? 如果你喜欢这篇文章,别忘了点赞、在看、转发哦!
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-02-04
2025-02-04
2024-09-18
2024-07-11
2024-07-09
2024-07-11
2024-07-26
2025-02-05
2025-01-27
2025-02-01