大模型所謂的參數(shù)是什么?大模型為什么需要訓(xùn)練?大模型訓(xùn)練到底干了什么? 原創(chuàng)
“ 大模型的本質(zhì)是機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí)的本質(zhì)就是一種數(shù)學(xué)模型?!?/strong>
我們經(jīng)常能聽到這樣的說法,某某大模型有多少參數(shù),某某大模型參數(shù)量又提升了,這里所說的參數(shù)到底是什么?
我們知道大模型是訓(xùn)練出來的,那么哪些訓(xùn)練數(shù)據(jù)都跑哪去了,大模型訓(xùn)練的過程中都干了什么? 為什么大模型需要訓(xùn)練?
01、大模型的參數(shù)到底是什么?
我們知道大模型的發(fā)展從剛開始的幾百個(gè)參數(shù),到現(xiàn)在的上千億個(gè)參數(shù),比如GPT-3就有一千七百多億個(gè)參數(shù)。
而隨著參數(shù)數(shù)量的提升,大模型的功能也變得越來越強(qiáng)大,特別是現(xiàn)在GPT-4o的出現(xiàn),大模型已經(jīng)可以和人類進(jìn)行正常的語音和視頻交流。
但很多人都不知道這個(gè)參數(shù)到底是個(gè)什么東西?
首先,我們要明白一件事,不要把訓(xùn)練數(shù)據(jù)當(dāng)作參數(shù);訓(xùn)練數(shù)據(jù)是訓(xùn)練數(shù)據(jù),參數(shù)是參數(shù)。
大模型是基于機(jī)器學(xué)習(xí)模型,通過大量數(shù)據(jù)訓(xùn)練出來的模型,所以叫做大模型。
而現(xiàn)在主流的大模型都是基于神經(jīng)網(wǎng)絡(luò)模型構(gòu)建的模型,不論是基于卷積神經(jīng)網(wǎng)絡(luò)(CNN),還是循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),亦或者是Transformer神經(jīng)網(wǎng)絡(luò)等。
但神經(jīng)網(wǎng)絡(luò)模型只是機(jī)器學(xué)習(xí)模型中的一個(gè)分類,其它還包括支持向量機(jī),決策樹,回歸模型等。
而這里說的大模型的參數(shù),是基于神經(jīng)網(wǎng)絡(luò)模型而構(gòu)建的參數(shù)。我們知道,神經(jīng)網(wǎng)絡(luò)模型有很多層,每一層都有很多個(gè)神經(jīng)元,而每一層又需要進(jìn)行連接;
這就是大模型參數(shù)的由來,比如權(quán)重與偏置,就是每個(gè)神經(jīng)元都有的參數(shù)。
一般情況下,大模型的參數(shù)是在網(wǎng)絡(luò)架構(gòu)時(shí)就設(shè)定好的,參數(shù)數(shù)量一般不會(huì)發(fā)生變化;但也有例外情況,比如動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)就會(huì)對(duì)參數(shù)數(shù)量進(jìn)行動(dòng)態(tài)調(diào)整。
02、大模型訓(xùn)練的具體過程?
我們都知道,訓(xùn)練大模型需要準(zhǔn)備大量的數(shù)據(jù),然后對(duì)模型進(jìn)行訓(xùn)練。那么這個(gè)訓(xùn)練的過程到底是干了什么,哪些訓(xùn)練數(shù)據(jù)的作用是什么?
其實(shí)說白了,大模型訓(xùn)練的本質(zhì)就是調(diào)整參數(shù)。
在前面我們說了,大模型有很多個(gè)參數(shù),現(xiàn)在的大模型基本上參數(shù)都是以億為單位;當(dāng)然,參數(shù)的數(shù)量根據(jù)大模型的架構(gòu)而有所不同。
訓(xùn)練的過程其實(shí)就是把訓(xùn)練數(shù)據(jù)輸入到大模型中,然后模型根據(jù)這些數(shù)據(jù)對(duì)參數(shù)進(jìn)行調(diào)整的過程,以求達(dá)到一個(gè)最優(yōu)解。
如果把神經(jīng)網(wǎng)絡(luò)看作一個(gè)黑盒,那么我們輸入數(shù)據(jù),經(jīng)過神經(jīng)網(wǎng)絡(luò)這個(gè)黑盒處理之后,再輸出我們的數(shù)據(jù)。
如下圖所示,就是一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)模型圖:
神經(jīng)網(wǎng)絡(luò)單層模型
類似于人體有無數(shù)個(gè)神經(jīng)元組成,而從數(shù)學(xué)理論來說,更多的神經(jīng)元與更復(fù)雜的神經(jīng)網(wǎng)絡(luò)架構(gòu),就能夠進(jìn)行更加復(fù)雜的數(shù)據(jù)處理。
所以,就有了多層的神經(jīng)網(wǎng)絡(luò)架構(gòu),如下圖所示,神經(jīng)網(wǎng)絡(luò)由多個(gè)神經(jīng)層組成。如GPT-3就有96層。
多層神經(jīng)網(wǎng)絡(luò)
這就是神經(jīng)網(wǎng)絡(luò)的模型架構(gòu)。
訓(xùn)練開始時(shí),需要把訓(xùn)練數(shù)據(jù)輸入到模型中,具體的輸入方式這里暫不討論,我們只需要知道訓(xùn)練數(shù)據(jù)需要輸入到神經(jīng)網(wǎng)絡(luò)中即可。
因?yàn)槟P陀卸鄠€(gè)神經(jīng)層,所以訓(xùn)練數(shù)據(jù)從輸入層進(jìn)入大模型之后;需要在模型的多個(gè)神經(jīng)層之間進(jìn)行流轉(zhuǎn),而這個(gè)過程術(shù)語叫做正向傳播。
數(shù)據(jù)從輸入層,一層一層的傳播到輸出層,然后輸出結(jié)果;但由于大模型剛開始就像一個(gè)小學(xué)生,所以它輸出的結(jié)果往往不盡人意。
所以,為了解決這個(gè)問題,大模型的輸出結(jié)果需要跟實(shí)際結(jié)果進(jìn)行匹配,術(shù)語叫做計(jì)算損失差,損失差越大說明輸出結(jié)果越差。
而有了損失差,說明當(dāng)前的模型是有問題的;所以就需要對(duì)模型進(jìn)行調(diào)整,這就是所謂的反向傳播。
意思就是,模型把輸出的結(jié)果再次輸入到模型中,然后模型根據(jù)這個(gè)結(jié)果,使用某種算法對(duì)模型中的參數(shù)進(jìn)行調(diào)整,比如不同神經(jīng)元的權(quán)重等。
而調(diào)整參數(shù)的這個(gè)東西叫做優(yōu)化器。
模型訓(xùn)練流程
然后,模型根據(jù)這個(gè)原理,使用訓(xùn)練數(shù)據(jù)一次一次的輸入,然后一次一次的對(duì)參數(shù)進(jìn)行調(diào)整。最后達(dá)到一個(gè)最優(yōu)解,也就是訓(xùn)練好的大模型。
這也是為什么大模型要經(jīng)過很多輪的訓(xùn)練,才能達(dá)到比較滿意的效果。
當(dāng)然,大模型的神經(jīng)層并不是越多越好,訓(xùn)練數(shù)據(jù)也不是越多越好,有時(shí)候更多的參數(shù)和訓(xùn)練數(shù)據(jù)訓(xùn)練出來的結(jié)果,可能還沒有少一點(diǎn)的效果好。
而這也有專門的評(píng)估函數(shù)對(duì)訓(xùn)練結(jié)果進(jìn)行評(píng)估。
以上就是大模型訓(xùn)練的原理。
本文轉(zhuǎn)載自公眾號(hào)AI探索時(shí)代 作者:DFires
原文鏈接:??https://mp.weixin.qq.com/s/wS1nsrVa2Yhfqb7p7jj3Wg??
