自然語言處理領(lǐng)域存在著一個非常有趣的現(xiàn)象:在多語言模型中,不同的語言之間似乎存在著一種隱含的對齊關(guān)系。復旦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言訓練驗證的模型實例,其展示出了優(yōu)異的跨語言遷移能力。具體表現(xiàn)為,該模型能夠在某單一語言環(huán)境下訓練完成一個部分后,可以非常容易地成功遷移到其他語言環(huán)境中執(zhí)行任務。這一現(xiàn)象不禁令人思考:模型中是否存在某種特定的部分?為了探索這種多語言對齊的現(xiàn)象,研究采用了 Prompt 搜索方法對模型逐層分析(見圖 1),針對每種語言的每一層網(wǎng)絡及各個head(全稱attention-head,BERT的基本組成模塊)單元進行了細致研究,旨在考察它們對語法分類任務的執(zhí)行能力。
圖 1mBERT 不同層恢復各類語言語法關(guān)系的準確性
在針對多語言樣本的測試中,我們選取了每種語言不同層次的部分 head 進行測試,評估它們在語法關(guān)系預測任務上的表現(xiàn)。實驗結(jié)果顯示了一個較為顯著的現(xiàn)象:在大規(guī)模預訓練過程中,即使未注入任何顯式的語法先驗知識,模型依然能夠在語法結(jié)構(gòu)層面展現(xiàn)出良好的對齊特性,并能在不同層次間保持一定的精度一致性。這一趨勢在大多數(shù)語言中尤為突出,但在某些特殊或較少使用的語言中則不甚明顯。
通過對多種不同語法現(xiàn)象的預測比較,研究著重對比了英語與西班牙語、英語與日語之間的差異。在第 7 層網(wǎng)絡的語法關(guān)系可視化中,數(shù)據(jù)顯示親緣性較高的語言,其預測位置更為接近且分布趨于均勻。而像英語與日語這樣差異較大的語言,部分語法成分的預測位置相對集中(見圖 2),未能有效區(qū)分開來。
圖 2mBERT 第 7 層的不同語法關(guān)系表示的可視化
接下來我們發(fā)現(xiàn)了更為不尋常的現(xiàn)象:當針對特定任務對模型進行微調(diào)(Fine-tune)時,比如運用 Multilingual BERT 進行任務傾向性分析或命名實體識別等任務的微調(diào)后,模型在處理語法成分的對齊關(guān)系及區(qū)分邊界的表現(xiàn)會得到顯著提升(見圖 3)。
圖 3 在進行任務 Fine-Tune 之后,聚合對齊更加明顯
在未經(jīng)微調(diào)的原始模型中,其內(nèi)部蘊含了大量的語法預測信息,這些預測主要聚集在模型的中間層級,混合度比較高。但在執(zhí)行相應的任務預測微調(diào)之后,這些預測分布會變得更為清晰、更具獨立性?;谶@一現(xiàn)象,可以合理推測 Multilingual BERT 模型上用單一語言微調(diào)特定任務后,其學習到的能力能夠快速遷移到其他語言的原因。
現(xiàn)象 2:大語言模型同樣存在顯著的語言對齊
鑒于我們已經(jīng)在上述 2022 年的研究中做了相關(guān)工作,并揭示了 Multilingual BERT 中的語言對齊現(xiàn)象,那么在大語言模型上面,除了 decoder-only 結(jié)構(gòu)的設計改進外,剩下的就是模型的寬度和深度拓展。此現(xiàn)象在 Multilingual BERT 中的存在,自然引起了我們對大語言模型內(nèi)部語言對齊和語法-語義對齊特性的探究。
為了更深入地解釋這一問題,我們首先在2023年EMNLP發(fā)表了一篇論文[2],不僅在原始 Multilingual BERT 上進行了相應的分析工作,還在 LLaMa 模型上復現(xiàn)了這一現(xiàn)象。研究采用了一系列額外的語言評價指標,諸如 RSA 等,以期望獲得更全面和準確的結(jié)論。研究結(jié)果表明,該現(xiàn)象在大語言模型上面與 Multilingual BERT 非常類似(見圖4)。若按照先前提出的分層邏輯,模型在語法層面展現(xiàn)出明顯的對齊性,這與我們早期的研究結(jié)果高度一致。
圖 4語言直接在句法關(guān)系上具有很強的對齊性
其次,我們探索了將 Multilingual BERT 上的遷移工作應用到更大規(guī)模的語言模型上。具體來說,我們在詞性標注任務(POS tag, Parts-of-speech tagging)上設計了一種特殊的方法(見圖 5)。在面對單個語言的小規(guī)模數(shù)據(jù)集時,我們選取了若干位置,無須任何標注數(shù)據(jù),直接使用 Multilingual BERT 的遷移方式,從而在多語言環(huán)境中獲得了優(yōu)秀的標注效果。舉例來說,即使缺乏阿拉伯語的標注數(shù)據(jù)集,僅擁有英語和法語的數(shù)據(jù)集,也能成功地遷移到其他語言環(huán)境。
圖5詞性標注任務,可以通過跨語言訓練得到非常高的結(jié)果
所以,在大語言模型當中也依然存在這種語言對齊現(xiàn)象。模型已成功實現(xiàn)了詞形(單詞形式,word form)與中間層語義表示、語法表示之間的轉(zhuǎn)換,脫離了原有的詞形,這一轉(zhuǎn)換使得模型能夠去處理別的任務。
通過前面的分析和工作,我們得出結(jié)論,大語言模型在多語言預訓練階段確實有效地實現(xiàn)了不同語言間語義層面上的對齊。我們認為,相較于可能不太重要的形式層面,語義層面的一致性可能是關(guān)鍵所在。一旦語義層面實現(xiàn)統(tǒng)一,理論上可以直接應對多種相關(guān)的下游任務。為了驗證這一猜想,我們進一步開展了一系列研究工作。
現(xiàn)象 3:知識與語言分離
以下是我們投稿至AAAI 2024的論文[3]。假設語義層面已經(jīng)實現(xiàn)了很好的對齊,那么詞匯形式的具體表達的重要性便會相應大幅削弱。為此,我們深入探究了如何從LLaMa模型出發(fā),將其語言能力遷移至其他小型語種的過程中,即便面對詞形的變化,模型內(nèi)部已經(jīng)具備一層進行語義轉(zhuǎn)換的能力。
從以英語為主的訓練語言轉(zhuǎn)向中文或任何其他語言時,實際上的轉(zhuǎn)換需求就僅限于形式上的改變。通常,將 LLaMA 擴展為小語言需要經(jīng)歷三步(見圖6):第一步是詞表擴展(Vocabulary Extension);第二步是繼續(xù)預訓練(Further Pre-training);第三步是任務添加,所以需要使用 SFT(Supervised Fine-Tuning)數(shù)據(jù)。
圖6將英文 LLaMA 擴展為其他語言
為了更清晰地理解這一過程,我們將其分解為三種形式進行觀察。第一種形式是完全不改動詞表,直接進行繼續(xù)預訓練和指令微調(diào)。第二種形式只進行詞表擴展,而不進行其他操作。第三種形式則完全省略前兩步,直接使用大量的 SFT 數(shù)據(jù)進行訓練。
基于這些設定,我們進行了對比實驗。首先,直接使用 LLaMA 或 LLaMA 2 進行 SFT 訓練,觀察使用經(jīng)過詞料擴展和大規(guī)模負責培訓后的效果,例如 Chinese LLaMA、Chinese LLaMA 2 和我們實驗室開源的 Open Chinese LLaMA(經(jīng)過 200b 數(shù)據(jù)訓練)。此外,我們還測試了不進行詞表擴展,直接使用 100k 和 1m 數(shù)據(jù)對中文語料進行 SFT 訓練的情況。
由于評測的目的是模型生成能力,所以我們使用了能提供生成式問答題目的 LLMEVAL 評測方式,基于模型生成數(shù)據(jù)的正確性、信息量、流暢性、邏輯性等部分,分別用 GPT-4 進行打分,結(jié)果如下(見圖 7)。
圖7Token 擴展會導致原始信息丟失,需要大量訓練才能恢復
因此,以 Chinese LLaMA 為例,恢復信息需要達到 200 倍以上的二次預訓練數(shù)據(jù),這會大幅增加訓練成本。如果使用需求是讓 token 的生成速度變快,我們認為依舊可以擴展詞表。反之,若對生成速度沒有特別大的需求,如 LLaMA 根據(jù) UTF-8 編碼生成可能需要 2 ~ 3 個 token 才能產(chǎn)生一個漢字,在只追求生成質(zhì)量的情況下,直接進行大量中文的 SFT 數(shù)據(jù)訓練,就已經(jīng)可以實現(xiàn)非常好的處理效果。也就是說,詞形和語義在語言層面已經(jīng)進行了分離,提供其中文能力并不需要特別大量的數(shù)據(jù)訓練。在 SFT 非常少量時,大規(guī)模的二次預訓練可以加快模型對于指令的響應學習,但當 SFT 數(shù)據(jù)量擴展到 950k 之后,再去增加中文的二次預訓練數(shù)據(jù)其實并沒有什么特別的意義,例如在 950k SFT 的情況下,LLaMA 對比經(jīng)過 1M 中文二次預訓練的 LLaMA 模型,效果并沒有大幅度的變化。
這也是我們之后在語言解釋工作上的基礎(chǔ):語言的詞形消失,知識和語言被分離,加入少量的中文數(shù)據(jù)無法在知識層面提升模型能力。基于這種思考,我們開始了新的評測(見圖 8),其中藍色的部分是 LLaMA-7b 模型,粉紅色的部分是 LLaMA-2-7B 模型,綠色的部分是 LLaMA-13B 模型。我們希望借此看看,在經(jīng)過大量的訓練之后,模型的知識層面會產(chǎn)生哪些變化。
圖8使用中文進行二次預訓練并不能在知識層面提升模型能力
在經(jīng)過 C-Eval、GAOKAO-Bench、MMLU 和 AGIEval 等基準評測之后,觀察到大量未經(jīng)針對性優(yōu)化的預訓練模型并未顯著提升其內(nèi)在的知識掌握程度,反而在某些情況下相較于原始 LLaMA 模型有所下滑。這主要是由于目前普遍采用的中文語料庫訓練數(shù)據(jù)規(guī)模有限,進而制約了模型在語言理解和生成方面的性能表現(xiàn),導致了此類評測結(jié)果的出現(xiàn)。因此,如何有效地開展針對中文環(huán)境的第二階段預訓練亟需更多思考。單純依賴現(xiàn)有方法,并不能充分反映出模型在特定中文領(lǐng)域知識的進步。值得注意的是,僅在現(xiàn)有的通用模型中融入少量涵蓋世界知識或是物理、化學、數(shù)學等領(lǐng)域?qū)I(yè)知識的中文數(shù)據(jù),是沒有太大意義的。
在其他語言中,我們也做了類似的工作(見圖 9)。研究選了十幾種語言,每種語言都用相應的 SFT 數(shù)據(jù)進行訓練和測試,觀察發(fā)現(xiàn)數(shù)據(jù)達到一定量級,如 65k SFT 之后,都處于相對可用的版本。但因為這些 SFT 數(shù)據(jù)有一部分是機器翻譯的,不如中文直接使用的效果。
圖9在其他低資源語言中表現(xiàn)類似
現(xiàn)象 4:語義和詞形對齊
訓練過程中,我們發(fā)現(xiàn)了一些有趣的現(xiàn)象,也可以從一定程度上說明這種語義和詞形對齊的關(guān)系。例如,用 95k 的 SFT 對某些進行訓練,并將早前的一些 checkpoint(在訓練過程中不同時間點保存的模型版本)打印出來,并詢問以下問題(見圖10):
圖10訓練過程中非常明顯的 Coding-Switch(語碼轉(zhuǎn)換)現(xiàn)象
模型在響應查詢時,輸出的部分內(nèi)容以紅色和藍色標示。我們觀察到,模型能夠在保持語義連貫正確的前提下,自動插入其他語言的詞匯,而且這些詞匯與前面的內(nèi)容銜接自然流暢,仿佛原本就應該屬于同一句話。這就從某種程度上表明,模型在內(nèi)部實現(xiàn)了語義與詞形的解耦,即模型有能力在維持語義完整性的同時,靈活處理不同語言的詞形表達,引證了我們前文中的一些猜想。我們做了十幾種語言,每種語言都出現(xiàn)了一定比例的 Coding-Switch 現(xiàn)象,所以這并不僅僅是中文特有的個例。
現(xiàn)象 5:少量的數(shù)據(jù)就能影響整個大模型
基于上述發(fā)現(xiàn),我們開始深入思考。除了之前觀察到的這些現(xiàn)象之外,其實在大語言模型的訓練過程當中還有很多別的現(xiàn)象,比如“毛刺”(見圖11),即“噪音”(Noise)。在進行大規(guī)模預訓練時,我們自身也進行了 30b 和 50b 參數(shù)級別的模型預訓練,同樣發(fā)現(xiàn)了類似情況。每當遇到這些噪音數(shù)據(jù),我們的解決辦法通常是回溯,回滾到出現(xiàn)問題的預訓練階段,檢查那一階段的數(shù)據(jù)。多數(shù)情況下,我們發(fā)現(xiàn)是由預訓練數(shù)據(jù)所引起的,這部分有問題的數(shù)據(jù)會導致模型的 PPL(perplexity)值急劇升高。
圖11“毛刺”
為何少量的數(shù)據(jù)會對如此大規(guī)模的模型造成如此嚴重的影響呢?OpenAI 和 Anthropic 在他們的論文[4][5]中均對此有所涉及,他們在研究 SFT 和預訓練相關(guān)課題時,大多得出類似的結(jié)論:模型進行兩三輪的微調(diào)通常就已經(jīng)接近最優(yōu)狀態(tài),過多的訓練輪次往往會導致模型性能下降。這一結(jié)論在我們自身的實驗中均得到了印證。
在傳統(tǒng)訓練流程中,我們可能對某部分數(shù)據(jù)訓練 30 輪或 50 輪,即便數(shù)據(jù)質(zhì)量不高,也只是導致這部分訓練效果不佳。然而,在大語言模型上,當我們引入少量 SFT 數(shù)據(jù)并進行六輪甚至十輪微調(diào)時,整個模型的能力卻可能會急劇下降,且在 SFT 數(shù)據(jù)上的表現(xiàn)也并未改善。這究竟是什么原因呢?這一系列疑問驅(qū)使我們?nèi)ヌ綄ど顚哟蔚拇鸢福偈刮覀冮_始想要打開黑盒,去對它做更進一步的解釋和分析。
以前,想對人腦的認知功能進行深入分析是很難的,因為直接觀測和測量人腦各區(qū)域的功能是不可行,同時現(xiàn)代倫理準則也嚴格約束了對動物(如猴子)進行復雜神經(jīng)科學實驗的可能性。例如,我看過一則關(guān)于剝奪猴子視覺社交刺激的研究引發(fā)爭議,因其可能對動物造成不可逆的影響。
在人工智能領(lǐng)域,BERT 模型的出現(xiàn)雖然為語言處理帶來了重大突破,但其智能程度相對有限,且結(jié)構(gòu)和動態(tài)行為相對易于分析。隨著大語言模型的發(fā)展,尤其是參數(shù)量龐大的預訓練模型,它們展現(xiàn)了更高水平的智能表現(xiàn),同時也帶來了新的挑戰(zhàn)——模型的內(nèi)部工作機理更加復雜且難以直觀理解。那怎么辦呢?我覺得不能像電視劇里劉華強說的那樣,“給你機會還不中用”。既然有了機會,我們還是得把握住。
大語言模型參數(shù)中記錄了知識有明顯的語言核心區(qū)
經(jīng)過先前的一系列分析,我們旨在探究這些現(xiàn)象如何具體表現(xiàn)在大型語言模型的參數(shù)結(jié)構(gòu)中,并從參數(shù)當中研究出一些解釋和情況。過去半年以來,我們不停地實驗就是圍繞這一目標展開。在某種程度上,這與人腦的功能分區(qū)原理相似——人腦中有專門的語言區(qū)及核心區(qū),而在大語言模型中也可能存在著負責語言理解與知識表達的部分結(jié)構(gòu)?,F(xiàn)在有相當一部分共識,認為一部分知識存儲和處理功能可能對應于模型中的前饋神經(jīng)網(wǎng)絡(Feedforward Neural Network, FFN)部分,尤其是其中的多層感知器(Multi-Layer Perceptron, MLP)組件。然而,目前我們的研究結(jié)果其實還比較初步,有些實驗結(jié)論其實并不一定十分可靠。
研究中,我們認為大模型中明顯存在著承載語言能力的核心區(qū)域。為什么會這么說?這一判斷基于如下實驗設計:首先,我們選取了六種語言,針對每種語言收集了約十萬條未曾出現(xiàn)在 LLaMA 原始訓練集中的文本數(shù)據(jù),這些數(shù)據(jù)源自書籍并經(jīng)由轉(zhuǎn)換獲取,出現(xiàn)重疊的概率較低。接下來,我們利用這些數(shù)據(jù)對 LLaMA 模型進行了二次預訓練。
預訓練完成后,我們對比了模型訓練前后參數(shù)的變化情況,針對每種語言獨立進行。首先對韓語進行預訓練并記錄參數(shù)變化,隨后依次對俄語、越南語等其余語言進行相同操作。實驗中,我們特別關(guān)注了權(quán)重變化最大的 1% 至 5% 的參數(shù)部分,因為直覺上人們通常認為權(quán)重變化較大的區(qū)域更為重要。經(jīng)過四個月的研究,我們發(fā)現(xiàn)并非權(quán)重變化大的區(qū)域才最關(guān)鍵,相反,那些經(jīng)過大規(guī)模預訓練后變化很小的參數(shù)區(qū)域才是模型的核心穩(wěn)定部分。
為驗證這一點,我們進一步做了若干實驗。我們發(fā)現(xiàn)有非常少數(shù)的參數(shù)在所有語言二次預訓練中變化都很小(見圖 12),無論在哪一層、哪個矩陣,都有一個顯著的集中區(qū)域,其參數(shù)變化極其微小,在不同語言上的變化都非常有限。因此,我們將六種語言訓練前后參數(shù)變化幅度累計起來,考察各個位置變化的綜合程度,并挑選出變化最小的1%至 5%的參數(shù)。
圖12有非常少數(shù)的參數(shù)在所有語言二次預訓練中變化都很小
把這部分參數(shù)拿出來之后,我們將這些變化極小的參數(shù)區(qū)域進行擾動實驗。通過 7b 參數(shù)規(guī)模的模型,我們選取底層變化最小的 3%參數(shù)進行隨機化處理,然后觀察模型的 PPL 指標(見圖13)。實驗結(jié)果顯示,當擾動這最小變化的 3% 參數(shù)時,PPL 值會顯著上升;而如果我們從模型中隨意選取 3% 的參數(shù)進行同樣的擾動,PPL 雖會下降,但下降幅度并不明顯。反之,如果我們對權(quán)重變化最大的那部分參數(shù)(同樣取 3%)進行擾動,雖然 PPL 會比隨機擾動稍高,但只要擾動那些變化最小的核心區(qū)域,PPL 值就會劇烈上升。同樣,我們還嘗試了僅擾動 1% 參數(shù)的情況,盡管變化幅度略有減小,但總體影響仍然較大,表現(xiàn)為幾千到幾萬的增量。
圖13擾動核心區(qū)域在 130 種語言上 PPL 全都呈現(xiàn)爆炸趨勢
如果用 13b 參數(shù)的模型重復上述工作,得到的結(jié)論是完全一致的(見圖 14)。只要是變動這個區(qū)域 3% 的部分,整個模型語言能力基本上就會完全喪失掉了。
圖14LLaMA2-7B 和 13B 現(xiàn)象完全一樣
語言能力區(qū)域非常重要,所以我們通過凍結(jié)它做了另一個實驗(見圖 15)。實驗中,我們首先鎖定了模型的語言核心區(qū)參數(shù),并用中文知乎數(shù)據(jù)對該模型進行再訓練。另一組對照實驗則是不解凍核心區(qū)參數(shù)。通過在中文微信公眾號和英文 Falcon 數(shù)據(jù)集各選取 1 萬條樣本計算 PPL,我們發(fā)現(xiàn):若凍結(jié)語言核心區(qū)并用 5 萬條中文知乎數(shù)據(jù)進行訓練,模型的中文 PPL 可以恢復至約 7 左右,表明模型通過其他區(qū)域的參數(shù)補償了語言能力;但英文能力在這種條件下無法恢復到先前的爆炸趨勢中。
圖15 模型具備一定的“代償”能力,可以使用中文數(shù)據(jù)訓練以恢復中文能力
然而,如果僅擾亂而不凍結(jié)語言核心區(qū)參數(shù),僅通過中文知乎數(shù)據(jù)訓練,無論是中文PPL還是英文PPL都能恢復至接近原始模型的良好狀態(tài)(見圖 16)。因此,語言核心區(qū)的參數(shù)至關(guān)重要,且對模型能力的影響呈現(xiàn)出平滑而敏感的特點,只需幾千條數(shù)據(jù)即可相對容易地恢復其原有功能。然而,一旦該區(qū)域被鎖定,模型能力的恢復將變得困難,性能指標會出現(xiàn)顯著變化。
圖16 在語言區(qū)不鎖定的情況下,僅訓練中文,英文也能恢復一定能力
觀察打印出的區(qū)域(見圖 17),可以發(fā)現(xiàn) QKVO 矩陣在維度上具有明顯的集中現(xiàn)象,即主要集中在一小部分維度上。
圖17 QKVO矩陣都呈現(xiàn)維度集中現(xiàn)象
雖然MLP層沒有那么明顯的集中性,但在進一步放大查看后,發(fā)現(xiàn)在某些列上也存在顯著的現(xiàn)象(見圖18)。
圖18 FFN-UP & Down某些維度上具有明顯的列聚集現(xiàn)象
例如,在最后一層的mlp.down這個區(qū)域里面,少量維度尤其集中(見圖19)。
圖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ù)在理論上同樣重要,但擾動它們并不會導致如此嚴重的性能崩潰。然而,對于這些特定維度,即便是微小的改動也會帶來顯著的性能變化。
圖20 擾動實驗
為了直觀展示這種變化,我們用擾動后的模型進行句子補全任務,輸入為“Fudan University is located in”(復旦大學位于……)。在正常狀態(tài)下,LLaMA2-13B 模型能夠輸出高質(zhì)量的結(jié)果,甚至可以處理中英混合,例如直接給出復旦大學官網(wǎng)的鏈接。然而,如果將 2100 維度的 Layer Norm 隨機化,模型便開始出現(xiàn)知識錯誤和語言錯誤,生成的文本不再正確(見圖 21)。但同等程度地擾動其他維度,模型的語言輸出卻不會出現(xiàn)較大變化。
圖21僅修改 130 億參數(shù)中的 1 個就會使模型混亂
再回來看圖 20,若將 2100 的維度乘以 10,模型的 PPL 值急劇增大,輸出變得雜亂無章??梢姡绻谶@個特定位置(2100 維度)改動參數(shù),整個語言模型的功能就會嚴重受損。當然,如果我們對其他位置的參數(shù)乘以 10,也會導致一些錯誤,比如模型可能會錯誤地將濟南等地識別為復旦大學的校區(qū)。通過 PPL 指標,我們可以明顯看出這些擾動對模型性能的具體影響,更何況未經(jīng)擾動的 LLaMA2-13B 模型上本身也經(jīng)不起多次嘗試導致的錯誤。也就是說,130 億參數(shù)的大模型只改一個參數(shù),整個模型的語言能力就能完全歸零。
大模型語言核心區(qū)與維度依賴理論
這些現(xiàn)象和理論能帶來什么?其實我覺得它能在構(gòu)建大模型時提供諸多有益的解釋。以往我們的部分工作采用了一些技巧性的方法,盡管成效顯著,但卻難以闡明其內(nèi)在機制。
首先,在進行二階段預訓練時,若目標是增強模型在特定領(lǐng)域(如醫(yī)學或強化中文知識)的表現(xiàn),而原始訓練數(shù)據(jù)對該領(lǐng)域覆蓋不足,傳統(tǒng)的經(jīng)驗告訴我們,必須輔以大量相關(guān)背景知識的混合數(shù)據(jù)。例如,在開發(fā) Open Chinese LLaMA 時,我們發(fā)現(xiàn)僅添加純中文數(shù)據(jù)會導致模型性能大幅下降,而現(xiàn)在我們明白參數(shù)各個區(qū)域負責部分其實已經(jīng)確定,如果大量增加某類在預訓練時沒有的知識,會造成參數(shù)的大幅度變化,造成整個語言模型能力損失。
若要對特定分區(qū)進行調(diào)整,就必須引入與之相關(guān)的背景知識,添加 5 ~ 10 倍原始預訓練中的數(shù)據(jù),并打混后一起訓練,這樣才能讓模型逐步適應變化。否則,一旦觸及核心區(qū)域,模型將喪失幾乎所有能力。
其次,大模型語言關(guān)鍵區(qū)域參數(shù)極為敏感,尤其是那些對模型性能至關(guān)重要的小區(qū)域。在 SFT 階段,若訓練周期過長,針對少量數(shù)據(jù)進行多個 EPOCH 的訓練,會造成語言關(guān)鍵區(qū)域變化,導致 PPL 飆升,甚至整個模型失效。因此,與小模型不同,不能針對少量訓練數(shù)據(jù)進行過度擬合。
第三,模型對于噪音數(shù)據(jù)的敏感性是眾所周知的,但其背后的原因值得深挖。比如,預訓練數(shù)據(jù)中如果出現(xiàn)大量連續(xù)的噪音數(shù)據(jù),比如連續(xù)重復單詞、非單詞序列等,都可能造成特定維度的調(diào)整,從而使得模型整體PPL大幅度波動。
另外,有監(jiān)督微調(diào)指令中如果有大量與原有大語言模型不匹配的指令片段,也可能造成模型調(diào)整特定維度,從而使得模型整體性能大幅度下降。我們可通過語言核心區(qū)和維度依賴理論來解釋這一現(xiàn)象,這意味著在未來訓練和SFT階段,我們需要采取相應的策略進行精細化調(diào)整。
審核編輯:劉清
-
RSA
+關(guān)注
關(guān)注
0文章
59瀏覽量
18886 -
語言模型
+關(guān)注
關(guān)注
0文章
520瀏覽量
10268
發(fā)布評論請先 登錄
相關(guān)推薦
評論