大模型知識Out該怎么辦?浙大團(tuán)隊探索大模型參數(shù)更新的方法—模型編輯
夕小瑤科技說 原創(chuàng) 作者 | 小戲、Python
大模型在其巨大體量背后蘊藏著一個直觀的問題:“大模型應(yīng)該怎么更新?”
在大模型極其巨大的計算開銷下,大模型知識的更新并不是一件簡單的“學(xué)習(xí)任務(wù)”,理想情況下,隨著世界各種形勢的紛繁復(fù)雜的變換,大模型也應(yīng)該隨時隨地跟上時代的腳步,但是訓(xùn)練全新大模型的計算負(fù)擔(dān)卻不允許大模型實現(xiàn)即時的更新,因此,一個全新的概念“Model Editing(模型編輯)”應(yīng)運而生,以實現(xiàn)在特定領(lǐng)域內(nèi)對模型數(shù)據(jù)進(jìn)行有效的變更,同時不會對其他輸入的結(jié)果造成不利影響。
其中, 表示 的“有效鄰居”, 則表示超出 作用范圍的領(lǐng)域。一個編輯后的模型應(yīng)當(dāng)滿足以下三點,分別是可靠性,普適性與局部性,可靠性即編輯后模型應(yīng)該可以正確的輸出編輯前模型錯誤的例子,可以通過編輯案例的平均準(zhǔn)確率來衡量,普適性表示對于 的“有效鄰居”,模型都應(yīng)該可以給出正確的輸出,這點可以對編輯案例領(lǐng)域數(shù)據(jù)集進(jìn)行均勻抽樣衡量平均正確率來衡量,最后局部性,即表示編輯后模型在超出編輯范圍的例子中仍然應(yīng)該保持編輯前的正確率,可以通過分別測算編輯前編輯后的平均準(zhǔn)確率來對局部性進(jìn)行刻畫,如下圖所示,在編輯“特朗普”的位置時,一些其他的公共特征不應(yīng)受到更改。同時,其他實體,例如“國務(wù)卿”,盡管與“總統(tǒng)”具有相似的特征,但也不應(yīng)受到影響。
而今天介紹的這篇來自浙江大學(xué)的論文便站在一個大模型的視角,為我們詳細(xì)敘述了大模型時代下模型編輯的問題、方法以及未來,并且構(gòu)建了一個全新的基準(zhǔn)數(shù)據(jù)集與評估指標(biāo),幫助更加全面確定的評估現(xiàn)有的技術(shù),并為社區(qū)在方法選擇上提供有意義的決策建議與見解:
論文題目:Editing Large Language Models: Problems, Methods, and Opportunities
論文鏈接:https://arxiv.org/pdf/2305.13172.pdf
主流方法
當(dāng)下針對大規(guī)模語言模型(LLMs)的模型編輯方法如下圖所示主要可以分為兩類范式,分別是如下圖(a)所示的保持原模型參數(shù)不變下使用額外的參數(shù)以及如下圖(b)所示的修改模型的內(nèi)部參數(shù)。
首先來看相對簡單的增加額外參數(shù)的方法,這種方法又稱基于記憶或內(nèi)存的模型編輯方法,代表方法 SERAC 最早出現(xiàn)于 Mitchell 提出“模型編輯”的論文,其核心思想在于保持模型原始參數(shù)不變,通過一個獨立的參數(shù)集重新處理修改后的事實,具體而言,這類方法一般先增加一個“范圍分類器”判斷新輸入是否處于被“重新編輯”過的事實范圍內(nèi),如果屬于,則使用獨立參數(shù)集對該輸入進(jìn)行處理,對緩存中的“正確答案”賦予更高的選擇概率。在 SERAC 的基礎(chǔ)上,T-Patcher 與 CaliNET 向 PLMs 的前饋模塊中引入額外可訓(xùn)練的參數(shù)(而不是額外外掛一個模型),這些參數(shù)在修改后的事實數(shù)據(jù)集中進(jìn)行訓(xùn)練以達(dá)到模型編輯的效果。
而另一大類方法即修改原來模型中參數(shù)的方法主要應(yīng)用一個 ? 矩陣去更新模型中的部分參數(shù) ,具體而言,修改參數(shù)的方法又可以分為“Locate-Then-Edit”與元學(xué)習(xí)兩類方法,從名字也可以看出,Locate-Then-Edit 方法先通過定位模型中的主要影響參數(shù),再對定位到的模型參數(shù)進(jìn)行修改實現(xiàn)模型編輯,其中主要方法如 Knowledge Neuron 方法(KN)通過識別模型中的“知識神經(jīng)元”確定主要影響參數(shù),通過更新這些神經(jīng)元實現(xiàn)對模型的更新,另一種名為 ROME 的方法思想與 KN 類似,通過因果中介分析定位編輯區(qū)域,此外還有一種 MEMIT 的方法可以實現(xiàn)對一系列編輯描述的更新。這類方法最大的問題在于普遍依據(jù)一個事實知識局部性的假設(shè),但是這一假設(shè)并沒有得到廣泛的驗證,對許多參數(shù)的編輯有可能導(dǎo)致意想不到的結(jié)果。
而元學(xué)習(xí)方法與 Locate-Then-Edit 方法不同,元學(xué)習(xí)方法使用 hyper network 方法,使用一個超網(wǎng)絡(luò)(hyper network)為另一個網(wǎng)絡(luò)生成權(quán)重,具體而言在 Knowledge Editor 方法中,作者使用一個雙向的 LSTM 去預(yù)測每個數(shù)據(jù)點為模型權(quán)重帶來的更新,從而實現(xiàn)對編輯目標(biāo)知識的帶約束的優(yōu)化。這類知識編輯的方法由于 LLMs 的巨大參數(shù)量導(dǎo)致難以應(yīng)用于 LLMs 中,因此 Mitchell 等又提出了 MEND(Model Editor Networks with Gradient Decomposition)使得單個的編輯描述可以對 LLMs 進(jìn)行有效的更新,這種更新方法主要使用梯度的低秩分解微調(diào)大模型的梯度,從而使得可以對 LLMs 進(jìn)行最小資源的更新。與 Locate-Then-Edit 方法不同,元學(xué)習(xí)方法通?;ㄙM的時間更長,消耗的內(nèi)存成本更大。
方法測評
這些不同方法在模型編輯的兩個主流數(shù)據(jù)集 ZsRE(問答數(shù)據(jù)集,使用反向翻譯生成的問題改寫作為有效領(lǐng)域) 與 COUNTERFACT(反事實數(shù)據(jù)集,將主語實體替換為同義實體作為有效領(lǐng)域) 中進(jìn)行實驗如下圖所示,實驗主要針對兩個相對以往研究較大的 LLMs T5-XL(3B)和 GPT-J(6B)作為基礎(chǔ)模型,高效的模型編輯器應(yīng)該在模型性能、推理速度和存儲空間之間取得平衡。
對比第一列微調(diào)(FT)的結(jié)果,可以發(fā)現(xiàn),SERAC 和 ROME 在 ZsRE 和 COUNTERFACT 數(shù)據(jù)集上表現(xiàn)出色,特別是 SERAC,它在多個評估指標(biāo)上獲得了超過 90% 的結(jié)果,雖然 MEMIT 的通用性不如 SERAC 和 ROME,但在可靠性和局部性上表現(xiàn)出色。而 T-Patcher 方法表現(xiàn)極其不穩(wěn)定,在 COUNTERFACT 數(shù)據(jù)集中具有不錯的可靠性和局部性,但缺乏通用性,在 GPT-J 中,可靠性和通用性表現(xiàn)出色,但在局部性方面表現(xiàn)不佳。值得注意的是,KE、CaliNET 和 KN 的性能表現(xiàn)較差,相對于這些模型在“小模型”中取得的良好表現(xiàn)而言,實驗可能證明了這些方法不是非常適配大模型的環(huán)境。
而如果從時間來看,一旦訓(xùn)練好網(wǎng)絡(luò),KE 和 MEND 則表現(xiàn)相當(dāng)優(yōu)秀,而如 T-Patcher 這類方法耗時則過于嚴(yán)重:
再從內(nèi)存消耗來看,大多數(shù)方法消耗內(nèi)存在同一個量級,但引入額外參數(shù)的方法會承擔(dān)額外的內(nèi)存開銷:
同時,通常對模型編輯的操作還需要考慮批次輸入編輯信息以及順序輸入編輯信息,即一次更新多個事實信息與順序更新多個事實信息,批次輸入編輯信息整體模型效果如下圖所示,可以看到 MEMIT 可以同時支持編輯超過 10000條信息,并且還能保證兩個度量指標(biāo)的性能都保持穩(wěn)定,而 MEND 和 SERAC 則表現(xiàn)不佳:
而在順序輸入方面,SERAC 和 T-Patcher 表現(xiàn)出色而穩(wěn)定,ROME,MEMIT,MEND 都出現(xiàn)了在一定數(shù)量的輸入后模型性能快速下降的現(xiàn)象:
最后,作者在研究中發(fā)現(xiàn),當(dāng)下這些數(shù)據(jù)集的構(gòu)造及評估指標(biāo)很大程度上只關(guān)注句子措辭上的變化,但是并沒有深入到模型編輯對許多相關(guān)邏輯事實的更改,譬如如果將“Watts Humphrey 就讀哪所大學(xué)”的答案從三一學(xué)院改為密歇根大學(xué),顯然如果當(dāng)我們問模型“Watts Humphrey 大學(xué)時期居住于哪個城市?”時,理想模型應(yīng)該回答安娜堡而不是哈特福德,因此,論文作者在前三個評估指標(biāo)的基礎(chǔ)上引入了“可移植性”指標(biāo),衡量編輯后的模型在知識轉(zhuǎn)移方面的有效性。
為此,作者使用 GPT-4 構(gòu)建了一個新的數(shù)據(jù)集,通過將原始問題 的答案從 改為 ,并且構(gòu)建另一個正確答案為 的問題 ,組成 三元組,對編輯后模型輸入 ,如果模型可以正確輸出 則證明該編輯后模型具有“可移植性”,而根據(jù)這個方法,論文測試了現(xiàn)有幾大方法的可移植性得分如下圖所示:
可以看到,幾乎絕大多數(shù)模型編輯方法在可移植性方面都不太理想,曾經(jīng)表現(xiàn)優(yōu)異的 SERAC 可移植性準(zhǔn)確率不到 10%,相對最好的 ROME 和 MEMIT 最高也只有 50% 左右,這表明當(dāng)下的模型編輯方法幾乎難以做到編輯后知識的任何擴展和推廣,模型編輯尚有很長的路要走。
討論與未來
不管從何種意義來說,模型編輯預(yù)設(shè)的問題在未來所謂的“大模型時代”都十分有潛力,模型編輯的問題需要更好的探索如“模型知識究竟存儲在哪些參數(shù)之中”、“模型編輯操作如何不影響其他模塊的輸出”等一系列非常難的問題。而另一方面,解決模型“過時”的問題,除了讓模型進(jìn)行“編輯”,還有一條思路在于讓模型“終身學(xué)習(xí)”并且做到“遺忘”敏感知識,不論是模型編輯還是模型終身學(xué)習(xí),這類研究都將對 LLMs 的安全與隱私問題做出有意義的貢獻(xiàn)。