过程:(1)将数据分为训练集和验证集,(2)在训练过程中定期在验证集上评估,(3)跟踪最佳验证指标(损失、准确率、F1),(4)如果指标连续N次评估没有改善(耐心),则停止训练并回退到验证分数最佳的检查点。这防止模型在对泛化没有帮助的点之后继续记忆训练数据。
对于LLM微调,早停法特别重要,因为灾难性遗忘可能破坏基础模型的能力。在客服数据上微调过久的模型可能变得擅长客服但失去数学或写代码的能力。跨多种任务类型(不仅仅是微调任务)监控验证损失有助于捕获这种情况。典型的微调运行是1–5个epoch,耐心为2–3次评估。
有趣的是,LLM预训练很少使用早停法。训练运行非常昂贵,数据集非常大,以至于模型通常训练预定数量的token(基于缩放定律)。预训练中过拟合很少见,因为模型通常不会两次看到相同的数据。早停法主要是微调和经典机器学习的技术。