從做菜的角度來更形象的理解什么是大模型的參數(shù),訓練原理與過程,以及為什么要訓練? 原創(chuàng)
在前面的??大模型參數(shù)的文章??中講了什么是大模型的參數(shù),以及大模型為什么要訓練;
不過那個講的比較抽象,這里就用一個更形象的例子來解釋一下大模型的參數(shù)到底是什么,以及訓練的原理。
01、大模型和廚師
從我們使用者的角度來說,大模型就是一個黑盒,它需要輸入,然后給出一個輸出。
如下圖就是大模型的黑盒模型:

而從我們使用上來看,基本上就是一個聊天框,然后我們輸入文字/圖片/視頻等,然后大模型給我們一個輸出。

而這種模式和我們?nèi)ワ埖瓿燥堃粯樱覀兊斤埖曛簏c菜,然后廚師就會把我們的菜做好,而廚房對我們來說也是一個黑盒。
大模型那么多參數(shù)是干什么的呢?廚師又是怎么做菜的呢?
如果把沒有訓練過的大模型比作一個新東方烹飪學校的學生;那么剛開始這個學生并不會做菜,如果你讓他做菜,那么他只能根據(jù)自己的感覺亂七八糟的一通操作。
這個就是初始化的大模型,它雖然可以輸出結(jié)果,但它輸出的結(jié)果亂七八糟。
所以學生需要去學習怎么做菜;不論會不會做飯的人應(yīng)該都知道,炒菜需要控制火候與調(diào)料,不同的菜需要不同的火候和調(diào)料。
火候有大火小火中火,調(diào)料有必須的蔥姜蒜,還有鹽,辣椒,雞精,麻辣蝦,油等等。
做菜的時候,不同的菜需要不同的搭配,而且需要不同的火候和調(diào)料;比如,西紅柿炒蛋需要有西紅柿和雞蛋,然后調(diào)料需要有鹽,也可以放蔥姜蒜;
而如果做辣椒炒肉,那么就需要有肉和辣椒,然后口味重的人就可以多放一點辣椒和鹽,口味清淡的人就可以少放一點。
對比到大模型也是如此,廚師做菜的材料,調(diào)料與火候是廚師的參數(shù);而大模型也有自己的參數(shù),比如權(quán)重,偏置,卷機網(wǎng)絡(luò)的卷積核,嵌入矩陣,損失函數(shù)參數(shù),激活值,參數(shù)梯度,訓練輪次等。
從技術(shù)等角度來說,大模型的參數(shù)就是大模型的一些變量,之所以是變量是因為這些參數(shù)的值并不是固定的,而是可以變化的;
就像做菜一樣,鹽可以多放一點,也可以少放一點;并不是每次必須放多少鹽。
02、做菜與大模型的訓練
專業(yè)的廚師學習做菜時,會測試不同的菜品放不同含量的調(diào)料會有什么樣的效果,比如放一克鹽和放十克鹽,放蔥姜蒜和不放蔥姜蒜在口味上的區(qū)別。
然后經(jīng)過很多次的測試之后,廚師就知道做什么菜需要放多少鹽,放多少辣椒,然后口味會是什么樣。
而大模型的訓練也是如此,大模型是基于神經(jīng)網(wǎng)絡(luò)的架構(gòu)而開發(fā)的;而一個大模型有很多神經(jīng)網(wǎng)絡(luò)層,每一層又有很多的神經(jīng)元節(jié)點;
那么,不同的神經(jīng)元節(jié)點的權(quán)重和偏置,會對其它神經(jīng)元以及神經(jīng)層會產(chǎn)生什么樣的影響及效果?

不同神經(jīng)網(wǎng)絡(luò)的架構(gòu)的參數(shù)又會有什么樣的影響?比如卷積神經(jīng)網(wǎng)絡(luò)的卷積層的個數(shù),多一層和少一層的區(qū)別?如果是循環(huán)神經(jīng)網(wǎng)絡(luò)呢?
而這些問題都是需要經(jīng)過大量的數(shù)據(jù)訓練,然后給大模型找到一個最優(yōu)的參數(shù)值。
而具體怎么訓練呢?
比如第一次訓練,所有神經(jīng)元的權(quán)重都是1,然后生成了一個結(jié)果;這就類似于第一次做菜,所有的調(diào)料都放1克,然后做出之后嘗嘗好不好吃。
而因為神經(jīng)網(wǎng)絡(luò)是有層的,這樣數(shù)據(jù)在一層一層神經(jīng)網(wǎng)絡(luò)之間的傳遞就叫做正向傳播。
當用1克調(diào)料把“菜”做出來之后,嘗了一下發(fā)現(xiàn)鹽放少了;這時第二次做菜的時候,就可以把鹽多放一點,比如放四克或五克。

而大模型畢竟不是人,所以需要有一個方法來測試它做的“菜”是否合格,而這個東西就是損失差,損失差越大,說明輸出效果越差,“菜”做的越差。
而具體的損失差怎么計算,不同的大模型和架構(gòu)有不同的方法,比如交叉熵損失。
而這時,就需要告訴大模型做的“菜”不好吃,這個告訴的過程就叫做反向傳播。
廚師知道菜做的不好吃的時候,就可以直接調(diào)整下次放調(diào)料的數(shù)量和種類;而大模型也有這種類似的功能,這個功能就是優(yōu)化器,優(yōu)化器的功能就是去調(diào)整大模型的參數(shù),下次把“鹽”放多一點,“辣椒”放少一點。

最小二乘法損失函數(shù)
而這個鹽和辣椒就是大模型中的權(quán)重,偏置,損失函數(shù)參數(shù)等參數(shù)。
而訓練次數(shù)就是廚師鍛煉做菜的次數(shù),可能是十次,也可能是一百次,一千次。
所以說,廚師訓練是不斷的調(diào)整其調(diào)料的數(shù)量和含量;大模型的訓練本質(zhì)上也是在不斷的去調(diào)整它的參數(shù)。
等廚師全部學會之后,還會找一個專業(yè)的老師去評價他做的菜;而在大模型里面,這個就是大模型的評估函數(shù),去測試其效果。
當然,大模型并不是參數(shù)和訓練次數(shù)越多越好,最重要的是合適。
這就是大模型的參數(shù)以及訓練的過程及原理。
本文轉(zhuǎn)載自公眾號AI探索時代 作者:DFires
原文鏈接:??https://mp.weixin.qq.com/s/oZEmLJBoCaHlkyA-6j1ZTw??

















