# [2025李宏毅ML] 第6講:生成式人工智慧的後訓練(Post-Training)與遺忘問題 :::success :+1: 筆記全集Book 請至: https://hackmd.io/@4j/r1U_UJ_pye/ ::: :::info 2025生成式AI時代下的機器學習_李宏毅 課程網站 https://speech.ee.ntu.edu.tw/~hylee/ml/2025-spring.php video: https://youtu.be/Z6b5-77EfGk?si=jt_D9M3E4RdZIVx6 [[ppt]](https://docs.google.com/presentation/d/129jFUXCPekD2Qoaq6H0Ntasm0GUiK8_X/edit#slide=id.p1) [[pdf]](https://speech.ee.ntu.edu.tw/~hylee/ml/ml2025-course-data/pretrain.pdf) (20250420) ::: :::spoiler 目錄 [TOC] :::  ## 簡介:後訓練 & 遺忘  通用模型時代常見的情境 ▪ **Foundation Model(Pre-trained/Base Model)**:已擁有通用能力的開源模型(LLaMA, Gemma, DeepSeek, ChatGPT),我們可以微調他參數,這些模型基礎能力皆已達標準,像是已畢業的學生 需要打造"特定能力"的模型 準備特定資料調整模型 ▪ **Post-Training/Continual Learning**:把通用模型再做進一步的調整學習 更廣義的 Alignment, 對現有模型加上額外技能 ▪ Post-Training 前的模型叫 **"Foundation Model"** 可以是 pretrained model, base model, 做過align的模型,... ▪ Post-Training 後的模型叫 **"Fine-tuned Model"** Chat/Instruct Model  ▪ Post-Training (Continual Learning) 三種訓練方法 Pre-train Style SFT Style RLHF Style ## 案例:Post-Training 的難題 - forgetting ▪ **案例1:教 LLaMA-2-Chat 中文**  LLaMA-2 是用英文pretrained,align成有防禦能力,不會用中文回答 現在用中文資料做後訓練 期待他多學會說中文  不幸的是 --> 會說中文了但失去防禦 ▪ **案例2**   ToxiGen 檢測說錯話的機率: 會說中文 但說錯話機率跟原版比變高了 ▪ **案例3: SFT style 的也會發生遺忘**   學會新知識 但破壞了原始 safety alignment 的能力 ▪ **案例4: safety alignment以外的能力 也會被破壞掉**  (藍)單一目標任務在post training後都會變強 (紅)但破壞了其他原有的能力 ▪ **案例5:教 LLaMA 聽聲音**   speech encoder 把語音訊號轉為向量 微調 adapter 參數,對文字模型做後訓練讓他聽得懂語音  相關模型列表   但困難的事會遇到 **forgetting問題** ep增加時 比較聽得懂語音情緒 但忘記如何輸出JSON格式了 ## Post-Training 的挑戰: catastrophic forgetting  **catastrophic forgetting 災耐性的遺忘** 新的知識流入 舊的就流走了....  訓練時只要求他程式能力變強 沒有管其他能力 所以就遺忘了 ▪ **並不是模型越大越不會遺忘**  ▪ **案例**  模型在目標任務上表現的越好(loss越低) 遺忘的就越嚴重(縱軸越高) 加 LoRa 沒有解決遺忘 可能只是學的比較少而已(代價) 所以遺忘較少 (橫軸:模型遺忘程度,三任務的平均分數越低越遺忘) ▪ **案例**  LoRa 還比其他方法好防止遺忘 dropout,weightdecay皆無法阻止遺忘的發生  Post-Training 就像給人工智慧的大腦動手術 Catastrophic forgetting 像是「手術成功,病人卻死了」 <-- 要避免! ## 如何避免遺忘  回到過去看看 [[這段用看影片的吧 -yt]](https://youtu.be/Z6b5-77EfGk?si=oD61EuyzSBMbzhDM&t=2010)   ▪ **案例**: 2019 Catastrophic Forgetting of LLM     想每次有新資料時就教模型新任務 讓他增加新能力 發現原能力會不穩定 容易失去又容易回來 :(  ▪ **解法:experience replay**(2019) 學完任務一要學任務二時,需要混一點任務一的資料(5%已足)  確實有效喚回他的能力  不難解決(?) 儲存一些來自先前任務的資料,以防止災難性遺忘。 --- ===== 回來現代試看看! =====>>>>    解法:拿 LLaMA-2 Chat 的訓練資料來 experience replay but 並沒有釋出資料阿.... Catastrophic Forgetting is a real problem! --- <<<===== 再回去古代看其他解法 =====  Back to old study of Catastrophic Forgetting   假設無法拿到訓練資料 從已訓練的模型回推訓練資料 請他隨便講什麼 自問自答產生舊的訓練資料    也是有效的~ ==> **加入 舊有資料(可以是語言模型自己生出來的) 可以避免遺忘狀況** --- ===== 講古結束,回到現代! =====>>>>  ▪ **案例**: Safety-Tuned LLaMAs  finetune時,保留一點點safety alignment的資料,就可保有能力 ▪ **案例**: Synthetic Data from Llama-3-Instruct   拿不到過去的資料 就讓他自問自答產生 ### 其他變形方法  **1. Experience Replay**: 加入舊真實資料的 Q&A **2. (Pseudo) Experience Replay**: foundation model 自問自答產生的資料 **3. paraphrase**: 拿 改寫過(換句話說)的 答案來加入訓練 > paraphrase實驗結果 大部分用改寫資料都比較好  **4. self-output**: 讓 foundation model 直接產生答案,但需有方法檢測答案是否正確,若他答錯就換用人寫的答案 (總之方法都是希望混一些 foundation model 自產的資料 避免遺忘狀況) 這就很像 RL-based post-training > 測試結果 Prompt: foundation SFT: finetuning 測試在四個bm上 準確率下降很多 SSR: self-output 下降變比較輕微  **4-2. self-output**: 把 foundation model 換成其他 model,其實也有效 > 用人類資料教模型 表現較差較容易遺忘(紅字),用語言模型教語言模型反而比較好 self-output 在語音上的案例  直接讓LLM聽語音 容易傷到他的文字能力 要用模型的話當答案來教他 把文字模型的輸出當目標 現今很多語音模型都是這樣訓練的 ex: BLSP,DeSTA2,DIVA >案例介紹:DeSTA2   Benchmark: Dynamic SUPERB   The Dynamic SUPERB Phase-2 is coming! Project page: https://github.com/dynamic-superb/dynamic-superb  若能有效防止遺忘 只要使用較少量的資料就能訓練出還不錯的語音版語言模型 ## Concluding Remarks  ▪ **Post-training 時人工智慧容易遺忘過去的技能** 在做Post-training 時 要注意除了檢視目標任務有沒有做好,也應該要檢查是否保有原來的能力 ▪ **有效防止遺忘的方法:用人工智慧自己的話來做 Post-training** --END--
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up