【AI大模型进阶】微调中的过拟合表现:训练集 loss 降了,测试集降了吗?
集 loss 降了,测试集降了吗?
写在前面
大模型微调不管是全参数微调、LoRA 微调、QLoRA 低秩微调,大家最直观的监控指标就是损失 loss。很多人训练的时候看到训练 loss 一路持续下降,就默认模型效果越来越好。但上线推理之后发现实际输出效果很差:重复输出、死记训练样本、泛化能力弱、对新问题回答能力崩坏,这就是微调过拟合。
大模型微调场景下的过拟合和传统机器学习略有区别。传统任务过拟合是训练 loss 下降,验证 loss 上升;而大模型微调经常出现训练 loss 持续下降,验证 loss 先降后震荡抬升,甚至验证 loss 还在下降,但实际推理效果已经变差。只看 loss 数值会产生很强误导。本文结合原理、现象、可运行监控代码、判断手段、抑制方案完整讲解微调过拟合,全部代码可直接嵌入训练流程,全文不带图片。
一、什么是大模型微调过拟合
过拟合本质:模型过度记住训练数据里的样本细节、句式、特殊问答,没有学习通用逻辑,对训练集之外的未知样本泛化能力退化。
小模型时代,判断标准非常简单:
训练 loss ↓下降
验证 loss ↓先下降,之后↑上升 →判定过拟合
大模型微调会出现两类特殊情况:
标准过拟合:训练 loss 持续走低,验证 loss 到达最低点之后开始震荡升高。
隐性过拟合:验证 loss 还在下降,但是推理质量