大模型SFT用chat版還是base版
進行 SFT 時,基座模型選用 Chat 還是 Base 模型?
選 Base 還是 Chat 模型,首先先熟悉 Base 和 Chat 是兩種不同的大模型,它們在訓練數據、應用場景和模型特性上有所區別。
在訓練數據方面,Base 模型是基于海量語料庫進行的無監督學習。它從大量文本中學習語言模式和知識,而不需要人工標注或監督。
相比之下,Chat 模型則是在指令微調的有監督學習下進行訓練的。這意味著它使用人工標注的數據集進行訓練,以便更好地理解和響應特定指令。
在應用場景上,Base 模型主要用于無監督學習任務,如文本分類、情感分析、摘要生成等。這些任務主要關注文本內容的理解和處理,而不需要對特定指令做出響應。
相反,Chat 模型則主要用于指令學習任務,如問答系統、對話生成、智能客服等。在這些任務中,模型需要理解和響應人類的指令,以提供準確和有用的信息。
在模型特性上,Base 模型預訓練之后沒有做任何調整。它提供了基本的語言理解和生成能力,但可能需要針對特定任務進行微調或優化。
而 Chat 模型則是在 Base 模型上進行微調的版本,它通過指令微調和人工反饋強化學習等方法,使模型更加符合人類的價值觀和指令要求。
另一種說法是 base 模型可以更方便做知識注入,而 chat 版本是做過對其的,不好做知識注入。
所以基于 base 的 SFT 可以做的上限更高,更方便做知識的注入,而基于 chat 模型的 SFT 是做的樣式學習或者指令學習。
但是 base 也存在沒有對其的風險,輸出可能和希望有差距,需要更多的調優和對齊。
SFT后災難性遺忘怎么辦
1. 更改模型結構和參數高效微調(PEFT)
通過部分參數調整保留預訓練知識,降低對原始模型權重的破壞:
- LoRA:通過低秩矩陣更新權重,僅訓練少量新增參數,保留大部分預訓練參數。
- Adapter-Tuning:在模型各層插入小型適配器模塊,僅訓練適配器參數。
- LoRAMoE:結合混合專家(MoE)與LoRA,將專家分為兩組,分別處理通用知識和新任務,通過路由機制動態分配權重,減少參數沖突。
- 彈性權重固化(EWC,Elastic Weight Consolidation):通過引?正則化項,限制模型參數的變動范圍,以保護之前學習到的知識。這種?法可以在微調過程中平衡新任務和舊任務之間的重要性
2. 數據策略優化
調整訓練數據的分布和結構以平衡新舊知識:
- 混合通用數據:在SFT數據中保留一定比例的通用任務數據(如對話、問答),防止模型過度偏向特定領域。
- 多任務聯合訓練:同時微調多個任務(如翻譯、摘要、推理),增強模型的泛化能力。
- 數據重放(Replay):定期將通用數據重新輸入模型進行訓練,類似“知識復習”。
3. 訓練方式
通過架構設計緩解遺忘:
- SDFT(自我蒸餾):利用原始模型對任務數據生成回復,構建自我蒸餾數據集,使任務數據分布更接近原始模型,減少分布偏移。
- 漸進式訓練:分階段微調,先訓練適配層,再逐步解凍部分預訓練層,避免一次性全參數更新。
參考文檔
- SFT索命14問,給跪了
- ?模型(LLMs)基礎