大模型參數(shù)量都是7B,13B和65B等背后的原因是什么?
不知道大家有沒(méi)有注意到現(xiàn)在大模型百花齊放,但是模型參數(shù)大小卻非常一致,基本都是7B,13B,65B等。那么,為什么被設(shè)計(jì)成這么大呢?
網(wǎng)絡(luò)上有很多解釋,筆者結(jié)合自己的理解,分享其中可能的原因。
最直接的就是歷史傳承,因?yàn)樽畛鮋penAI在gpt-3就是這么干的,然后,Meta借鑒了OpenAI的做法,推出了llama的7B,13B,33B,65B四個(gè)尺寸。由于llama在開源領(lǐng)域的地位,其他模型廠商都基本遵守了這樣的約定,形成了當(dāng)下的局面。
適配推理設(shè)備。特別是對(duì)于一些參數(shù)量小的模型是為了適配不同級(jí)別的GPU顯存,常見(jiàn)的顯寸大小從4G到80G不等,我們知道顯存占用的公式:
模型空間大小 = 參數(shù)量 *參數(shù)精度
這使得能夠很方便地在單卡上部署推理,降低使用的門檻。以chatGLM2-6B為例,它有62億參數(shù),權(quán)重參數(shù)文件采用BF16精度存儲(chǔ),實(shí)際顯存占用大概為12.5GB,一個(gè)英偉達(dá)T4顯卡(16GB)就能跑起來(lái)。
模型結(jié)構(gòu)上的設(shè)計(jì)。從模型結(jié)構(gòu)上看,當(dāng)前大模型都是采用的transfomer模型的decoder-only結(jié)構(gòu)(未遮蓋部分)。其參數(shù)量受到隱藏層維度,層數(shù),注意力頭數(shù)等影響,而這些參數(shù)取值既參考GPT-3,也是結(jié)合。下面是llama和gpt系列模型的參數(shù)量統(tǒng)計(jì):
實(shí)際參數(shù)量P | 隱藏層維度d_model | 層數(shù)N | 注意力頭數(shù)h | 估算參數(shù)量 |
6.7B | 4096 | 32 | 32 | 6590300160 |
13.0B | 5120 | 40 | 40 | 12730761216 |
32.5B | 6656 | 60 | 52 | 32045531136 |
65.2B | 8192 | 80 | 64 | 64572358656 |
llama
性能、成本與訓(xùn)練時(shí)間的綜合平衡。根據(jù)一文探秘LLM應(yīng)用開發(fā)(12)-模型部署與推理(大模型相關(guān)參數(shù)計(jì)算及性能分析),模型訓(xùn)練時(shí)間可以估算:6TP/(n*X*u),其中X是計(jì)算顯卡的峰值FLOPS,n為卡的數(shù)量,u為利用率。以LLaMA-65B為例,在2048張80GB顯存的A100上,在1.4TB tokens的數(shù)據(jù)上訓(xùn)練了65B參數(shù)量的模型。80GB顯存A100的峰值性能為624TFLOPS,設(shè)GPU利用率為0.3,則所需要的訓(xùn)練時(shí)間為:
本文轉(zhuǎn)載自 ??AI工程化??,作者: ully
