pg賞金女王單機版試玩平臺 前沿重器[27] | 從遺忘問題到預訓練輕量化微調(diào)
邊疆武器
專欄主要分享各大廠商、頂級會議的論文和分享,并從中提取關鍵精華分享給大家,與大家一起掌握前沿技術。詳細介紹:.
最近,我再次總結(jié)了我的歷史文章,總計50萬字,100多篇文章。如果您有興趣,可以看一下。如何獲得:.
回顧過去的問題
所謂遺忘,在心理學上是指原本記得的某件事,但重播時卻發(fā)現(xiàn)無法重播或重播有偏差的現(xiàn)象。所謂的“人工智能”也會出現(xiàn)與人類類似的問題。問題,那么這個問題在預訓練模型中是如何出現(xiàn)的以及如何解決呢?本文將給出我的討論。
背景
一旦模型完成訓練,模型中的大部分參數(shù)都不會被觸及。然而,隨著預訓練模型的出現(xiàn),從“預訓練”到“微調(diào)”的兩階段訓練模型逐漸形成,問題也隨之出現(xiàn)。 ,我們希望這個經(jīng)過努力訓練的預訓練模型可以應用于很多領域,能夠充分利用他的知識,事實上我們受益匪淺。然而值得注意的是,一旦我們繼續(xù)訓練,并且繼續(xù)訓練的內(nèi)容與預訓練任務有較大差異,參數(shù)更新后,我們很有可能會忘記一些我們學過的東西,我們甚至可能不會考慮驗證它。這個問題并不存在,只是我們沒有重視而已。
然而,很多人都注意到了這個問題。 2019年有一篇文章[1]比較好地論證了這種遺忘現(xiàn)象。雖然都是用在CV領域,但也足以引起我們的思考。 。
遺忘的機制
其實上面的背景我們已經(jīng)講了很多了。這里,我們來說說預訓練模型的遺忘問題。
首先,我們都知道預訓練模型是通過學習海量知識得到的。內(nèi)部參數(shù)本質(zhì)上代表了訓練語料對應的語言信息和邏輯知識信息集。值得注意的是,存儲了代表各種信息的參數(shù)。本質(zhì)上,它是預訓練模型中的參數(shù)。
那么,目前使用預訓練模型的主要方式仍然是預訓練+微調(diào)的模式,而微調(diào)注定會動搖訓練好的預訓練模型。這里移動的是預訓練模型中的參數(shù)。如果變化的波動足夠大,就很容易發(fā)生遺忘甚至災難性遺忘。有時,你可以嘗試用更高的學習率運行,你會發(fā)現(xiàn)學習幾代后損失會突然發(fā)生變化。這其實很重要?,F(xiàn)在是最簡單的忘記方法。
不過,值得強調(diào)的是pg網(wǎng)賭軟件下載,雖然參數(shù)在一定程度上代表了知識,但其層次太低了。參數(shù)的修改并不一定代表知識的丟失。知識可以由其他參數(shù)來表示。這也是為什么,在很多情況下,我們并沒有看到微調(diào)帶來很大的負面影響,而且大部分效果還是很好的。
要明白遺忘的核心本質(zhì)是運動,或者是預訓練模型中參數(shù)的過度變化,從而導致了這種遺忘。那么,有沒有辦法解決呢?答案是肯定的。
忘記解決方案
在NLP領域,說到遺忘,就會引用這篇文章[2](強烈建議仔細閱讀這篇文章)。本文闡述了遺忘的本質(zhì),并總結(jié)了一些常見的解決方案,主要分為3點,從目前來看,本文的討論還是可靠的。根據(jù)本文的描述,解決遺忘問題可以概括為三個思路:
如果把問題縮小到預訓練模型的問題上,雖然重播方法很簡單,但問題是預訓練模型之前的任務難以重現(xiàn)且難以控制。畢竟數(shù)據(jù)和任務太重了,而正則化其實現(xiàn)在的方法有很多,而且用起來也很方便。從損失函數(shù)層面控制,修改不會很大。然而,從統(tǒng)計學的角度來看,這種訓練實際上會讓預測結(jié)果產(chǎn)生偏差。這種訓練的最優(yōu)解并不是新任務的最優(yōu)解,而且會因為過于關注原始模型而拖累效果。
所以我其實想說預訓練模型最好的方法其實是第三種方法,參數(shù)隔離,而且這方面其實已經(jīng)有很多研究了。強烈推薦大家嘗試一下,就是輕量級的Finetuning,對一個巨大的預訓練模型進行微調(diào),參數(shù)更新的成本非常高。如果能建一個比較小的模塊,在微調(diào)階段訓練這個,成本會大大降低,而且不會很嚴重。雖然出發(fā)點本身就是為了解決遺忘問題,但訓練的效率確實得到了很大的提升。
輕量級微調(diào)
輕量級微調(diào),有4篇論文想簡單說一下。
第一個是相對基本的適配器[3]。這個模型其實比較簡單,用一張圖就可以理解。它將兩個全連接層添加到 Transformer 層。在訓練階段,只要訓練這個全連接層就可以了,其他的attention部分就不用理解了。這種訓練非常簡單,訓練參數(shù)數(shù)量也很少。
在第二篇文章中,我想談談LoRA[4]。與Adapter相比,其本質(zhì)是將上下游串行關系變?yōu)椴⑿嘘P系??磮D你就明白了。如下圖所示,左邊是預訓練的模型pg麻將胡了試玩平臺,右邊是適配部分。從并行和串行來看,并行似乎有更多的可控空間。
第三篇文章是前綴調(diào)優(yōu)[5]。本文是基于LoRA的更激進的方法。這種做法其實和后面的提示還是挺接近的。大家也可以看下圖,其實就是直接在預訓練的模型前面添加一串predix。使用這種方法可以說非常熟悉預訓練模型的底層理解。
第四篇可以說是前幾部作品的集大成之作。它的長處在于可以結(jié)合上面提到的三篇論文,進行總結(jié)和整理。歸結(jié)起來是這樣的:
通過這樣畫圖,大家可以看到上面三篇論文的特點,并嘗試推導出新的更合理的優(yōu)化方法。
本質(zhì)上我只是想講的是輕量級微調(diào)的常用方法和核心研究工作。詳細內(nèi)容可以直接看論文。參考文獻在文章最后。
輕量化微調(diào)探討
輕量級微調(diào)本質(zhì)上是在預訓練的模型上添加一些插件。這些插件是可訓練的,在更新參數(shù)的過程中,預訓練的模型可以保持不動,經(jīng)過實驗,比傳統(tǒng)的模型要好。微調(diào)對最終效果影響很小,可以說最大限度地提高了靈活性。每次有新任務來,就添加一個插件,直接訓練。訓練完成后,將會是一個新的模型。其實從某種程度上來說pg賞金女王單機版試玩平臺,這是一種遷移學習的方法。文獻[6]已經(jīng)非常直白地闡述了這一點。它非常低。遷移成本和訓練成本以及災難性遺忘都可以在很大程度上得到解決。畢竟預訓練模型的參數(shù)并沒有改變,對吧?但是,如果預訓練模型的參數(shù)保持不變,是否就意味著不存在遺忘呢?答案似乎是否定的。
預訓練模型的參數(shù)保持不變并不意味著沒有遺忘。根本原因是預訓練模型預測的內(nèi)容需要通過adapter進行改造,或者像LoRA一樣進行拼接稀釋。這種情況下,終究還是有損失的可能。的。然而,我們似乎很難判斷是丟失還是損壞,因為最終,測試集說了算。至少我們已經(jīng)盡了迄今為止已知的最大努力來“保留”預訓練模型。
參考
[1]深度神經(jīng)網(wǎng)絡學習過程中實例遺忘的實證研究
[2] 持續(xù)學習調(diào)查:在分類任務中克服遺忘
[3] NLP 適配器的參數(shù)高效遷移學習
[4] LoRA:大型語言模型的低秩適應
[5] 前綴調(diào)優(yōu):優(yōu)化生成連續(xù)提示
[6] 邁向參數(shù)高效遷移學習的統(tǒng)一觀點
我要評論