发布时间:2025-06-25 19:00:53编辑:123阅读(17)
微调过程观察
微调过程中,可以通过右下角的 LOSS 曲线来简单观测整个微调过程。
LOSS(损失值)
在模型微调中,LOSS(损失函数)是一个可微的数学函数,它量化了模型预测结果与真实目标值之间的误差(输出为一个标量数值)。微调的核心目标就是通过优化算法(如梯度下降)持续最小化这个 LOSS 值:计算 LOSS 对模型参数的梯度,并据此调整参数,使预测误差不断减小。LOSS 值的高低直接反映了模型预测的准确性,其持续下降是学习过程有效的关键指标。LOSS 是什么?
简单说,LOSS 就是模型在微调过程中犯错误的“程度”的评分,它是一个数字。
怎么算出来的?
模型对一条数据做预测(比如判断图片是猫还是狗)。然后,我们把模型的预测结果和这条数据的正确答案拿出来对比。
对比什么?
对比模型“猜”得有多不准。猜得越离谱,这个错误评分(LOSS)就越大;猜得越接近正确答案,这个错误评分(LOSS)就越小。
微调时用它干什么?
微调的核心目标就是让模型少犯错。所以,微调过程就是想尽办法让这个 LOSS(错误评分)变得越来越小。
怎么变小?
模型内部有很多可以调整的小旋钮(参数)。微调算法会根据当前这个 LOSS 值,自动计算出应该拧哪些旋钮、往哪个方向拧(增大一点还是减小一点),才能让下次遇到类似数据时,错误评分(LOSS)降低一些。
为什么关心它?
在微调过程中,我们主要盯着 LOSS 的变化趋势。如果 LOSS 稳定地下降,说明模型的调整是有效的,它在学习,错误在减少。如果 LOSS 不降反升或者剧烈波动,就说明学习过程可能出了问题。
常见误区
LOSS 曲线很好看(逐步下降趋于平缓),不代表模型最终的训练效果一定会好,它只能表示整个训练过程是没问题的。
在LLaMA Factory中配置SwanLab后s,可以通过链接访问到云后台的监控图表
打开url:https://swanlab.cn/@SamAAA/web_security_sft/runs/jkb7l3wmijhof1wo64lrl/chart
几种常见的 LOSS 曲线
特征1:Loss持续不降:训练过程中Loss始终保持高位,无下降趋势。
可能原因:学习率(Learning Rate)过小:参数更新幅度不足,模型难以优化,难以学到东西。可以尝试加大学习率。
数据无规律/噪声大:数据中存在大量异常值/缺失值。
曲线示例图表:
特征2:Loss持续下降但不收敛:Loss一直在下降,但收敛速度极慢,训练结束时仍未达到理想水平。
可能原因:训练轮数太小,不收敛的情况下可以一直增大训练轮数(不要超过10),反之提前收敛可以减小训练轮数。
曲线示例图表:
特征3:Loss震荡波动:Loss曲线频繁上下起伏,无稳定下降趋势。
可能的原因:学习率(Learning Rate)过大:参数更新幅度过大,导致优化路径震荡。批量大小(Batch Size)过小:单次更新的梯度噪声大,方向不稳定。
曲线示例图表:
特征4:Loss先降后停/趋于稳定:训练初期Loss下降明显,后期停滞在某一值附近。
可能的原因:学习率衰减至过低:模型进入“学习瓶颈”,无法进一步优化。已收敛到局部最优:当前参数下Loss无法继续降低。过拟合:模型在训练集上表现良好,但泛化能力不足(需结合验证集判断)。
曲线示例图表:
特征5:Loss下降后反弹/上升:Loss下降到一定程度后突然回升。
可能的原因:学习率突变:如突然增大学习率导致参数更新“冲过”最优解。数据异常:训练集中混入噪声或异样样本数据。模型结构问题:如网络层数过多导致过拟合,或层间参数不匹配。
曲线示例图表:
特征6:理想形态:Loss逐步下降并趋于平缓。
可能的原因:各种参数和数据集都挺好(但并不代表模型最终的效果就好)
曲线示例图表:
Train LOSS 与 Eval LOSS
当在微调参数中设定了一定的验证集比例,将会多生成一条 Eval LOSS 曲线,体现模型在验证集上的表现。
上一篇: LLaMA Factory微调模型的各种参数怎么设置-3
下一篇: 没有了
49081
48215
38954
36078
30492
27284
26289
21112
20956
19299
17°
27°
172°
283°
194°
840°
909°
889°
902°
858°