免費全文 模型微調 進階

學習率與訓練輪數:從損失曲線讀出該停在哪

微調過擬合的速度比想像中快。看懂曲線比背誦超參數表有用得多。

模型微調教程封面

微調資料通常只有幾百到幾千筆,跑三輪就可能過擬合。判斷依據只有一個:驗證損失。

四種常見曲線

  • 訓練損失下降、驗證損失下降 → 正常,可以繼續。
  • 訓練損失下降、驗證損失上升 → 過擬合,回到轉折點的檢查點。
  • 兩者都不動 → 學習率太小,或資料與任務不匹配。
  • 損失劇烈震盪或變成 NaN → 學習率太大,或資料裡有異常長樣本。

起手值

# LoRA 微調的常見起點
learning_rate = 2e-4        # 全參數微調要小很多,約 1e-5
num_train_epochs = 3
warmup_ratio = 0.03
lr_scheduler_type = 'cosine'
weight_decay = 0.0

LoRA 的學習率比全參數微調大一到兩個數量級,這是正常的——因為只有很小一部分參數在動。

務必存中間檢查點

args = TrainingArguments(
    eval_strategy='steps', eval_steps=50,
    save_strategy='steps', save_steps=50,
    load_best_model_at_end=True,
    metric_for_best_model='eval_loss', greater_is_better=False,
)

驗證損失不是唯一標準

驗證損失低不代表任務表現好,尤其是結構化輸出任務。最終決策要看任務指標——格式合法率、分類正確率、人工抽查。實務上常見驗證損失最低的檢查點不是任務表現最好的那一個。

每個檢查點都跑一次小型任務評測(50 題就好),把「損失曲線」與「任務分數曲線」畫在一起,選點會清楚很多。
下一步

這個主題還有更深入的實戰教程

VIP 專區收錄 50 篇進階內容:架構設計、生產環境取捨、成本與合規。 每週五新增 3 篇。

看訂閱方案 → 先逛逛 VIP 專區

延伸閱讀

更多模型微調 →