0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

只修改一個關(guān)鍵參數(shù),就會毀了整個百億參數(shù)大模型?

AI科技大本營 ? 來源:CSDN ? 2024-02-20 14:51 ? 次閱讀

自然語言處理領(lǐng)域存在著一個非常有趣的現(xiàn)象:在多語言模型中,不同的語言之間似乎存在著一種隱含的對齊關(guān)系。復(fù)旦NLP團隊在早期便開始做了一些相關(guān)的工作,于2022年發(fā)布了一篇關(guān)于Multilingual BERT的分析[1],隨后團隊持續(xù)進行對大語言模型內(nèi)語言對齊機制、語言與知識結(jié)構(gòu)之間內(nèi)在聯(lián)系的深入研究,并在AAAI 2024提交了一份研究報告,提出了關(guān)于大語言模型中語言對齊部分的若干猜想?;谶@些研究成果,本文將分享一些大語言模型中語言和知識分離的現(xiàn)象。

現(xiàn)象 1:mBERT 模型的跨語言遷移

2022 年開始,我們發(fā)現(xiàn) Multilingual BERT 是一個經(jīng)過大規(guī)??缯Z言訓(xùn)練驗證的模型實例,其展示出了優(yōu)異的跨語言遷移能力。具體表現(xiàn)為,該模型能夠在某單一語言環(huán)境下訓(xùn)練完成一個部分后,可以非常容易地成功遷移到其他語言環(huán)境中執(zhí)行任務(wù)。這一現(xiàn)象不禁令人思考:模型中是否存在某種特定的部分?為了探索這種多語言對齊的現(xiàn)象,研究采用了 Prompt 搜索方法對模型逐層分析(見圖 1),針對每種語言的每一層網(wǎng)絡(luò)及各個head(全稱attention-head,BERT的基本組成模塊)單元進行了細致研究,旨在考察它們對語法分類任務(wù)的執(zhí)行能力。

e8532da2-cfbb-11ee-a297-92fbcf53809c.png

圖 1mBERT 不同層恢復(fù)各類語言語法關(guān)系的準確性

在針對多語言樣本的測試中,我們選取了每種語言不同層次的部分 head 進行測試,評估它們在語法關(guān)系預(yù)測任務(wù)上的表現(xiàn)。實驗結(jié)果顯示了一個較為顯著的現(xiàn)象:在大規(guī)模預(yù)訓(xùn)練過程中,即使未注入任何顯式的語法先驗知識,模型依然能夠在語法結(jié)構(gòu)層面展現(xiàn)出良好的對齊特性,并能在不同層次間保持一定的精度一致性。這一趨勢在大多數(shù)語言中尤為突出,但在某些特殊或較少使用的語言中則不甚明顯。

通過對多種不同語法現(xiàn)象的預(yù)測比較,研究著重對比了英語與西班牙語、英語與日語之間的差異。在第 7 層網(wǎng)絡(luò)的語法關(guān)系可視化中,數(shù)據(jù)顯示親緣性較高的語言,其預(yù)測位置更為接近且分布趨于均勻。而像英語與日語這樣差異較大的語言,部分語法成分的預(yù)測位置相對集中(見圖 2),未能有效區(qū)分開來。

e85755a8-cfbb-11ee-a297-92fbcf53809c.png

圖 2mBERT 第 7 層的不同語法關(guān)系表示的可視化

接下來我們發(fā)現(xiàn)了更為不尋常的現(xiàn)象:當(dāng)針對特定任務(wù)對模型進行微調(diào)(Fine-tune)時,比如運用 Multilingual BERT 進行任務(wù)傾向性分析或命名實體識別等任務(wù)的微調(diào)后,模型在處理語法成分的對齊關(guān)系及區(qū)分邊界的表現(xiàn)會得到顯著提升(見圖 3)。

e86b9d38-cfbb-11ee-a297-92fbcf53809c.png

圖 3 在進行任務(wù) Fine-Tune 之后,聚合對齊更加明顯

在未經(jīng)微調(diào)的原始模型中,其內(nèi)部蘊含了大量的語法預(yù)測信息,這些預(yù)測主要聚集在模型的中間層級,混合度比較高。但在執(zhí)行相應(yīng)的任務(wù)預(yù)測微調(diào)之后,這些預(yù)測分布會變得更為清晰、更具獨立性?;谶@一現(xiàn)象,可以合理推測 Multilingual BERT 模型上用單一語言微調(diào)特定任務(wù)后,其學(xué)習(xí)到的能力能夠快速遷移到其他語言的原因。

現(xiàn)象 2:大語言模型同樣存在顯著的語言對齊

鑒于我們已經(jīng)在上述 2022 年的研究中做了相關(guān)工作,并揭示了 Multilingual BERT 中的語言對齊現(xiàn)象,那么在大語言模型上面,除了 decoder-only 結(jié)構(gòu)的設(shè)計改進外,剩下的就是模型的寬度和深度拓展。此現(xiàn)象在 Multilingual BERT 中的存在,自然引起了我們對大語言模型內(nèi)部語言對齊和語法-語義對齊特性的探究。

為了更深入地解釋這一問題,我們首先在2023年EMNLP發(fā)表了一篇論文[2],不僅在原始 Multilingual BERT 上進行了相應(yīng)的分析工作,還在 LLaMa 模型上復(fù)現(xiàn)了這一現(xiàn)象。研究采用了一系列額外的語言評價指標,諸如 RSA 等,以期望獲得更全面和準確的結(jié)論。研究結(jié)果表明,該現(xiàn)象在大語言模型上面與 Multilingual BERT 非常類似(見圖4)。若按照先前提出的分層邏輯,模型在語法層面展現(xiàn)出明顯的對齊性,這與我們早期的研究結(jié)果高度一致。

e889be8a-cfbb-11ee-a297-92fbcf53809c.png

圖 4語言直接在句法關(guān)系上具有很強的對齊性

其次,我們探索了將 Multilingual BERT 上的遷移工作應(yīng)用到更大規(guī)模的語言模型上。具體來說,我們在詞性標注任務(wù)(POS tag, Parts-of-speech tagging)上設(shè)計了一種特殊的方法(見圖 5)。在面對單個語言的小規(guī)模數(shù)據(jù)集時,我們選取了若干位置,無須任何標注數(shù)據(jù),直接使用 Multilingual BERT 的遷移方式,從而在多語言環(huán)境中獲得了優(yōu)秀的標注效果。舉例來說,即使缺乏阿拉伯語的標注數(shù)據(jù)集,僅擁有英語和法語的數(shù)據(jù)集,也能成功地遷移到其他語言環(huán)境。

e89bc904-cfbb-11ee-a297-92fbcf53809c.png

圖5詞性標注任務(wù),可以通過跨語言訓(xùn)練得到非常高的結(jié)果

所以,在大語言模型當(dāng)中也依然存在這種語言對齊現(xiàn)象。模型已成功實現(xiàn)了詞形(單詞形式,word form)與中間層語義表示、語法表示之間的轉(zhuǎn)換,脫離了原有的詞形,這一轉(zhuǎn)換使得模型能夠去處理別的任務(wù)。

通過前面的分析和工作,我們得出結(jié)論,大語言模型在多語言預(yù)訓(xùn)練階段確實有效地實現(xiàn)了不同語言間語義層面上的對齊。我們認為,相較于可能不太重要的形式層面,語義層面的一致性可能是關(guān)鍵所在。一旦語義層面實現(xiàn)統(tǒng)一,理論上可以直接應(yīng)對多種相關(guān)的下游任務(wù)。為了驗證這一猜想,我們進一步開展了一系列研究工作。

現(xiàn)象 3:知識與語言分離

以下是我們投稿至AAAI 2024的論文[3]。假設(shè)語義層面已經(jīng)實現(xiàn)了很好的對齊,那么詞匯形式的具體表達的重要性便會相應(yīng)大幅削弱。為此,我們深入探究了如何從LLaMa模型出發(fā),將其語言能力遷移至其他小型語種的過程中,即便面對詞形的變化,模型內(nèi)部已經(jīng)具備一層進行語義轉(zhuǎn)換的能力。

從以英語為主的訓(xùn)練語言轉(zhuǎn)向中文或任何其他語言時,實際上的轉(zhuǎn)換需求就僅限于形式上的改變。通常,將 LLaMA 擴展為小語言需要經(jīng)歷三步(見圖6):第一步是詞表擴展(Vocabulary Extension);第二步是繼續(xù)預(yù)訓(xùn)練(Further Pre-training);第三步是任務(wù)添加,所以需要使用 SFT(Supervised Fine-Tuning)數(shù)據(jù)。

e8b27258-cfbb-11ee-a297-92fbcf53809c.png

圖6將英文 LLaMA 擴展為其他語言

為了更清晰地理解這一過程,我們將其分解為三種形式進行觀察。第一種形式是完全不改動詞表,直接進行繼續(xù)預(yù)訓(xùn)練和指令微調(diào)。第二種形式只進行詞表擴展,而不進行其他操作。第三種形式則完全省略前兩步,直接使用大量的 SFT 數(shù)據(jù)進行訓(xùn)練。

基于這些設(shè)定,我們進行了對比實驗。首先,直接使用 LLaMA 或 LLaMA 2 進行 SFT 訓(xùn)練,觀察使用經(jīng)過詞料擴展和大規(guī)模負責(zé)培訓(xùn)后的效果,例如 Chinese LLaMA、Chinese LLaMA 2 和我們實驗室開源的 Open Chinese LLaMA(經(jīng)過 200b 數(shù)據(jù)訓(xùn)練)。此外,我們還測試了不進行詞表擴展,直接使用 100k 和 1m 數(shù)據(jù)對中文語料進行 SFT 訓(xùn)練的情況。

由于評測的目的是模型生成能力,所以我們使用了能提供生成式問答題目的 LLMEVAL 評測方式,基于模型生成數(shù)據(jù)的正確性、信息量、流暢性、邏輯性等部分,分別用 GPT-4 進行打分,結(jié)果如下(見圖 7)。

e8b67ea2-cfbb-11ee-a297-92fbcf53809c.png

圖7Token 擴展會導(dǎo)致原始信息丟失,需要大量訓(xùn)練才能恢復(fù)

因此,以 Chinese LLaMA 為例,恢復(fù)信息需要達到 200 倍以上的二次預(yù)訓(xùn)練數(shù)據(jù),這會大幅增加訓(xùn)練成本。如果使用需求是讓 token 的生成速度變快,我們認為依舊可以擴展詞表。反之,若對生成速度沒有特別大的需求,如 LLaMA 根據(jù) UTF-8 編碼生成可能需要 2 ~ 3 個 token 才能產(chǎn)生一個漢字,在只追求生成質(zhì)量的情況下,直接進行大量中文的 SFT 數(shù)據(jù)訓(xùn)練,就已經(jīng)可以實現(xiàn)非常好的處理效果。也就是說,詞形和語義在語言層面已經(jīng)進行了分離,提供其中文能力并不需要特別大量的數(shù)據(jù)訓(xùn)練。在 SFT 非常少量時,大規(guī)模的二次預(yù)訓(xùn)練可以加快模型對于指令的響應(yīng)學(xué)習(xí),但當(dāng) SFT 數(shù)據(jù)量擴展到 950k 之后,再去增加中文的二次預(yù)訓(xùn)練數(shù)據(jù)其實并沒有什么特別的意義,例如在 950k SFT 的情況下,LLaMA 對比經(jīng)過 1M 中文二次預(yù)訓(xùn)練的 LLaMA 模型,效果并沒有大幅度的變化。

這也是我們之后在語言解釋工作上的基礎(chǔ):語言的詞形消失,知識和語言被分離,加入少量的中文數(shù)據(jù)無法在知識層面提升模型能力?;谶@種思考,我們開始了新的評測(見圖 8),其中藍色的部分是 LLaMA-7b 模型,粉紅色的部分是 LLaMA-2-7B 模型,綠色的部分是 LLaMA-13B 模型。我們希望借此看看,在經(jīng)過大量的訓(xùn)練之后,模型的知識層面會產(chǎn)生哪些變化。

e8bcfa16-cfbb-11ee-a297-92fbcf53809c.png

圖8使用中文進行二次預(yù)訓(xùn)練并不能在知識層面提升模型能力

在經(jīng)過 C-Eval、GAOKAO-Bench、MMLU 和 AGIEval 等基準評測之后,觀察到大量未經(jīng)針對性優(yōu)化的預(yù)訓(xùn)練模型并未顯著提升其內(nèi)在的知識掌握程度,反而在某些情況下相較于原始 LLaMA 模型有所下滑。這主要是由于目前普遍采用的中文語料庫訓(xùn)練數(shù)據(jù)規(guī)模有限,進而制約了模型在語言理解和生成方面的性能表現(xiàn),導(dǎo)致了此類評測結(jié)果的出現(xiàn)。因此,如何有效地開展針對中文環(huán)境的第二階段預(yù)訓(xùn)練亟需更多思考。單純依賴現(xiàn)有方法,并不能充分反映出模型在特定中文領(lǐng)域知識的進步。值得注意的是,僅在現(xiàn)有的通用模型中融入少量涵蓋世界知識或是物理、化學(xué)、數(shù)學(xué)等領(lǐng)域?qū)I(yè)知識的中文數(shù)據(jù),是沒有太大意義的。

在其他語言中,我們也做了類似的工作(見圖 9)。研究選了十幾種語言,每種語言都用相應(yīng)的 SFT 數(shù)據(jù)進行訓(xùn)練和測試,觀察發(fā)現(xiàn)數(shù)據(jù)達到一定量級,如 65k SFT 之后,都處于相對可用的版本。但因為這些 SFT 數(shù)據(jù)有一部分是機器翻譯的,不如中文直接使用的效果。

e8c1d6da-cfbb-11ee-a297-92fbcf53809c.png

圖9在其他低資源語言中表現(xiàn)類似

現(xiàn)象 4:語義和詞形對齊

訓(xùn)練過程中,我們發(fā)現(xiàn)了一些有趣的現(xiàn)象,也可以從一定程度上說明這種語義和詞形對齊的關(guān)系。例如,用 95k 的 SFT 對某些進行訓(xùn)練,并將早前的一些 checkpoint(在訓(xùn)練過程中不同時間點保存的模型版本)打印出來,并詢問以下問題(見圖10):

e8dd21a6-cfbb-11ee-a297-92fbcf53809c.png

圖10訓(xùn)練過程中非常明顯的 Coding-Switch(語碼轉(zhuǎn)換)現(xiàn)象

模型在響應(yīng)查詢時,輸出的部分內(nèi)容以紅色和藍色標示。我們觀察到,模型能夠在保持語義連貫正確的前提下,自動插入其他語言的詞匯,而且這些詞匯與前面的內(nèi)容銜接自然流暢,仿佛原本就應(yīng)該屬于同一句話。這就從某種程度上表明,模型在內(nèi)部實現(xiàn)了語義與詞形的解耦,即模型有能力在維持語義完整性的同時,靈活處理不同語言的詞形表達,引證了我們前文中的一些猜想。我們做了十幾種語言,每種語言都出現(xiàn)了一定比例的 Coding-Switch 現(xiàn)象,所以這并不僅僅是中文特有的個例。

現(xiàn)象 5:少量的數(shù)據(jù)就能影響整個大模型

基于上述發(fā)現(xiàn),我們開始深入思考。除了之前觀察到的這些現(xiàn)象之外,其實在大語言模型的訓(xùn)練過程當(dāng)中還有很多別的現(xiàn)象,比如“毛刺”(見圖11),即“噪音”(Noise)。在進行大規(guī)模預(yù)訓(xùn)練時,我們自身也進行了 30b 和 50b 參數(shù)級別的模型預(yù)訓(xùn)練,同樣發(fā)現(xiàn)了類似情況。每當(dāng)遇到這些噪音數(shù)據(jù),我們的解決辦法通常是回溯,回滾到出現(xiàn)問題的預(yù)訓(xùn)練階段,檢查那一階段的數(shù)據(jù)。多數(shù)情況下,我們發(fā)現(xiàn)是由預(yù)訓(xùn)練數(shù)據(jù)所引起的,這部分有問題的數(shù)據(jù)會導(dǎo)致模型的 PPL(perplexity)值急劇升高。

e8f48cec-cfbb-11ee-a297-92fbcf53809c.png

圖11“毛刺”

為何少量的數(shù)據(jù)會對如此大規(guī)模的模型造成如此嚴重的影響呢?OpenAI 和 Anthropic 在他們的論文[4][5]中均對此有所涉及,他們在研究 SFT 和預(yù)訓(xùn)練相關(guān)課題時,大多得出類似的結(jié)論:模型進行兩三輪的微調(diào)通常就已經(jīng)接近最優(yōu)狀態(tài),過多的訓(xùn)練輪次往往會導(dǎo)致模型性能下降。這一結(jié)論在我們自身的實驗中均得到了印證。

在傳統(tǒng)訓(xùn)練流程中,我們可能對某部分數(shù)據(jù)訓(xùn)練 30 輪或 50 輪,即便數(shù)據(jù)質(zhì)量不高,也只是導(dǎo)致這部分訓(xùn)練效果不佳。然而,在大語言模型上,當(dāng)我們引入少量 SFT 數(shù)據(jù)并進行六輪甚至十輪微調(diào)時,整個模型的能力卻可能會急劇下降,且在 SFT 數(shù)據(jù)上的表現(xiàn)也并未改善。這究竟是什么原因呢?這一系列疑問驅(qū)使我們?nèi)ヌ綄ど顚哟蔚拇鸢?,促使我們開始想要打開黑盒,去對它做更進一步的解釋和分析。

以前,想對人腦的認知功能進行深入分析是很難的,因為直接觀測和測量人腦各區(qū)域的功能是不可行,同時現(xiàn)代倫理準則也嚴格約束了對動物(如猴子)進行復(fù)雜神經(jīng)科學(xué)實驗的可能性。例如,我看過一則關(guān)于剝奪猴子視覺社交刺激的研究引發(fā)爭議,因其可能對動物造成不可逆的影響。

人工智能領(lǐng)域,BERT 模型的出現(xiàn)雖然為語言處理帶來了重大突破,但其智能程度相對有限,且結(jié)構(gòu)和動態(tài)行為相對易于分析。隨著大語言模型的發(fā)展,尤其是參數(shù)量龐大的預(yù)訓(xùn)練模型,它們展現(xiàn)了更高水平的智能表現(xiàn),同時也帶來了新的挑戰(zhàn)——模型的內(nèi)部工作機理更加復(fù)雜且難以直觀理解。那怎么辦呢?我覺得不能像電視劇里劉華強說的那樣,“給你機會還不中用”。既然有了機會,我們還是得把握住。

大語言模型參數(shù)中記錄了知識有明顯的語言核心區(qū)

經(jīng)過先前的一系列分析,我們旨在探究這些現(xiàn)象如何具體表現(xiàn)在大型語言模型的參數(shù)結(jié)構(gòu)中,并從參數(shù)當(dāng)中研究出一些解釋和情況。過去半年以來,我們不停地實驗就是圍繞這一目標展開。在某種程度上,這與人腦的功能分區(qū)原理相似——人腦中有專門的語言區(qū)及核心區(qū),而在大語言模型中也可能存在著負責(zé)語言理解與知識表達的部分結(jié)構(gòu)?,F(xiàn)在有相當(dāng)一部分共識,認為一部分知識存儲和處理功能可能對應(yīng)于模型中的前饋神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Network, FFN)部分,尤其是其中的多層感知器(Multi-Layer Perceptron, MLP)組件。然而,目前我們的研究結(jié)果其實還比較初步,有些實驗結(jié)論其實并不一定十分可靠。

研究中,我們認為大模型中明顯存在著承載語言能力的核心區(qū)域。為什么會這么說?這一判斷基于如下實驗設(shè)計:首先,我們選取了六種語言,針對每種語言收集了約十萬條未曾出現(xiàn)在 LLaMA 原始訓(xùn)練集中的文本數(shù)據(jù),這些數(shù)據(jù)源自書籍并經(jīng)由轉(zhuǎn)換獲取,出現(xiàn)重疊的概率較低。接下來,我們利用這些數(shù)據(jù)對 LLaMA 模型進行了二次預(yù)訓(xùn)練。

預(yù)訓(xùn)練完成后,我們對比了模型訓(xùn)練前后參數(shù)的變化情況,針對每種語言獨立進行。首先對韓語進行預(yù)訓(xùn)練并記錄參數(shù)變化,隨后依次對俄語、越南語等其余語言進行相同操作。實驗中,我們特別關(guān)注了權(quán)重變化最大的 1% 至 5% 的參數(shù)部分,因為直覺上人們通常認為權(quán)重變化較大的區(qū)域更為重要。經(jīng)過四個月的研究,我們發(fā)現(xiàn)并非權(quán)重變化大的區(qū)域才最關(guān)鍵,相反,那些經(jīng)過大規(guī)模預(yù)訓(xùn)練后變化很小的參數(shù)區(qū)域才是模型的核心穩(wěn)定部分。

為驗證這一點,我們進一步做了若干實驗。我們發(fā)現(xiàn)有非常少數(shù)的參數(shù)在所有語言二次預(yù)訓(xùn)練中變化都很小(見圖 12),無論在哪一層、哪個矩陣,都有一個顯著的集中區(qū)域,其參數(shù)變化極其微小,在不同語言上的變化都非常有限。因此,我們將六種語言訓(xùn)練前后參數(shù)變化幅度累計起來,考察各個位置變化的綜合程度,并挑選出變化最小的1%至 5%的參數(shù)。

e91d3cb4-cfbb-11ee-a297-92fbcf53809c.png

圖12有非常少數(shù)的參數(shù)在所有語言二次預(yù)訓(xùn)練中變化都很小

把這部分參數(shù)拿出來之后,我們將這些變化極小的參數(shù)區(qū)域進行擾動實驗。通過 7b 參數(shù)規(guī)模的模型,我們選取底層變化最小的 3%參數(shù)進行隨機化處理,然后觀察模型的 PPL 指標(見圖13)。實驗結(jié)果顯示,當(dāng)擾動這最小變化的 3% 參數(shù)時,PPL 值會顯著上升;而如果我們從模型中隨意選取 3% 的參數(shù)進行同樣的擾動,PPL 雖會下降,但下降幅度并不明顯。反之,如果我們對權(quán)重變化最大的那部分參數(shù)(同樣取 3%)進行擾動,雖然 PPL 會比隨機擾動稍高,但只要擾動那些變化最小的核心區(qū)域,PPL 值就會劇烈上升。同樣,我們還嘗試了僅擾動 1% 參數(shù)的情況,盡管變化幅度略有減小,但總體影響仍然較大,表現(xiàn)為幾千到幾萬的增量。

e9216cf8-cfbb-11ee-a297-92fbcf53809c.png

圖13擾動核心區(qū)域在 130 種語言上 PPL 全都呈現(xiàn)爆炸趨勢

如果用 13b 參數(shù)的模型重復(fù)上述工作,得到的結(jié)論是完全一致的(見圖 14)。只要是變動這個區(qū)域 3% 的部分,整個模型語言能力基本上就會完全喪失掉了。

e92bf84e-cfbb-11ee-a297-92fbcf53809c.png

圖14LLaMA2-7B 和 13B 現(xiàn)象完全一樣

語言能力區(qū)域非常重要,所以我們通過凍結(jié)它做了另一個實驗(見圖 15)。實驗中,我們首先鎖定了模型的語言核心區(qū)參數(shù),并用中文知乎數(shù)據(jù)對該模型進行再訓(xùn)練。另一組對照實驗則是不解凍核心區(qū)參數(shù)。通過在中文微信公眾號和英文 Falcon 數(shù)據(jù)集各選取 1 萬條樣本計算 PPL,我們發(fā)現(xiàn):若凍結(jié)語言核心區(qū)并用 5 萬條中文知乎數(shù)據(jù)進行訓(xùn)練,模型的中文 PPL 可以恢復(fù)至約 7 左右,表明模型通過其他區(qū)域的參數(shù)補償了語言能力;但英文能力在這種條件下無法恢復(fù)到先前的爆炸趨勢中

e943c71c-cfbb-11ee-a297-92fbcf53809c.png

圖15 模型具備一定的“代償”能力,可以使用中文數(shù)據(jù)訓(xùn)練以恢復(fù)中文能力

然而,如果僅擾亂而不凍結(jié)語言核心區(qū)參數(shù),僅通過中文知乎數(shù)據(jù)訓(xùn)練,無論是中文PPL還是英文PPL都能恢復(fù)至接近原始模型的良好狀態(tài)(見圖 16)。因此,語言核心區(qū)的參數(shù)至關(guān)重要,且對模型能力的影響呈現(xiàn)出平滑而敏感的特點,只需幾千條數(shù)據(jù)即可相對容易地恢復(fù)其原有功能。然而,一旦該區(qū)域被鎖定,模型能力的恢復(fù)將變得困難,性能指標會出現(xiàn)顯著變化。

e94ed986-cfbb-11ee-a297-92fbcf53809c.png

圖16 在語言區(qū)不鎖定的情況下,僅訓(xùn)練中文,英文也能恢復(fù)一定能力

觀察打印出的區(qū)域(見圖 17),可以發(fā)現(xiàn) QKVO 矩陣在維度上具有明顯的集中現(xiàn)象,即主要集中在一小部分維度上。

e9598fb6-cfbb-11ee-a297-92fbcf53809c.png

圖17 QKVO矩陣都呈現(xiàn)維度集中現(xiàn)象

雖然MLP層沒有那么明顯的集中性,但在進一步放大查看后,發(fā)現(xiàn)在某些列上也存在顯著的現(xiàn)象(見圖18)。

e969fff4-cfbb-11ee-a297-92fbcf53809c.png

圖18 FFN-UP & Down某些維度上具有明顯的列聚集現(xiàn)象

例如,在最后一層的mlp.down這個區(qū)域里面,少量維度尤其集中(見圖19)。

e97bef70-cfbb-11ee-a297-92fbcf53809c.png

圖19 維度集中現(xiàn)象明顯

基于此,我們進一步分析,這種維度集中性與 Layer Norm(層歸一化,Layer normalization)中的單個維度擾動在計算上等效,于是我們嘗試直接擾動 Layer Norm 中的單個維度。

實驗結(jié)果顯示,在 LLaMA 2-13B 模型中,如果僅擾動第一層的 input Layer Norm 2100 維度,將其隨機化,模型的 PPL 值會由 5.877 突升至 21.42;若將該值乘以 10,PPL 值則更劇烈地增加到為 3 億多(見圖 20)。這表明盡管其他 Layer Norm 參數(shù)在理論上同樣重要,但擾動它們并不會導(dǎo)致如此嚴重的性能崩潰。然而,對于這些特定維度,即便是微小的改動也會帶來顯著的性能變化。

e98c6e7c-cfbb-11ee-a297-92fbcf53809c.png

圖20 擾動實驗

為了直觀展示這種變化,我們用擾動后的模型進行句子補全任務(wù),輸入為“Fudan University is located in”(復(fù)旦大學(xué)位于……)。在正常狀態(tài)下,LLaMA2-13B 模型能夠輸出高質(zhì)量的結(jié)果,甚至可以處理中英混合,例如直接給出復(fù)旦大學(xué)官網(wǎng)的鏈接。然而,如果將 2100 維度的 Layer Norm 隨機化,模型便開始出現(xiàn)知識錯誤和語言錯誤,生成的文本不再正確(見圖 21)。但同等程度地擾動其他維度,模型的語言輸出卻不會出現(xiàn)較大變化。

e991a964-cfbb-11ee-a297-92fbcf53809c.png

圖21僅修改 130 億參數(shù)中的 1 個就會使模型混亂

再回來看圖 20,若將 2100 的維度乘以 10,模型的 PPL 值急劇增大,輸出變得雜亂無章??梢?,如果在這個特定位置(2100 維度)改動參數(shù),整個語言模型的功能就會嚴重受損。當(dāng)然,如果我們對其他位置的參數(shù)乘以 10,也會導(dǎo)致一些錯誤,比如模型可能會錯誤地將濟南等地識別為復(fù)旦大學(xué)的校區(qū)。通過 PPL 指標,我們可以明顯看出這些擾動對模型性能的具體影響,更何況未經(jīng)擾動的 LLaMA2-13B 模型上本身也經(jīng)不起多次嘗試導(dǎo)致的錯誤。也就是說,130 億參數(shù)的大模型只改一個參數(shù),整個模型的語言能力就能完全歸零。

大模型語言核心區(qū)與維度依賴理論

這些現(xiàn)象和理論能帶來什么?其實我覺得它能在構(gòu)建大模型時提供諸多有益的解釋。以往我們的部分工作采用了一些技巧性的方法,盡管成效顯著,但卻難以闡明其內(nèi)在機制。

首先,在進行二階段預(yù)訓(xùn)練時,若目標是增強模型在特定領(lǐng)域(如醫(yī)學(xué)或強化中文知識)的表現(xiàn),而原始訓(xùn)練數(shù)據(jù)對該領(lǐng)域覆蓋不足,傳統(tǒng)的經(jīng)驗告訴我們,必須輔以大量相關(guān)背景知識的混合數(shù)據(jù)。例如,在開發(fā) Open Chinese LLaMA 時,我們發(fā)現(xiàn)僅添加純中文數(shù)據(jù)會導(dǎo)致模型性能大幅下降,而現(xiàn)在我們明白參數(shù)各個區(qū)域負責(zé)部分其實已經(jīng)確定,如果大量增加某類在預(yù)訓(xùn)練時沒有的知識,會造成參數(shù)的大幅度變化,造成整個語言模型能力損失。

若要對特定分區(qū)進行調(diào)整,就必須引入與之相關(guān)的背景知識,添加 5 ~ 10 倍原始預(yù)訓(xùn)練中的數(shù)據(jù),并打混后一起訓(xùn)練,這樣才能讓模型逐步適應(yīng)變化。否則,一旦觸及核心區(qū)域,模型將喪失幾乎所有能力。

其次,大模型語言關(guān)鍵區(qū)域參數(shù)極為敏感,尤其是那些對模型性能至關(guān)重要的小區(qū)域。在 SFT 階段,若訓(xùn)練周期過長,針對少量數(shù)據(jù)進行多個 EPOCH 的訓(xùn)練,會造成語言關(guān)鍵區(qū)域變化,導(dǎo)致 PPL 飆升,甚至整個模型失效。因此,與小模型不同,不能針對少量訓(xùn)練數(shù)據(jù)進行過度擬合

第三,模型對于噪音數(shù)據(jù)的敏感性是眾所周知的,但其背后的原因值得深挖。比如,預(yù)訓(xùn)練數(shù)據(jù)中如果出現(xiàn)大量連續(xù)的噪音數(shù)據(jù),比如連續(xù)重復(fù)單詞、非單詞序列等,都可能造成特定維度的調(diào)整,從而使得模型整體PPL大幅度波動。

另外,有監(jiān)督微調(diào)指令中如果有大量與原有大語言模型不匹配的指令片段,也可能造成模型調(diào)整特定維度,從而使得模型整體性能大幅度下降。我們可通過語言核心區(qū)和維度依賴理論來解釋這一現(xiàn)象,這意味著在未來訓(xùn)練和SFT階段,我們需要采取相應(yīng)的策略進行精細化調(diào)整。




審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • RSA
    RSA
    +關(guān)注

    關(guān)注

    0

    文章

    59

    瀏覽量

    18813
  • 語言模型
    +關(guān)注

    關(guān)注

    0

    文章

    487

    瀏覽量

    10201
收藏 人收藏

    評論

    相關(guān)推薦

    怎么改OPA277的模型參數(shù)變成OPA2277的?

    如題,TI官網(wǎng)沒有OPA2277的模型,但有OPA277的,這兩系列的,我想問下怎么改OPA277的模型
    發(fā)表于 09-09 07:08

    請問FilterPro? Desktop中元件參數(shù)如何修改?

    FilterPro? Desktop中元件參數(shù)如何修改?我輸入新參數(shù)回車后又恢復(fù)為原參數(shù)了!
    發(fā)表于 09-09 06:17

    TINA仿真運放電路時,運放的參數(shù)中是否可以增加溫度參數(shù)呢?

    我們目前在使用TINA仿真運放電路的參數(shù),從模型中找到了外圍電阻是有溫度參數(shù)可以設(shè)定的,包括線性溫度系數(shù),二次溫度系數(shù),指數(shù)溫度系數(shù)。但是運放本身的參數(shù)中目前沒有找到與溫度相關(guān)的
    發(fā)表于 08-14 07:31

    TLV9002-Q1仿真模型是否包含參數(shù)的溫度漂移特性?

    從TI官網(wǎng)下載的TLV9002-Q1仿真模型(TLV9002 PSpice Model (Rev. D))是否包含參數(shù)的溫度漂移特性? 如果模型里面沒有包含溫漂特性的話,我司想對TLV9002仿真-40~125度溫度范圍內(nèi)對
    發(fā)表于 07-31 07:25

    INA190電氣參數(shù)的測試電路應(yīng)如何設(shè)計?

    連接到輸入端,需要怎么修改呢? 請教別人說是可以在后級再連失調(diào) 很小的運放,不知道可不可行。再連
    發(fā)表于 07-31 06:47

    請問InDTU IHDMP協(xié)議使用的CRC校驗使用的什么參數(shù)模型?

    InDTU IHDMP協(xié)議使用的CRC校驗使用的什么參數(shù)模型
    發(fā)表于 07-25 06:39

    LDO關(guān)鍵參數(shù)解析

    在現(xiàn)代電子設(shè)備中,電源管理是項至關(guān)重要的技術(shù)。為了確保電路的穩(wěn)定運行,我們需要能夠穩(wěn)定輸出電壓的電源模塊。其中,低壓差線性穩(wěn)壓器(Low Dropout Regulator,簡稱LDO)因其
    的頭像 發(fā)表于 05-21 15:12 ?711次閱讀

    通義千問推出1100億參數(shù)開源模型

    通義千問近日震撼發(fā)布1100億參數(shù)的開源模型Qwen1.5-110B,這舉措標志著通義千問在AI領(lǐng)域邁出了重大步伐。該模型成為通義千問全系列首個千億級
    的頭像 發(fā)表于 05-06 10:49 ?473次閱讀

    在SPICE模擬器中應(yīng)該調(diào)諧優(yōu)化哪些模型參數(shù)?需要全部調(diào)優(yōu)嗎?

    在SPICE模擬器中有幾十種標準的半導(dǎo)體器件模型,例如,用于GaN器件的最新ASM-HEMT模型有近200模型參數(shù),而
    的頭像 發(fā)表于 03-06 10:37 ?635次閱讀
    在SPICE模擬器中應(yīng)該調(diào)諧優(yōu)化哪些<b class='flag-5'>模型</b><b class='flag-5'>參數(shù)</b>?需要全部調(diào)優(yōu)嗎?

    DC電源模塊的關(guān)鍵參數(shù)解讀

    BOSHIDA DC電源模塊的關(guān)鍵參數(shù)解讀 BOSHIDA DC電源模塊是種電子設(shè)備,用于將交流電(AC)轉(zhuǎn)換為直流電(DC)供電給其他電子設(shè)備。關(guān)鍵
    的頭像 發(fā)表于 01-12 14:01 ?543次閱讀
    DC電源模塊的<b class='flag-5'>關(guān)鍵</b><b class='flag-5'>參數(shù)</b>解讀

    multisim怎么修改場效應(yīng)管MOS的參數(shù)

    Multisim是種基于電路仿真的軟件,可以用于仿真和分析各種電路,包括場效應(yīng)管MOS。要修改MOS的參數(shù),首先需要了解MOS的基本原理和參數(shù),然后使用Multisim的工具來
    的頭像 發(fā)表于 01-04 11:03 ?6916次閱讀

    微軟宣布推出27億參數(shù)的語言模型Phi-2

    Phi-2 是微軟 “小語言模型(SLM)” 系列中的最新版本。第一個版本是擁有 13 億參數(shù)的 Phi-1,針對基本的 Python 編碼任務(wù)進行了微調(diào)。
    發(fā)表于 12-15 09:46 ?212次閱讀
    微軟宣布推出<b class='flag-5'>一</b><b class='flag-5'>個</b>27億<b class='flag-5'>參數(shù)</b>的語言<b class='flag-5'>模型</b>Phi-2

    ADAU1787 FDSP Mixer寫入參數(shù)無法生效怎么解決?

    調(diào)試過程中遇到問題,我們需要調(diào)節(jié)Fast Dsp的Mixer中最下面的旋鈕的Gain, 看SigmaStudio的Log是修改Bank A parameter 3的 0xD44
    發(fā)表于 11-28 06:59

    main函數(shù)的三參數(shù)

    main函數(shù)如果提供參數(shù)的話,有兩參數(shù),一個是argc,一個是argv,其中,argc表示命令行參數(shù)
    的頭像 發(fā)表于 10-21 17:37 ?969次閱讀
    main函數(shù)的三<b class='flag-5'>個</b><b class='flag-5'>參數(shù)</b>

    如何獲取電容的S參數(shù)模型

    使用Sigirty進行PDN仿真時,比較關(guān)鍵步是設(shè)置電容的S參數(shù)模型,近來有不少同學(xué)和同行朋友來要些電容的S參數(shù)模型
    的頭像 發(fā)表于 10-02 15:04 ?2057次閱讀
    如何獲取電容的S<b class='flag-5'>參數(shù)模型</b>?