失效链接处理 |
大模型(LLMs)显存问题面 PDF 下载
相关截图:
![]() 主要内容:
1. 大模型大概有多大,模型文件有多大?
一般放出来的模型文件都是fp16的,假设是一个 n B的模型,那么模型文件占 2n G,fp16加载到显存里做推理也
是占 2n G,对外的pr都是 10n 亿参数的模型。
2. 能否用4 * v100 32G训练vicuna 65b?
不能。
• 首先,llama 65b的权重需要5* v100 32G才能完整加载到GPU。
• 其次,vicuna使用flash-attention加速训练,暂不支持v100,需要turing架构之后的显卡。
3. 如果就是想要试试65b模型,但是显存不多怎么办?
最少大概50g显存,可以在llama-65b-int4(gptq)模型基础上LoRA[6],当然各种库要安装定制版本的。
4. nB模型推理需要多少显存?
考虑模型参数都是fp16,2nG的显存能把模型加载。
5. nB模型训练需要多少显存?
基础显存:模型参数+梯度+优化器,总共16nG。
activation占用显存,和max len、batch size有关
解释:优化器部分必须用fp32(似乎fp16会导致训练不稳定),所以应该是2+2+12=16,参考ZeRO论文。
注以上算数不够直观,举个例子?
7B的vicuna在fsdp下总共160G显存勉强可以训练。(按照上面计算7*16=112G是基础显存)
所以全量训练准备显存20nG大概是最低要求,除非内存充足,显存不够offload内存补。
6. 如何 估算模型所需的RAM?
首先,我们需要了解如何根据参数量估计模型大致所需的 RAM,这在实践中有很重要的参考意义。我们需要通
过估算设置 batch_size,设置模型精度,选择微调方法和参数分布方法等。
接下来,我们用LLaMA-6B 模型为例估算其大致需要的内存。
|