AI 模型为什么动不动就需要几十GB、甚至上百GB显存?核心原因很简单:模型参数本身就需要占用显存,同时模型运行时还需要保存输入数据、中间计算结果以及 KV Cache 等数据。模型越大,对显存的需求通常就越高。
首先要看的是模型参数。
比如一个70B模型,也就是大约700亿个参数。如果使用FP16精度,每个参数需要2个字节,仅仅存储模型参数,理论上就需要大约140GB显存。
实际部署时,显存需求还不止这些。模型加载到GPU之后,还需要进行推理计算,因此GPU还要保存输入数据、输出数据以及计算过程中产生的中间结果。
第二个重要因素是KV Cache。
在大模型生成文本时,模型需要不断处理上下文。为了减少重复计算,推理系统通常会把已经计算过的Key和Value保存下来,也就是KV Cache。
当上下文越来越长,或者同时运行的用户越来越多时,KV Cache占用的显存也会明显增加。所以同样一个70B模型,单用户短文本和高并发长文本场景,对显存的需求可能完全不同。
第三个因素是模型精度。
同一个模型,如果使用FP16,每个参数通常占2字节;如果采用FP8,每个参数通常占1字节;进一步使用INT8、INT4量化,还可以继续降低模型参数占用的显存。
例如70B模型采用FP16,仅参数就大约需要140GB显存,而采用更低精度后,参数存储空间可以明显下降。不过,量化也可能对模型效果产生一定影响,因此需要根据实际业务进行选择。
第四个因素是模型规模。
7B、14B、32B、70B模型的参数量不同,对显存的要求也会明显不同。模型参数越多,通常需要的显存越大。如果单张GPU无法装下完整模型,就需要使用多张GPU进行部署。
这也是为什么很多AI服务器会配置8张甚至更多高性能GPU,并通过高速GPU互联技术进行协同计算。
所以,AI模型需要大量显存,并不只是因为模型参数多,而是模型参数、KV Cache、中间计算数据以及并发请求都会占用显存。
对于企业来说,选择AI服务器时不能只看GPU数量,还需要同时考虑显存容量、显存带宽、模型大小、量化精度、上下文长度以及并发量。最终决定需要多少显存的,不只是“模型是多少B”,而是这个模型准备怎么部署,以及实际要承载多少业务请求。