過程:(1)將資料分為訓練集和驗證集,(2)在訓練期間定期在驗證集上評估,(3)追蹤最佳驗證指標(損失、準確率、F1),(4)如果指標在 N 次評估中沒有改善(耐心值),停止訓練並恢復到具有最佳驗證分數的檢查點。這防止模型對訓練資料的記憶超過對泛化有幫助的程度。
對於 LLM 微調,提前停止特別重要,因為災難性遺忘可能會破壞基礎模型的能力。一個在客服資料上訓練太久的模型可能在客服方面變得很好,但失去了做數學或寫程式碼的能力。監控跨多種任務類型(不僅僅是微調任務)的驗證損失有助於捕捉到這一點。典型的微調運行是 1–5 個 epoch,耐心值為 2–3 次評估。
有趣的是,LLM 預訓練很少使用提前停止。訓練運行非常昂貴,資料集非常大,模型通常訓練預定數量的 token(基於縮放法則)。在預訓練期間過擬合很罕見,因為模型通常不會看到相同的資料兩次。提前停止主要是微調和經典機器學習的技術。