type
status
date
slug
summary
tags
category
icon
password
先说结论,在数据集不大的情况下,缓解大模型fine-tune时候的过拟合,是有可能的。但是正如楼上各位大佬给出的答案所说,首先是要考虑要不要fine-tune,如果由于各种原因,不得不使用大模型来fine-tune技术的话,可以考虑看一下答主下面的分享。

一、 什么是过拟合以及为什么过拟合

如果说曾经的物理学大厦有两朵乌云,并且后来引出了相对论和量子力学。那么机器学习,尤其是神经网络,也有许多乌云等着大师们去拨开。过拟合也可以称为一片小乌云,在做人工智能算法设计的时候,恐怕会经常遇到这个问题。那什么是过拟合呢?

1.1 什么是过拟合

模型的训练误差远小于它在测试数据集上的误差,就称为过拟合。——李沐《Dive Into Deep Learning》
notion image
训练人工智能模型的时候,我们期待的结果是,训练误差和测试误差的绝对值都很小。而过拟合的出现,意味着模型的泛化性能受到了负面影响,再继续训练百害而无一利,应该早停(early stop)。这就让训练模型变得复杂起来,本来我们希望可以让模型一直训练,直到满足期待的误差,但是过拟合导致我们可能不能简单地加 epoch 来让模型减小误差。

1.2 为什么过拟合

导致过拟合的原因有很多,主要的有以下几个:
  1. 训练数据大小过小,并且未包含足够的数据样本,无法准确代表所有可能的输入;
  1. 训练数据包含大量不相关的信息,称为噪声数据,使得模型没有正确处理噪声特征;
  1. 模型在单个数据样本集上训练的时间过长,拟合了训练数据中的噪声和训练样例中没有代表性的特征;
  1. 模型复杂程度较高,因此其可以学习训练数据中的噪声。 考虑一个使用案例,在该案例中,机器学习模型的任务是分析照片并识别其中包含狗的照片。如果机器学习模型在数据集上进行训练,该数据集主要包含显示室外公园内狗的照片,则该模型可能学习使用草作为分类特征,并且可能无法识别室内的狗。 ——亚马逊云计算概念中心 另外答主认为还有一个就是训练集和测试集的分布不一致,也就是有可能没有混合数据集然后打乱来训练。当然,现在有了很多大模型搞zero-shot和few-shot,这个分布不一致的问题可能已经得到了一定的解决。

二、 大模型fine-tune中的过拟合

现在LLM大模型引流整个潮流,fine-tune范式也是一个新的范式。而且不仅是NLP领域,CV领域也逐渐出现了这样的潮流。可以说搞大模型fine-tune已经是先如今搞人工智能算法的必备的知识和技能了。那何为fine-tune? 从参数规模的角度,大模型的微调分成两条路线:
  1. 对全量的参数进行训练,称为叫全量微调FFT(Full Fine Tuning);
  1. 只对部分的参数进行训练,称为叫PEFT(Parameter-Efficient Fine Tuning)。
notion image
FFT的原理,就是用特定的数据,对大模型进行训练,在数据量和模型参数量匹配的情况下,模型在上述特定数据领域的表现会好很多。但是当数据量不足时,自然就有可能出现学习到了数据中的其他无关的特征。 而PEFT则可能是一种比较合适的解法。就是只训练模型的一部分,而其他大量的参数进入冻结状态。 如果对于不熟悉大模型和fine-tune的朋友,可以先学习一下这方面的内容,对于往后的技术路线大有裨益。可以关注一下由**「知乎知学堂旗下AGI课堂推出的【程序员的AI大模型进阶之旅】**公开课,体验课就会介绍fine-tune和提示工程等内容。
课程邀请了2名圈内AI技术大牛讲课,趁着现在还免费,建议IT人都去看看。

三、 数据增强缓解过拟合

重新审视一个神经网络算法设计,首先就是从数据准备开始下手。在特征工程阶段,数据增强经常作为对抗过拟合的利器之一。在图像领域,一般有翻转,变化对比度等等,以期能够模仿真实情况下的不同图像。在NLP领域,通常会有变化同义词等操作。

四、 冻结预训练参数,训练小规模网络参数缓解过拟合

冻结与预训练参数,训练其中部分小规模网络参数就是上述提到的 PEFT。另外有一种直接加一些叫做Adapter的浅层到预训练模型之中,利用预训练模型每层的输出做微调,叫做Adapter fine-tune。
notion image
Adapter的位置也可以灵活变化,并且可能的情况下,还会变成一个小小的浅层网络。这种技术貌似已经有比较多的论文产出,网上也有不少进一步介绍的资料可供阅读,感兴趣的朋友可以自行查找学习。

五、 蒸馏学习缓解过拟合

另外还有一个神器,就是蒸馏学习。如果没记错的话,这应该是三大宗师之一的 Hinton 提出的。其可以用一个性能较好的教师模型来指导尚未训练好的学生模型进行学习。
notion image
一般蒸馏学习的情况下,都会用大模型当教师模型,小模型当学生模型。但是也可以利用在专业领域内较好的模型做教师模型,大模型做学生模型来进行蒸馏,让大模型模仿领域内模型的输出的概率分布,来缓解过拟合。 因为传统的分类情况下,模型一般只能学习到hard target,也就是一个样本是什么类别就是什么类别。而教师模型就可以提供 soft target,也就是每个类别的概率分布。这样的soft target可以让模型避免过于自信,并且可以学习到一些“暗知识”,能够学习到一些其他类别的知识。下面就是hard-target和soft-target的区别。
notion image

六、 结语

当然,除了上面所说的几种方法外,还有剪枝等方法可以帮助模型缓解过拟合,在这里就不赘述太多。总体来说就是面对小规模数据的情况时,直接用大模型全量微调是很有可能遇到过拟合的问题的,但是仍有一些相应的解决办法,能够缓解过拟合的发生,包括从数据和模型算法两个大方向下手。 其次,大模型微调的话,还要考虑计算资源和时间成本等问题,因此,在做fine-tune之前最好还是考虑一下应用场景之类的,如果一定要用的话,就可以尝试一下上面所说的几个思路尝试一下,也不一定是必定有用的。
分子轨道教程蒙日圆推导
Loading...