跳至主要内容

生成式人工智慧的後訓練 (Post-Training) 與遺忘問題

後訓練 (Post-Training) 的定義與方法

後訓練(亦稱 Continual Learning)是指將一個已具備通用能力的模型,進一步調整以擅長特定領域(如金融、法律)或特定語言(如中文、程式語言)的過程。

  • 模型階段命名
    • Foundation Model:後訓練前的模型,可以是 Pre-trained、Base,也可以是已經做完對齊(Alignment)的 Chat 或 Instruct Model。
    • Fine-tuned Model:經過後訓練,具備特定專長的模型。在實務上,後訓練後的產出同樣可以被稱為 Chat 或 Instruct Modelpost-training-phase
  • 訓練方法:後訓練可採用 Pre-train style(文字接龍)、SFT style(指令微調)或 RLHF style(強化學習)。 post-training-methods

核心挑戰:災難性遺忘 (Catastrophic Forgetting)

「災難性遺忘」是指模型在後訓練 (Post-Training) 過程中,為了學會新技能或領域知識,導致舊有的基礎能力迅速流失的現象。這被形容為 「手術成功,病人卻死了」 :雖然模型在目標任務(病灶)上表現達標,但原本具備的通用功能卻已毀損。

catastrophic-forgetting

案例一:語言擴充導致的安全防禦崩潰

  • 現象描述:原版 LLaMA-2 Chat 具備安全防禦能力,雖然能看懂中文但預設以英文拒絕有害請求。
  • 遺忘結果:在進行中文資料的 Pre-train style 後訓練後,模型雖學會用中文回答,卻失去了防禦機制。例如詢問如何獲取銀行密碼,後訓練後的模型竟開始詳細教導多種攻擊方式。
  • 數據證實:ToxiGen 檢測顯示,原版模型說錯話機率僅 0.22%,但後訓練後此比例大幅飆升。
language-expansion-breaks-safety-1language-expansion-breaks-safety-2
模型學會用中文回答,卻失去了防禦機制Post-Training 造成說錯話大幅上升

案例二:看似無害的微調引發的安全性損失

  • 身分改名:研究發現僅僅是將 ChatGPT 改名為「AOA」並要求特定客套話開場,就能讓原本堅固的安全對齊能力瞬間消失。
  • 正常資料副作用:使用極其正常的問答資料集(如 Alpaca)進行 SFT,也會導致模型的安全性檢測在多個面向上突然變差。這證明即便使用者無惡意意圖,後訓練仍會損害安全對齊。

finetuning-induced-safety-regression

案例三:特定專業技能的互斥性 (Mutual Exclusivity)

  • 任務拉鋸:針對推理、醫學、程式或工具使用進行強化時,模型在該領域變強,卻會破壞其他原有能力。
  • 具體跌幅:實驗顯示,專門教模型寫程式後,其數學與工具使用能力會大幅暴跌(如數學分數從 19.6 分驟降至 3.6 分)。

specialized-skill-exclusivity

案例四:跨模態學習導致的格式遺忘

  • 學習過程:為了讓 LLaMA 聽懂語音情緒,研究者微調了 adapter 參數進行後訓練,使模型學會由語音向量對應輸出文字標籤。
  • 遺忘表現:在訓練初期(1 Epoch),模型還能勉強維持 LLaMA 原本擅長的 JSON 格式輸出
  • 能力消長:隨著訓練次數 (Epoch) 增加,模型雖然變得更聽得懂情緒,卻徹底忘記了 JSON 格式,無法再按指令輸出正確格式。
language-expansion-breaks-safety-1language-expansion-breaks-safety-2
插入 adapter 參數進行後訓練,並且準備一些QA隨著訓練次數增加,模型卻忘了 J了ON 格式

關於遺忘的系統性發現

  • 模型規模不同一樣會忘記:研究指出,遺忘現象與模型大小並無絕對關係,在 1B 到 7B 的模型中,較大的模型遺忘狀況並沒有比較輕微。 forgetting-is-scale-invariant
  • 學習越好,遺忘越重:模型在目標任務上表現越出色(Loss 越低),遺忘舊知識的情況就越嚴重,兩者呈現直接的線性正相關。
  • LoRA 的真相:LoRA 被認為能減輕遺忘,但本質是「學得少,忘得少」;它是以犧牲目標任務的表現(學到的東西較少)來換取較少的遺忘。 better-learning-worse-forgetting
  • 傳統技術更沒有效果:一般用於增加魯棒性的技術,如 Dropout 或 Weight Decay,在實驗中皆被證實無法阻止災難性遺忘的發生。 traditional-techniques-ineffective

克服遺忘的傳統與現代方案

從 2019 年的研究(GPT-2 時代)到現今,解決遺忘問題的核心邏輯始終圍繞在「複習舊資料」。

Experience Replay (經驗回放)

  • 原理:教新任務時,混入少量(約 5%)舊任務的資料。
  • 現代應用:即使是現在的 LLaMA-3,在微調時保留約 3% 的安全對齊資料,就能保住其防禦能力。 experience-replay

Pseudo Experience Replay (虛擬經驗回放)

  • 背景:若無法取得原始 Foundation Model 的訓練資料(如廠商不公開),可利用模型自問自答no-access-to-foundation-data
  • 方法:讓模型針對舊有主題自行生成對話資料,再將這些「虛擬資料」混入新訓練中。 self-generated-dialogue-data

進階後訓練技巧:讓 AI 教 AI

研究發現,利用「模型自己的語言」來訓練,效果往往優於使用人類標註的資料。

Self-output / Self-Synthesized Rehearsal (SSR)

  • 讓 Foundation Model 對問題產生答案,若答案正確(如通過數學驗證或 Compiler),就用模型自己的回答來訓練自己。這能顯著減輕遺忘。 self-synthesized-rehearsal
  • Magpie (自問自答機制):這是一種知名的「虛擬經驗回放 (Pseudo Experience Replay)」方法。當無法取得原始訓練資料時,只需給模型一個 User 標籤讓其自行產生問題,再接續 Assistant 標籤讓其回答;透過這種自問自答產出的資料,能精確模擬原模型的指令微調過程,有效防止能力遺忘。 magpie
  • Paraphrasing (改寫):將人類提供的正確答案交由 Foundation Model 換句話說。使用模型改寫過的資料進行訓練,在多數情況下比直接使用人類資料更能防止遺忘。
  • RL-based post-training:強化學習在本質上與 Self-output 非常相似,因為它也是根據模型自行生成的答案給予回饋,這可能是 RL 擅長保持能力的原因之一。 ai-teaches-ai

Self-output 於語音模型訓練的應用

  • 以「文字描述 (Speech Transcript/Description)」作為橋接

    • 由於文字模型無法直接聽懂語音向量,盡量將語音訊號的特徵(如長度、性別、情緒、口音等)透過文字模型轉化為詳細的文字描述(Speech Transcript / Description)
    • 將這些描述餵給文字模型後,它會產生一段輸出;接著在訓練語音版模型時,要求語音模型的輸出與該文字模型的答案越接近越好。 speech-description-bridge
  • DeSTA2 的研發與強大泛化能力

    • 訓練時實際上僅教導模型一個極簡指令:「What can you hear?」。
    • 憑藉文字模型強大的泛化 (Generalization) 能力,即使測試時遇到從未學過的指令(如語者辨識、情緒偵測),模型依然能正確回答。 desta2

過濾難題 (Token Filtering)

  • 計算訓練資料中每個 Token 被模型產生的機率(Perplexity)。若某些 Token 對模型來說極難產生(學不起來),直接在訓練時略過這些難點而不去強迫模型學習,反而有助於提升模型效能並避免能力崩潰。 token-filtering

盡量以模型自生成的資料進行後訓練

在進行 Post-training 時,必須同時檢視「目標任務的達成度」與「原始能力的保有度」。有效防止遺忘的最強方法,就是盡量使用人工智慧自己的語言(自產資料)來進行後訓練

conclusion-and-recommendations