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