深入理解预训练与微调,为什么需要预训练,什么是微调? 原创

发布于 2024-11-18 12:53
浏览
0收藏

“ 大模型需要先经过模型设计和实现,然后再进行预训练获得通用能力,最后通过微调强化能力”

在上一篇文章中介绍了预训练为什么要使用无监督学习,并简单介绍了预训练与微调;而在之前的文章中也讲过什么是训练和微调,而现在再回头看看发现之前的理解还是太肤浅了。

所以,今天我们就来深入理解一下预训练与微调。

大模型预训练与微调

在之前学习大模型训练和微调的过程中,一直认为预训练就是使用大规模数据训练一个新模型的过程;而微调就是在预训练模型的基础之上,做更加细化的训练。

虽然上面这种理解不能说有错,但只能说只看到了大模型训练和微调的表象,而没有透过现象看到模型训练的本质。

先思考一个问题,模型训练和微调的区别是什么?

其实从技术的角度来说,模型训练和微调没有任何区别,都是通过训练数据,对神经网络模型的参数进行调整;虽然从技术上两者没什么区别,但从功能和数据上两者还是有很大区别的。

深入理解预训练与微调,为什么需要预训练,什么是微调?-AI.x社区

什么是预训练模型,为什么需要预训练模型?

从本质上来说,大模型就是一种使用一种机器学习的架构去模仿人类大脑神经元的过程;而大模型的学习本质上是基于神经网络模型,通过概率实现的归纳总结。

也就是说,虽然大模型无法实现和理解人类的思考方式,但大模型可以通过一种架构去学习不同语义下某个参数出现的概率,其本质上是一个概率模型。

而预训练的作用,就是让大模型在什么都不知道的情况下,通过对大量输入数据进行归纳总结,建立自己的概率模型;这样根据正态分布原则,大量的参数就会呈现正态分布的模式,也就是说通过这种方式大模型能够学习到大量通用的数据模式,这就是无监督学习。

这就类似于,我们在工作的过程中虽然大部分都是使用我们的专业技能;但同时我们也可以学到很多职场的通用技能;虽然短时间来看,你的收入主要靠你的专业技能,但从长远来看你的专业技能不一定有用;但你的职场技能却能够通用。

深入理解预训练与微调,为什么需要预训练,什么是微调?-AI.x社区

那预训练是否只能使用无监督学习的方式? 

其实预训练和学习方式没有任何关系,不论是监督学习还是无监督学习,预训练都可以使用。

而决定一个模型到底使用监督学习还是无监督学习的方式进行预训练,这是由此模型的定位和目标所决定的。

比如说,你设计一款模型,然后你想让它具备更加通用的能力;这样在必要的时候就可以对模型进行微调,这样就不用每次都重新训练一个模型;这时,你这个模型就只能使用无监督学习的方式,因为只有无监督学习才能让大模型具备更加通用的能力。

而采用监督学习进行模型预训练,那么训练出来的模型就只擅长特定类型的任务处理;如果想让它处理其它类型的任务,那么通过微调是无法实现的,只能进行重新训练。当然,前提是当前模型的架构适用于其它类型的任务。

而微调是什么? 

微调的本质就是对大模型进行某个方面的强化,比如说一个自然语言处理大模型,你使用大量的安徒生童话进行微调,这时此模型就会更加擅长讲童话,而不是讲笑话。

所以,微调的作用就是让大模型在当前类型任务下,进行更加细致的学习,也就是让大模型更加“过拟合”。但前提是当前大模型支持这样的任务,如果大模型本身不支持这样类型的任务,那么再微调也无济于事。

预训练有哪些好处?

预训练的好处在于,通过利用大规模数据进行训练,模型可以学习到更泛化的特征表示,从而在具体任务上表现更好。这对于数据较少的任务或者计算资源有限的情况下特别有用。

预训练能够让大模型在底层特征具备通用性,而在高层特征具备相关性。

预训练有什么作用?

  • 加速训练过程:通过预训练,在大规模数据上学习到的通用特征表示可以作为初始化参数,加速模型在特定任务上的训练过程。这是因为预训练的参数已经接近最优,并且已经捕捉到了输入数据中的一些通用模式,这样在目标任务上的优化过程更容易收敛。
  • 提高性能:预训练的模型通常在具体任务上表现更好。这是因为在预训练阶段,模型学习到了大量的数据中的通用特征,这些特征对于许多任务都是有用的。在目标任务中,预训练的模型能够更好地利用这些通用特征,从而提高性能。
  • 解决数据不足问题:在许多实际任务中,数据往往是有限的,特别是深度学习模型需要大量的数据进行训练。通过预训练,可以利用大规模数据集进行通用特征的学习,然后将这些学到的特征应用于目标任务,从而克服数据不足的问题。
  • 迁移学习:预训练的模型可以作为迁移学习的基础。将预训练模型的参数应用于新的相关任务,可以利用预训练模型在大规模数据上学习到的通用特征,从而在新任务上提高性能。这对于目标任务数据较少的情况下特别有用。
  • 提高泛化能力:预训练有助于提高模型的泛化能力,即在未见过的数据上表现良好。通过在大规模数据上学习通用特征,模型更能够从输入数据中捕捉普遍的模式,而不是过度拟合训练集。

深入理解预训练与微调,为什么需要预训练,什么是微调?-AI.x社区

总之,预训练和微调是大模型实践过程中很重要的两个步骤;预训练是微调的前提,微调虽然能够在某个方面进行强化,但它无法打破预训练模型的限制。

大模型能处理什么类型的任务是由其模型架构和实现来决定的,预训练是让模型具备处理某个任务的能力,而微调是让其在某个任务上更加擅长;但不论是预训练还是微调都无法让大模型做它根本做不到的事。

本文转载自公众号AI探索时代 作者:DFires

原文链接:​​https://mp.weixin.qq.com/s/k0Txw1Pv2uEtb3KWwGdybw​

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
收藏
回复
举报
回复
相关推荐