日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

大模型訓(xùn)練loss突刺原因和解決辦法

來源: 責(zé)編: 時間:2024-01-08 09:18:17 255觀看
導(dǎo)讀最近閱讀了《A Theory on Adam Instability in Large-Scale Machine Learning 》這篇論文。比較全面的闡述了100B以上的大模型預(yù)訓(xùn)練中出現(xiàn)loss spike的原因(loss 突然大幅度上漲),并介紹了一些可能的解決辦法。論文寫

最近閱讀了《A Theory on Adam Instability in Large-Scale Machine Learning 》這篇論文。比較全面的闡述了100B以上的大模型預(yù)訓(xùn)練中出現(xiàn)loss spike的原因(loss 突然大幅度上漲),并介紹了一些可能的解決辦法。論文寫的非常精彩,但整體上有點(diǎn)散和深,我嘗試著站在工業(yè)立場上把它串一下MmN28資訊網(wǎng)——每日最新資訊28at.com

突刺是什么

首先介紹一下什么是loss spike:MmN28資訊網(wǎng)——每日最新資訊28at.com

loss spike指的是預(yù)訓(xùn)練過程中,尤其容易在大模型(100B以上)預(yù)訓(xùn)練過程中出現(xiàn)的loss突然暴漲的情況MmN28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片MmN28資訊網(wǎng)——每日最新資訊28at.com

如圖所示模型訓(xùn)練過程中紅框中突然上漲的loss尖峰 loss spike的現(xiàn)象會導(dǎo)致一系列的問題發(fā)生,譬如模型需要很長時間才能再次回到spike之前的狀態(tài)(論文中稱為pre-explosion),或者更嚴(yán)重的就是loss再也無法drop back down,即模型再也無法收斂MmN28資訊網(wǎng)——每日最新資訊28at.com

PaLM和GLM130b之前的解決辦法是找到loss spike之前最近的checkpoint,更換之后的訓(xùn)練樣本來避免loss spike的出現(xiàn)。MmN28資訊網(wǎng)——每日最新資訊28at.com

突刺成因分析

這篇論文(以下稱本文)對loss spike的出現(xiàn)原因做了十分詳細(xì)的分析,最后認(rèn)為預(yù)訓(xùn)練使用的Adam優(yōu)化器是導(dǎo)致這個現(xiàn)象出現(xiàn)的重要原因之一MmN28資訊網(wǎng)——每日最新資訊28at.com

MmN28資訊網(wǎng)——每日最新資訊28at.com

Adam算法是牛頓下降法的一個迭代逼近 MmN28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片MmN28資訊網(wǎng)——每日最新資訊28at.com

一切顯得十分完美,但是理想很豐滿,現(xiàn)實(shí)很骨感,收斂過程并不是一帆風(fēng)順的MmN28資訊網(wǎng)——每日最新資訊28at.com

MmN28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片MmN28資訊網(wǎng)——每日最新資訊28at.com

非穩(wěn)態(tài)MmN28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片MmN28資訊網(wǎng)——每日最新資訊28at.com

中間態(tài)MmN28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片MmN28資訊網(wǎng)——每日最新資訊28at.com

穩(wěn)態(tài) MmN28資訊網(wǎng)——每日最新資訊28at.com

進(jìn)入正態(tài)分布的穩(wěn)態(tài)之后,理想的更新參數(shù)變化趨勢應(yīng)該是方差越來越小,所有更新參數(shù)逐漸向0靠近。這應(yīng)該是一個單向的過程,即穩(wěn)定的單峰狀態(tài)(unimodal)不會再次進(jìn)入非穩(wěn)定的雙峰狀態(tài)(bimodal),但事實(shí)并非如此,更新參數(shù)會再次進(jìn)入非穩(wěn)定的雙峰狀態(tài)MmN28資訊網(wǎng)——每日最新資訊28at.com

本文在理論層面做了研究和解釋,從中心極限定理(可以結(jié)合道爾頓板實(shí)驗(yàn)理解)出發(fā),認(rèn)為隨機(jī)事件的疊加進(jìn)入單峰的正態(tài)分布的必要條件之一是各個隨機(jī)事件事件之間應(yīng)該是相互獨(dú)立的,但是梯度變化以及更新參數(shù)的變化并不能特別好的滿足獨(dú)立性這一條件,而這一點(diǎn)恰恰是導(dǎo)致更新參數(shù)振蕩,loss spike出現(xiàn)以及l(fā)oss 不收斂的重要原因之一MmN28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片MmN28資訊網(wǎng)——每日最新資訊28at.com

造成梯度變化不獨(dú)立的原因(1、淺層參數(shù)長時間不更新2、batch太大,后期梯度更新趨于平穩(wěn)) 上述的理論有些晦澀,本文作者可能也了解這一點(diǎn),之后開始直接點(diǎn)題,結(jié)合實(shí)驗(yàn)觀察拋出了重要現(xiàn)象和結(jié)論MmN28資訊網(wǎng)——每日最新資訊28at.com

即訓(xùn)練過程中l(wèi)oss spike的出現(xiàn)與:梯度更新幅度, 大小,batch大小這三個條件密切相關(guān)MmN28資訊網(wǎng)——每日最新資訊28at.com

本文作者對loss spike出現(xiàn)時模型的前后變化做了仔細(xì)拆解,發(fā)現(xiàn)下列一系列連續(xù)現(xiàn)象的出現(xiàn)導(dǎo)致了loss spike:MmN28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片MmN28資訊網(wǎng)——每日最新資訊28at.com

  1. 當(dāng)前模型處在穩(wěn)態(tài)(健康狀態(tài)),即單峰的正態(tài)分布狀態(tài),并且梯度值 ,此時loss平穩(wěn),訓(xùn)練過程正常

圖片圖片MmN28資訊網(wǎng)——每日最新資訊28at.com

2.模型淺層(embedding層)梯度  ,這一般是由于訓(xùn)練一段時間之后,淺層的語義知識表示此時一般已經(jīng)學(xué)習(xí)的較好。但此時深層網(wǎng)絡(luò)(對應(yīng)復(fù)雜任務(wù))的梯度更新還是相對較大MmN28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片MmN28資訊網(wǎng)——每日最新資訊28at.com

3.一段時間淺層(embedding層)梯度  之后會導(dǎo)致  ,  。此時趨于0。因此導(dǎo)致淺層參數(shù)得不到更新(也對應(yīng)于上述參數(shù)更新事件不獨(dú)立的原因)MmN28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片MmN28資訊網(wǎng)——每日最新資訊28at.com

4.此時雖然淺層(embedding層)參數(shù)長時間不更新,但是深層的參數(shù)依然一直在更新。長時間這樣的狀態(tài)之后,batch之間的樣本分布變化可能就會直接導(dǎo)致淺層(embedding層)再次出現(xiàn)較大的梯度變化(可以想象成一個水壩蓄水太久終于被沖開了。至于小模型為什么不會出現(xiàn)這種情況,推測是小模型函數(shù)空間小,無法捕獲樣本的分布變化,越大規(guī)模的模型對樣本之間不同維度的特征分布變化越敏感),此時 , 再次集中在 附近(此時 , ),變成雙峰的非穩(wěn)定狀態(tài),本文提到了淺層(embedding層)這種突然的參數(shù)變化可能造成模型的連鎖反應(yīng)進(jìn)而出現(xiàn)loss spike的現(xiàn)象(這也對應(yīng)了更換樣本重新訓(xùn)練有可能會減少loss spike的出現(xiàn)頻率,實(shí)際上就是選擇分布變化較小的樣本,減小淺層梯度變換幅度)MmN28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片MmN28資訊網(wǎng)——每日最新資訊28at.com

5.這個階段模型處于非穩(wěn)態(tài),梯度變化幅度較大,每一次的梯度變化和更新參數(shù)變化事件之間又出現(xiàn)了一定的獨(dú)立性,因此經(jīng)過一定的時間之后模型有可能再次進(jìn)入穩(wěn)態(tài),loss再次drop back down(注意,本文著重提了這個再次drop back down并不是一定出現(xiàn)的,也很有可能loss長期處于flat狀態(tài),再也無法收斂)MmN28資訊網(wǎng)——每日最新資訊28at.com

因此我們得出一些結(jié)論,loss spike的出現(xiàn)和淺層的梯度更新幅度, 大小密切相關(guān)(batch大小帶來的相關(guān)性問題倒是顯得沒那么大說服力),實(shí)際上就是淺層網(wǎng)絡(luò)參數(shù)突然進(jìn)入到了之前長時間不在的狀態(tài)與模型深層參數(shù)當(dāng)前的狀態(tài)形成了連鎖反應(yīng)造成了模型進(jìn)入非穩(wěn)態(tài)。同時一般情況即使出現(xiàn)loss spike也會自動回復(fù)到正常狀態(tài),但也有可能再也不會MmN28資訊網(wǎng)——每日最新資訊28at.com

突刺解法

本文最后提到了防止loss spike出現(xiàn)的一些方法:MmN28資訊網(wǎng)——每日最新資訊28at.com

1.如之前提到的PaLM和GLM130B提到的出現(xiàn)loss spike后更換batch樣本的方法(常規(guī)方法,但是成本比較高)MmN28資訊網(wǎng)——每日最新資訊28at.com

2.減小learning rate,這是個治標(biāo)不治本的辦法,對更新參數(shù)的非穩(wěn)態(tài)沒有做改進(jìn)MmN28資訊網(wǎng)——每日最新資訊28at.com

3.減小 大小。或者直接把 設(shè)為0,重新定義MmN28資訊網(wǎng)——每日最新資訊28at.com

在等于0時候的值(這應(yīng)該是個值得嘗試的辦法)MmN28資訊網(wǎng)——每日最新資訊28at.com

值得一提的是智譜華章在本文發(fā)表之前,在去年的GLM130B訓(xùn)練時似乎也觀察到了淺層梯度變化和loss spike相關(guān)這一現(xiàn)象(GLM-130B: An Open Bilingual Pre-trained Model),他采取的是把淺層梯度直接乘以縮放系數(shù) 來減小淺層梯度更新值MmN28資訊網(wǎng)——每日最新資訊28at.com

出自130b出自130bMmN28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片MmN28資訊網(wǎng)——每日最新資訊28at.com

其實(shí)這塊我有個自己的想法,和是否也可以做衰減,隨著訓(xùn)練過程逐漸減小,來避免loss spike的現(xiàn)象MmN28資訊網(wǎng)——每日最新資訊28at.com

另外假設(shè)我們能一次性加載所有樣本進(jìn)行訓(xùn)練(實(shí)際上不可能做到),是否還會出現(xiàn)loss spike的現(xiàn)象MmN28資訊網(wǎng)——每日最新資訊28at.com

最后目前流行的fp8,fp16混合訓(xùn)練,如果upscale設(shè)置的過小,導(dǎo)致梯度在進(jìn)入優(yōu)化器之前就下溢,是不是會增加淺層梯度長時間不更新的可能性,進(jìn)而增加loss spike的出現(xiàn)的頻率。(這么看來似乎提升upscale大小以及優(yōu)化 大小是進(jìn)一步提升模型效果的一個思路)MmN28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-57943-0.html大模型訓(xùn)練loss突刺原因和解決辦法

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Maven的插件體系如何幫助開發(fā)人員執(zhí)行各種構(gòu)建任務(wù)?

下一篇: 加快SQL查詢的九種優(yōu)秀實(shí)踐

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 广灵县| 永州市| 涞水县| 鸡西市| 乌拉特后旗| 台东市| 剑川县| 金坛市| 永昌县| 新野县| 沧州市| 醴陵市| 达拉特旗| 灵川县| 合阳县| 营口市| 信阳市| 八宿县| 泸定县| 天全县| 若羌县| 藁城市| 唐海县| 台东市| 垫江县| 独山县| 广安市| 新野县| 蒙城县| 保定市| 达州市| 海安县| 夏河县| 芦山县| 安新县| 广丰县| 肇源县| 高州市| 丰原市| 扎鲁特旗| 荔波县|