JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

領域適配與持續預訓練

當差距不在行為、而在一整套語彙時——醫學、法律、程式碼、一門新語言——以及如何在不抹掉模型既有知識的前提下教會它。

領域差距

有時模型把指令照辦得無懈可擊,卻仍然左支右絀,因為它幾乎沒見過你的「領域」。臨床縮寫、法條引用、某個專有程式碼庫、或一門資源稀少的語言,都可能在預訓練的混合資料裡被嚴重低估。再怎麼打磨提示,也教不會模型從未吸收過的語彙。這就是領域適配(domain adaptation)的地盤。

在調整權重之前,先想想檢索增強生成(RAG)能否在請求時直接提供缺失的領域事實。

流程:查詢先檢索文件,將其加入提示,模型再生成答案。

持續預訓練

彌補知識差距的工具是持續預訓練(continued pretraining)(也叫領域自適應預訓練):你沿用基礎模型當初建立時的那套自監督(self-supervised)「下一個 token 預測」目標,只是現在改用一份「你的」領域的大量原始文字。這裡沒有標註——只有大量領域內文件,讓模型去學著預測。這就是遷移學習(transfer learning)在運作:通用的語言能力被帶過來,領域知識則沉澱在上層。

\mathcal{L}(\theta) = -\sum_{t=1}^{T} \log P_\theta\!\left(x_t \mid x_{<t}\right)

繼續預訓練沿用同一個自監督目標:預測每個下一個詞元,在你的領域語料上最小化負對數似然。

一種常見的進階配方是兩階段:先用持續預訓練把領域裝進去,再用監督式微調在其上恢復「聽指令」的能力。預訓練教的是你領域裡「世界長什麼樣」,SFT 教的是在其中「該怎麼表現」。

災難性遺忘——核心危險

把模型在狹窄資料上逼得太兇,它可能患上災難性遺忘(catastrophic forgetting):當權重移動去擬合你的領域時,會偏離那些讓基礎模型值得使用的通用能力。最後你得到一個精通放射科報告、卻再也無法正常對話或做基本算術的模型。這正是讓領域適配變得棘手的失敗模式。

  1. 混入回放資料——把通用領域的文字摻回語料,讓舊技能持續被強化。調整這個比例是一種資料混合配比(data-mixture weighting)的決策。
  2. 用低學習率與少量回合(epoch)——溫和的輕推比激進的訓練保留更多原始模型。
  3. 能用 PEFT 就用——適配器把大部分改動侷限在一個小附加件裡,讓凍結的基礎模型保持完好,遠不易遺忘。

適配 vs 知識截止

對特定領域而言,領域適配也是讓模型越過其知識截止(knowledge cutoff)的一種方法——用近期的領域內文字做持續預訓練,能把較新的事實烤進權重裡。但烤進去的事實一旦世界再變就過時了,而重新訓練很慢。對於頻繁更新的資訊,檢索通常是更好的答案;把適配留給「耐久」的領域知識與慣用語。

一份領域適配配方

  1. 先確認差距真的是「領域知識」,而非提示或格式——並確認檢索無法更便宜地涵蓋它。
  2. 蒐集一份龐大、乾淨的領域內文字語料,外加一小片通用文字作為回放。
  3. 以低學習率持續預訓練幾個回合,盯著通用基準看有沒有遺忘的跡象。
  4. 接著用監督式微調,恢復聽指令的能力與你要的回應風格。
  5. 在「領域測試集」與「通用測試集」上都評估,這樣領域內的進步才藏不住通用能力的退步。