資料內(nèi)容:
1. 大模型大概有多大,模型文件有多大?
一般放出來的模型文件都是fp16的,假設(shè)是一個(gè) n B的模型,那么模型文件占 2n G,fp16加載到顯存里做推理也
是占 2n G,對外的pr都是 10n 億參數(shù)的模型。
2. 能否用4 * v100 32G訓(xùn)練vicuna 65b?
不能。
• 首先,llama 65b的權(quán)重需要5* v100 32G才能完整加載到GPU。
• 其次,vicuna使用flash-attention加速訓(xùn)練,暫不支持v100,需要turing架構(gòu)之后的顯卡。
3. 如果就是想要試試65b模型,但是顯存不多怎么辦?
最少大概50g顯存,可以在llama-65b-int4(gptq)模型基礎(chǔ)上LoRA[6],當(dāng)然各種庫要安裝定制版本的。
4. nB模型推理需要多少顯存?
考慮模型參數(shù)都是fp16,2nG的顯存能把模型加載。
5. nB模型訓(xùn)練需要多少顯存?
基礎(chǔ)顯存:模型參數(shù)+梯度+優(yōu)化器,總共16nG。
activation占用顯存,和max len、batch size有關(guān)
解釋:優(yōu)化器部分必須用fp32(似乎fp16會導(dǎo)致訓(xùn)練不穩(wěn)定),所以應(yīng)該是2+2+12=16,參考ZeRO論文。
注以上算數(shù)不夠直觀,舉個(gè)例子?
7B的vicuna在fsdp下總共160G顯存勉強(qiáng)可以訓(xùn)練。(按照上面計(jì)算7*16=112G是基礎(chǔ)顯存)
所以全量訓(xùn)練準(zhǔn)備顯存20nG大概是最低要求,除非內(nèi)存充足,顯存不夠offload內(nèi)存補(bǔ)。
6. 如何 估算模型所需的RAM?
首先,我們需要了解如何根據(jù)參數(shù)量估計(jì)模型大致所需的 RAM,這在實(shí)踐中有很重要的參考意義。我們需要通
過估算設(shè)置 batch_size,設(shè)置模型精度,選擇微調(diào)方法和參數(shù)分布方法等。
接下來,我們用LLaMA-6B 模型為例估算其大致需要的內(nèi)存。