结论先行:训练优先显存与互联,推理优先显存容量与带宽。TFLOPS数字在很多场景下是瓶颈之外的过剩参数,显存不够一切白搭。
一、为什么显存是第一约束
模型参数、梯度、优化器状态、激活值都要驻留显存。70B FP16训练仅模型权重就需约140GB,单卡24GB根本无法加载,必须张量并行或量化。显存一旦不够,直接报OOM,算力再强也用不上。
二、粗略估算公式
训练显存约等于参数量乘以6字节再加激活值开销;推理显存约等于参数量乘以精度字节再乘以1.1到1.3。按这个公式先算显存下限,再看算力是否够用。例如7B模型FP16训练,仅权重加梯度加Adam状态就约需56GB。
三、分场景建议
训练
显存优先80GB以上(A100/H100),算力次之;多卡必须看NVLink带宽,否则通信拖慢计算。显存不够时,先试gradient checkpointing、混合精度、优化器状态分片,再考虑加卡。
推理
显存决定能跑多大模型,算力决定并发吞吐。70B INT4需约40GB显存,48GB的L40S即可单卡服务;并发上去后才轮到算力成为瓶颈。
四、常见误区
- 只看TFLOPS:实际瓶颈常在显存带宽;
- 忽略激活重计算:训练爆显存时先开gradient checkpointing;
- 忽略优化器状态:AdamW的显存占用是权重的2倍以上;
- 忽略KV Cache:长文本推理显存增长很快。
五、显存优化技巧
显存不够时按以下顺序优化:先开混合精度(AMP),显存立减一半;再开gradient checkpointing,用时间换显存;然后降低batch size配合梯度累积;仍不够再启用模型并行或分片优化器(如FSDP/DeepSpeed)。大多数情况下前两步就能解决80%的OOM问题。
六、总结
选GPU的正确顺序是:先算显存够不够,再看带宽,最后才看算力。很多新手上来就比TFLOPS,结果买回来发现模型都装不下。把显存估算放在第一步,能避免90%的选错卡问题。
补充:显存带宽比算力更容易成为推理瓶颈。同样70B INT4模型,A100的带宽是3090的两倍多,单query延迟能差出一倍。做推理选型时带宽参数比TFLOPS更值得关注。
不确定自己模型需要多大显存,可在GPU算力平台先用小规格实例跑通再逐步升配。




