跳到正文
    Ertas
    Back to blog

    大型語言模型微調中的災難性遺忘

    大型語言模型微調中的災難性遺忘:為什麼一輪接一輪的依序訓練會抹掉模型原有的能力,已發表的五類緩解方法(重放、正規化、LoRA、O-LoRA 和 OSFT 等正交子空間方法、增加容量)及其出處,以及如何用帶回歸集的評估門檻在新版本上線前發現遺忘,讓目前的模型繼續服務。

    A pale astronomical impression in graphite and copper, with a soft amber penumbra on warm paper.An asymmetric engraved lunar crescent with cool cyan rim-light and a faint amber counter-impression.

    大型語言模型微調中的災難性遺忘(catastrophic forgetting),是指模型在新資料上訓練後,失去了原本具備的能力。當模型被一輪接一輪地依序微調時,問題最嚴重,而這正是持續學習對模型的要求。重放、正規化和正交子空間方法都能減輕遺忘,再由一道帶回歸集的評估門檻來決定新版本能否取代目前的版本。

    本文介紹災難性遺忘是什麼,依序微調為什麼會導致它,已發表的緩解方法及其出處,以及發布門檻如何把發生了遺忘的版本擋在正式環境之外。

    大型語言模型中的災難性遺忘是什麼?

    災難性遺忘是指模型在新任務上訓練後,在舊任務上的表現急劇下降。IBM 的災難性遺忘解說把最早的觀察追溯到 1989 年的 Michael McCloskey 和 Neal J. Cohen,當時稱為災難性干擾。在大型語言模型中,它表現為:微調後的模型能把新任務做好,卻丟掉了以前會做的東西,例如算術、某種語言、某項安全行為,或另一個系統所依賴的輸出格式。

    這個現象在當今的大型語言模型中已有實測。Luo 等人的持續微調中災難性遺忘的實證研究(2023 年)在 10 億到 70 億參數的模型上、在持續指令微調過程中都觀察到了遺忘,而且在這個範圍內,模型越大遺忘越多。

    為什麼微調會導致災難性遺忘?

    微調更新的是所有任務共用的權重,而訓練目標只衡量新資料。梯度下降會把權重往降低微調集損失的方向移動,其中沒有任何一項顧及模型原有的能力,因此一次對新任務有幫助的更新,可能會覆蓋舊任務所依賴的東西。學習率高、訓練輪數多、資料集範圍窄,都會讓這種覆蓋更嚴重。

    依序微調會讓問題疊加。每一輪都從上一輪的模型出發,再移動一次,損失也隨之累積。Red Hat 的 OSFT 解說(2026 年 7 月 28 日)引用了 Sculpting Subspaces 論文中的一個案例:一個能解出 29% 小學數學題的模型,在八個新任務上微調後,正確率降到了 2%。Google Research 的 sleep framework(2026 年 10 月 27 日)也報告了同樣的規律:在依序進行的翻譯任務中,監督式微調基準出現了嚴重遺忘。

    這就是為什麼遺忘對 AI 智慧代理的持續學習比對單次微調更要緊。一個每隔幾週就用流量重新訓練的代理模型,本身就是一連串微調,每一次都是失去能力的新機會。

    微調時如何防止災難性遺忘?

    已發表的緩解方法可以歸為五類,每一類都透過限制一次更新能在多大程度上改動模型已有的能力來減輕遺忘。效果如何,仍需測量來確認。

    方法原理出處
    重放每一輪都混入之前的訓練資料Scialom 等人,2022
    正規化放慢對舊任務重要權重的學習Kirkpatrick 等人,2016
    參數高效訓練在凍結的權重上訓練小型轉接器Biderman 等人,2024
    正交子空間讓更新避開舊任務使用的方向Wang 等人,2023;Nayak 等人,2025
    增加容量把新知識寫入新增的參數Google Research,2026

    在正式環境流量上,重放的成本最低,而且這幾類方法可以組合使用,例如重放加 LoRA。

    重放。 重放(replay,也稱 rehearsal)會保留一個由舊訓練樣本組成的緩衝區,並在每一輪新訓練中混入這些樣本,讓模型繼續練習之前學到的東西。在 "Fine-tuned Language Models are Continual Learners"(2022 年)中,Scialom 等人用相當於舊資料 1% 的記憶緩衝區,讓一個 T0 模型依序學習新任務,並保住了它在舊任務上的表現。對於用代理流量重新訓練的模型來說,之前幾輪核准過的樣本本來就在手邊,所以重放幾乎不需要額外成本。

    正規化。 彈性權重鞏固(elastic weight consolidation)出自 Kirkpatrick 等人的 "Overcoming catastrophic forgetting in neural networks"(2016 年),它會對改動舊任務最依賴的權重施加懲罰,讓學習恰好在遺忘會造成損害的地方放慢。

    參數高效訓練。 LoRA 訓練小型的低秩轉接器,基礎權重保持不動。Biderman 等人在 "LoRA Learns Less and Forgets Less"(2024 年)中發現,在程式碼和數學領域,LoRA 對目標領域學到的比全量微調少,但在目標領域之外保留了更多基礎模型的表現,而且它減輕遺忘的效果勝過權重衰減和 dropout。

    正交子空間。 O-LoRA(Wang 等人,2023 年)在一個與之前各任務保持正交的低秩子空間中學習每個新任務,並且不需要儲存資料用於重放。Sculpting Subspaces(Nayak 等人,2025 年)把這個思路用到全量微調上:先找出舊任務所依賴的權重方向,再把更新限制在與這些方向正交的空間裡。Red Hat 把這種方法稱為正交子空間微調(OSFT),並在解說中指出:在由八個依序學習的任務組成的基準 TRACE 上,同一個 LLaMA-2-7B-Chat 模型、同樣的資料,OSFT 的平均準確率為 48.4%,標準微調為 23.0%。

    增加容量。 有些方法給新知識安排新的參數。Google Research 的 sleep framework 在離線階段為一個混合專家模型加入低秩專家,並把新資訊整合到那裡,舊參數保持原位。這是五類中最新的方法,截至 2026 年 10 月,大多仍處於研究階段。

    保守的訓練設定可以與這五類方法搭配使用:更低的學習率和更少的訓練輪數,會讓每次更新的幅度更小。

    LoRA 能防止災難性遺忘嗎?

    LoRA 能減輕災難性遺忘,但會留下一部分。Biderman 等人發現,與全量微調相比,它在目標領域之外保留了更多基礎模型的表現,代價是對目標領域學得更少。Red Hat 的解說從另一面說明了同一點:LoRA 改動的模型部分更少,卻沒有任何機制保護某項特定能力。在多輪訓練中,應把 LoRA 和重放結合使用,並測量每一個版本。我們的詞彙表條目 LoRA 介紹了轉接器的運作原理。

    評估門檻如何發現災難性遺忘?

    評估門檻會在每個新版本接收流量之前,用一組固定案例為它打分,而門檻中的回歸集正是發現遺忘的關鍵。緩解方法降低遺忘的機率,門檻則告訴您遺忘是否真的發生了。

    代理模型的回歸集包含四類案例:

    • 目前模型答對的案例,涵蓋代理的主要任務。
    • 之前的修正。 每一輪訓練所要修正的案例,防止後續某一輪在無人察覺的情況下把它們改回去。
    • 其他系統依賴的行為。 輸出結構、工具呼叫格式和拒答行為。
    • 無關案例。 少量與本次修正無關的案例,Arize 的持續學習指南也有同樣的建議,用來發現針對性測試集看不到的退步。

    門檻的規則是:新版本必須在任務集上達到品質標準,並且在回歸集上與目前模型的差距不超過雜訊容差,這兩個閾值都要在打分之前定好。只要有一項不達標,目前的模型就繼續提供服務,失敗的案例則進入下一輪的訓練資料。讓上一個版本隨時可以部署,是這套做法安全的前提;我們關於模型版本管理、回滾與漂移的文章介紹了具體做法。

    雜訊容差需要測量。在我們的 QMSum 研究(arXiv 2609.25028)中,只改變訓練隨機種子,兩次執行之間驗證集 ROUGE-1 就相差 1.59,同一次執行中的五個檢查點之間相差 1.7。小於這個幅度的下降可能只是偶然。容差定得太緊,偶然的下降會擋住好的版本;定得太鬆,真正的遺忘就會漏過去。

    2026 年災難性遺忘還是問題嗎?

    是。LangChain 的 Harrison Chase 在 "Continual learning for AI agents"(2026 年 4 月 5 日)中稱它為模型層持續學習的核心挑戰之一,也是一個尚未解決的研究問題;Google Research 關於 sleep framework 的文章(2026 年 10 月 27 日)稱它是一個根本性問題。緩解方法在進步,OSFT 和容量擴充是其中最新的一批,但還沒有哪種方法能讓遺忘不可能發生。因此,正式環境中的系統都把緩解和測量結合起來。

    Ertas 端點如何應對遺忘?

    Ertas 的自適應模型端點會讓目前的模型一直提供服務,直到新版本達到標準。它透過一個 API 提供一個用您的代理工作訓練出的專用模型,並持續從您的代理流量中學習:每個新版本在背景訓練,並用您的評估打分,其中包括目前模型已經處理得很好的回歸案例。訓練樣本和每一次發布都由您核准。如果新版本沒有達標,目前的模型繼續提供服務。

    它可以由 Ertas 代管,也可以部署在您的雲端或地端。端點目前僅限受邀使用,我們正在開發一個更精簡的版本,以便更多團隊使用。

    常見問題

    用簡單的話說,災難性遺忘是什麼?

    模型學會了新東西,卻忘了已經會的東西。在大型語言模型微調中,一個在新任務上訓練的模型,可能在原本做得很好的任務上變差,因為兩者存放在同一組權重裡。

    微調會讓模型在其他任務上變差嗎?

    有可能。學習率高、訓練輪數多的窄範圍微調,常常會削弱目標任務之外的能力。重放、LoRA、保守的訓練設定,再加上涵蓋範圍超出目標任務的評估,可以讓這種損害保持在較小且看得見的範圍內。

    應該重放多少舊資料?

    少量往往就夠。Scialom 等人用相當於舊訓練資料 1% 的緩衝區,就保住了模型在舊任務上的表現。可以先從少量開始,如果回歸集顯示出損失,再提高比例。

    災難性遺忘可以挽回嗎?

    可以,前提是保留了上一個版本。先回滾到這個版本,再從它出發重新訓練,並重放發生遺忘的版本丟掉的那些樣本。保存每一個已發布的版本及其評估結果,才能做到這一點。

    RAG 會導致災難性遺忘嗎?

    不會。檢索是往提示詞裡補充資訊,模型權重保持不變,所以模型學到的東西不會被覆蓋。這也是經常變化的事實應該放進檢索的原因之一,訓練則留給行為、格式和任務技能。

    簡短版

    災難性遺忘是更新共享權重要付出的代價,依序微調則一輪又一輪地付出這個代價。重放、正規化、LoRA 以及 OSFT 這類正交子空間方法都能減輕它。發布門檻中的回歸集能顯示新版本是否遺忘了什麼,在某個版本通過之前,目前的模型繼續提供服務。


    資料來源,均於 2026 年 10 月 29 日查閱:IBM,"What is catastrophic forgetting?";Red Hat Developer,"OSFT explained"(2026 年 7 月 28 日);Google Research,"The sleep framework"(2026 年 10 月 27 日);LangChain,"Continual learning for AI agents"(2026 年 4 月 5 日);Arize,"Continual learning for AI agents and LLM systems"(最近一次審閱於 2026 年 8 月 16 日);arXiv 論文:Luo 等人(2308.08747)、Scialom 等人(2205.12393)、Kirkpatrick 等人(1612.00796)、Biderman 等人(2405.09673)、Wang 等人(2310.14152)和 Nayak 等人(2504.07097)。我們的研究:QMSum 研究。