Editing Large Language Models: Problems, Methods, and Opportunities
-
原文摘要
-
研究背景與問題提出
-
核心問題:盡管LLM已具備強大的能力,但如何長期維持其時效性并修正錯誤仍缺乏系統方法論。
-
現狀:近年來,針對LLMs的模型編輯技術興起,其目標是通過高效修改模型在特定領域的行為,同時避免對其他輸入的性能產生負面影響。
-
研究目標
-
系統梳理:明確模型編輯的任務定義與核心挑戰。
-
實證分析:對當前最先進的編輯方法 進行深入評估。
-
構建新基準:提出一個更魯棒的評測數據集,以揭示現有技術的固有缺陷。
-
-
方法論與貢獻
-
-
理論層面:
- 提供任務定義的詳盡綜述,明確模型編輯的邊界與評價標準。
- 分析技術挑戰,如編輯的局部性與全局影響的權衡。 -
實踐層面:
- 實證分析:對比現有方法的有效性與可行性。
- 新基準數據集:通過標準化評測暴露當前方法的共性問題(如過編輯/欠編輯、泛化性不足等)。 -
關鍵詞:
-
魯棒評測:強調新數據集需覆蓋多樣場景,避免評估偏差。
-
任務/上下文適配:不同編輯方法可能適用于不同需求(如事實更新 vs. 行為調整)。
-
研究意義
-
-
根據具體任務或上下文,選擇最優編輯方法。
-
識別當前技術的局限性,推動未來研究,如如何實現長期穩定的模型編輯。
-
1. Introduction
-
研究背景與現狀
-
LLMs的能力與局限:
- 能力:LLMs在文本理解與生成上的已有顯著突破。
- 局限:訓練高效LLMs雖可行,但長期維護模型時效性和修正錯誤缺乏明確策略。
-
核心需求:在世界狀態持續變化的背景下,避免全模型重訓練,實現高效更新。
-
-
現有工作與不足
-
技術進展: 編輯方法分為兩類
- 參數修改:直接調整模型參數。
- 外部干預:通過附加組件干預輸出。
-
現存缺陷:
- 缺乏統一評估:現有研究在實驗設置上差異大,導致無法公平比較各方法優劣。
- 評估維度單一:多數工作僅關注基礎編輯任務,忽略泛化性、副作用、效率等實際應用指標。
- 于是作者提出了更全面的評估維度:
- Portability:編輯后模型在相關但未見過輸入上的泛化能力。
- Locality:對非目標輸入的副作用(如無關領域性能下降)。
- Efficiency:時間與內存開銷(實際部署關鍵指標)。
- 于是作者提出了更全面的評估維度:
-
-
研究發現與意義
-
主要結論:
- 當前方法在基礎事實編輯上有效,但在泛化性、副作用控制、效率方面存在局限。
- 這些局限阻礙實際應用,需未來研究突破。
-
研究價值:
- 通過系統評估,提供技術選擇指南(如醫療領域需高locality,實時系統需高效率)。
- 揭示未來方向:如如何平衡編輯強度與模型穩定性。
-
2. Problems Definition
2.1 數學定義
-
基礎模型:
- 初始模型表示為 fθ:X→Yf_\theta: X \rightarrow Yfθ?:X→Y
- θ\thetaθ 為參數,x∈Xx \in Xx∈X 為輸入,y∈Yy \in Yy∈Y為輸出。
- 初始模型表示為 fθ:X→Yf_\theta: X \rightarrow Yfθ?:X→Y
-
編輯目標:
- 給定一個需要修改的輸入-輸出對 (xe,ye)(x_e, y_e)(xe?,ye?),要求編輯后模型 fθef_{\theta_e}fθe?? 滿足 fθe(xe)=yef_{\theta_e}(x_e) = y_efθe??(xe?)=ye?
-
編輯范圍的劃分
-
編輯域內 In-Scope:I(xe,ye)I(x_e, y_e)I(xe?,ye?)
- 包含目標樣本 xex_exe? 及其等價鄰域 N(xe,ye)N(x_e, y_e)N(xe?,ye?)(如語義相似的輸入或改寫句式)。
-
編輯域外 Out-of-Scope: O(xe,ye)O(x_e, y_e)O(xe?,ye?)
- 與編輯無關的輸入
- 編輯要求
fθe(x)={yeif?x∈I(xe,ye)fθ(x)if?x∈O(xe,ye) f_{\theta_e}(x) = \begin{cases} y_e & \text{if } x \in I(x_e, y_e) \\ f_\theta(x) & \text{if } x \in O(x_e, y_e) \end{cases} fθe??(x)={ye?fθ?(x)?if?x∈I(xe?,ye?)if?x∈O(xe?,ye?)?
-
2.2 編輯效果的評價維度
2.2.1 可靠性 Reliability
- 定義:編輯后的模型必須對目標樣本 (xe,ye)(x_e, y_e)(xe?,ye?) 輸出正確結果。
E(xe′,ye′)~{(xe,ye)}1[arg?max?yfθe(y∣xe′)=ye′] \mathbb{E}_{(x'_e, y'_e) \sim \{(x_e, y_e)\}} \mathbb{1}\left[\arg\max_y f_{\theta_e}(y \mid x'_e) = y'_e\right] E(xe′?,ye′?)~{(xe?,ye?)}?1[argymax?fθe??(y∣xe′?)=ye′?]
2.2.2 泛化性 Generalization
- 定義:編輯需推廣到等價鄰域 N(xe,ye)N(x_e, y_e)N(xe?,ye?)(如語義相似的輸入)。
E(xe′,ye′)~N(xe,ye)1[arg?max?yfθe(y∣xe′)=ye′] \mathbb{E}_{(x'_e, y'_e) \sim N(x_e, y_e)} \mathbb{1}\left[\arg\max_y f_{\theta_e}(y \mid x'_e) = y'_e\right] E(xe′?,ye′?)~N(xe?,ye?)?1[argymax?fθe??(y∣xe′?)=ye′?]
2.2.3 局部性 Locality
- 定義:編輯不得影響無關輸入(域外樣本)的輸出。
E(xe′,ye′)~O(xe,ye)1[fθe(y∣xe′)=fθ(y∣xe′)] \mathbb{E}_{(x'_e, y'_e) \sim O(x_e, y_e)} \mathbb{1}\left[f_{\theta_e}(y \mid x'_e) = f_\theta(y \mid x'_e)\right] E(xe′?,ye′?)~O(xe?,ye?)?1[fθe??(y∣xe′?)=fθ?(y∣xe′?)]
3. Current Methods
3.1 不修改LLM參數的方法
3.1.1 基于記憶的方法
- 核心思想:把所有的編輯樣本顯式存儲到一個記憶庫中,當有新輸入時,通過檢索找出最相關的編輯事實,用它們來引導模型生成包含這些修改知識的答案。
- SERAC:
- 保留原始模型不變
- 引入一個counterfactual model:同樣是一個語言模型,專門用來處理編輯過的事實
- 使用一個scope classifier判斷輸入是否屬于編輯過的范圍:
- 如果是,則由 counterfactual model 結合最可能的編輯事實來輸出答案。
- 如果不是,則用原始模型的預測結果。
- In-context Learning:
- 利用 LLM 強大的上下文學習能力,不需要額外訓練新的模型,只需在 Prompt 中提供編輯過的事實和從記憶庫中檢索到的示例,模型就能輸出對應的知識。
3.1.2 引入額外參數的方法
-
核心思想:在模型中額外引入小部分可訓練參數,訓練時只更新這部分參數,而原始 LLM 的參數保持不變。
-
代表方法:
-
T-Patcher:在 FFN 最后一層為每個錯誤增加一個patch(類神經元),只在遇到對應錯誤時才激活。
-
CaliNET:不只一個 patch,而是為多個編輯情況引入多個神經元。
-
GRACE:使用一個離散的codebook 適配器,在需要時添加或更新其中的元素來修正模型輸出。
-
Codebook 的構成
-
Key:離散化后的 latent code
-
Value:存儲需要替換或添加的知識的向量表示
-
-
-
3.2 修改LLM參數的方法
- 這一類方法會直接修改原始模型的部分參數(θ\thetaθ),通常通過一個參數更新矩陣 Δ\DeltaΔ 來完成編輯。
3.2.1 Locate-Then-Edit 先定位再編輯
-
核心思想:先找到模型內部與特定知識對應的參數位置,再直接修改這些參數。
-
代表方法:
-
Knowledge Neuron (KN):用知識歸因方法找到對應知識的知識神經元,然后更新它們。
-
知識歸因方法
-
把一個神經元的激活置零,看預測的變化幅度。
-
按重要性排序,選出貢獻最大的神經元集合作為 知識神經元。
-
-
-
ROME:不是改單個神經元,而是修改整個矩陣。
- 一次只能編輯一個事實。
-
MEMIT:基于 ROME,支持同時編輯多個事實。
-
PMET:在 MEMIT 的基礎上,引入注意力值來提升性能。
-
3.2.2 Meta-learning
- 核心思想:用一個超網絡學習如何生成合適的參數更新 Δ\DeltaΔ,以最小化編輯對其他知識的破壞。
- 代表方法:
- Knowledge Editor (KE)
- 用雙向 LSTM 作為超網絡,為每個數據點預測權重更新,實現受約束的知識編輯。
- 缺點:不適合直接編輯 LLM。
- MEND
- 解決 KE 在 LLM 上的局限性。
- 學習如何將微調模型的梯度轉化為低秩梯度更新,從而在 LLM 上有更好的效果。
- Knowledge Editor (KE)
4. Preliminary Experiments
- 因為現有關于事實知識的研究和數據集非常豐富,所以選擇事實知識作為主要比較對象。
- 通過在兩個重要數據集上做對照實驗,可以直接比較不同方法的優缺點。
4.1 實驗設置
- 數據集:ZsRE、COUNTERFACT
- 模型選擇
- 之前的研究通常在小模型上驗證,比如 BERT。
- 本文希望探究更大模型是否也適用這些編輯方法:
- T5-XL(3B):encoder-decoder架構
- GPT-J(6B):decoder-only架構
- 對比方法:
- 各類別的代表性方法
- FT-L:只微調 ROME 找到的相關層,以減少計算量并保持公平比較。
4.2 實驗結果
-
base model
-
模型擴展實驗
-
批量編輯實驗
-
現實中可能一次改很多知識,所以測試批量修改:
-
-
連續編輯實驗
- 默認評測是改一條–評估–回滾–再改下一條,但現實中模型要保留之前的修改,所以測試連續編輯能力
- 凍結參數類方法(SERAC, T-Patcher)在連續編輯中性能穩定
- 改參數類方法性能會下降:
- ROME:n=10 還好,n=100 明顯下降
- MEMIT:n=100 后下降,但沒 ROME 那么快
- MEND:n=1 很好,n=10 就掉得很厲害
- 原因:多次編輯會讓模型偏離原始狀態,性能變差
- 默認評測是改一條–評估–回滾–再改下一條,但現實中模型要保留之前的修改,所以測試連續編輯能力
5. Comprehensive Study
5.1 可遷移性:魯棒的泛化
-
背景問題:
- 以前的泛化測試只是改了少量措辭,并沒有涉及事實層面的重大變化。
- 現實應用需要驗證模型能否真正理解并遷移被編輯的知識。
-
Portability指標
-
衡量模型能否將編輯過的知識遷移到相關內容上,為此設計了三個子任務:
-
Subject Replace(主體替換)
- 用同義詞或別名替換問題中的主體,看模型是否能將修改的屬性泛化到該主體的其他稱呼。
-
Reversed Relation(反向關系)
- 如果修改了主體和關系的目標,那么目標實體的屬性也應隨之改變。
- 例如如果修改“X的首都是Y”,那么“Y是X的首都”也應一致更新。
- 如果修改了主體和關系的目標,那么目標實體的屬性也應隨之改變。
-
One-hop Reasoning(一跳推理)
- 編輯后的知識能否用于推理相關事實。
- 例如,修改了“Watts Humphrey 就讀于 University of Michigan”,那么問“他大學期間住在哪個城市”時,應答“Ann Arbor in Michigan State”而不是原先的“Dublin in Ireland”。
- 編輯后的知識能否用于推理相關事實。
-
-
-
數據集構造:基于原始數據集,增加 P(xe,ye)P(x_e, y_e)P(xe?,ye?) 部分——可遷移數據集
-
結果
5.2 局部性:編輯的副作用
-
背景問題:
- 局部性是指模型在修改目標知識時,不應無意中改變其他知識或任務性能。
- 現有 COUNTERFACT 和 ZsRE 從不同數據分布測試局部性,但結果差異明顯,說明需要更細化的測試。
-
新的三類評估:
-
Other Relations(其他關系):編輯主體的某個屬性后,其他未編輯的屬性應保持不變。
-
Distract Neighbourhood(干擾鄰域):測試編輯樣例被拼接在無關輸入前,模型是否會被帶偏。
-
Other Tasks(其他任務):檢查編輯是否影響模型在其他任務上的表現(如常識推理)。
-
5.3 效率
-
目標: 編輯應盡量減少時間和顯存消耗,同時保持性能。
-
時間分析:
-
顯存分析
6. Relationship with Relevant Works
6.1 大模型中的知識表示
-
核心問題:LLMs如何存儲和表示知識?這對精準編輯至關重要。
-
知識存儲機制:
- 研究表明,知識主要分布在FFN層的中間神經元。
- 知識歸因技術:通過激活分析定位特定知識對應的參數子集。
-
與知識增強的聯系:
- 模型編輯可視為動態知識注入,類似檢索增強,但編輯直接修改參數而非依賴外部檢索。
6.2 持續學習與機器遺忘
-
持續學習(Continual Learning)
- 關聯性:模型編輯需支持終身學習,即在不遺忘舊知識的前提下增量學習新知識。
- 傳統持續學習通過正則化或參數隔離防止災難性遺忘,但計算成本高。
- 模型編輯(如MEMIT)通過局部參數更新實現高效持續學習,避免全模型微調。
- 關聯性:模型編輯需支持終身學習,即在不遺忘舊知識的前提下增量學習新知識。
-
機器遺忘(Machine Unlearning)
- 隱私需求:要求模型主動遺忘敏感信息(如用戶隱私、有害內容)。
- 編輯技術可直接擦除參數中的特定知識。
- 對比傳統遺忘方法,模型編輯(如SERAC)通過外部記憶庫控制知識訪問更高效。
- 隱私需求:要求模型主動遺忘敏感信息(如用戶隱私、有害內容)。
6.3 安全與隱私
-
核心挑戰:LLMs可能泄露隱私或生成有害內容。
-
編輯技術的應用:
- 抑制有害輸出:通過修改參數或注入安全規則,阻止模型生成暴力、偏見等內容。
- 隱私保護:刪除訓練數據中的敏感信息。