AI 文摘

大语言模型科普系列——微调





作者: 就是野马 来源: 就是野马

回归大模型的科普文,之前讲到了模型训练的第一步——预训练阶段,这一步用无监督学习的方式,让模型在大规模语料的学习中掌握世界通用知识,若需要回看,点击这里《大语言模型科普系列——预训练》

今天我们一起了解下预训练之后的第二步——微调阶段。微调是用有监督学习的方式,让模型学习小规模人工标注的语料,提升模型在特定领域的任务表现,让模型变得更“专业”。特定领域的任务有意图识别、文章摘要、论文撰写、text2sql等。

**微调具体分为两种方法

  • PEFT参数高效调整

  • FFT全参数调整

**一、PEFT参数高效调整

旨在通过调整模型结构(模型结构可回看大语言模型科普系列——模型基本概念)中的小部分参数,提高预训练模型在特定任务上的表现,这类方法能直接降低模型微调的成本,现在市面上普遍使用PEFT方法对模型微调。PEFT的方法很多,这篇文章主要介绍3个比较主流的方法

**LoRA

  • 以transformer为例,微调时,在模型的前馈层引入2个低秩矩阵,将矩阵和前馈层中原始权重进行相加,以这种方式微调模型的部分权重,进而改变模型的输出结果。

  • 新权重=原始权重+引入的低秩矩阵

Adapter Tuning

通过在模型结构的不同层之间,加入一个小型神经网络层(“适配器”),这个神经网络层只有少量参数。微调时,只修改这个小型神经网络的参数,不改变预训练模型的原始参数,通过这个额外的适配器来调整模型最终的输出结果。

**Prefix Tuning

在模型结构的输入层加入特定任务的提示,这个提示可以是人为预设的,也可以是微调完成的,目的就是在任务开始时模型能根据提示来调整行为,输出结果。

二、FFT全参数调整

该方法就是微调预训练模型的所有参数,这样模型能在特定领域的任务上表现更好,但这个方法存在较多问题,所以不是目前的主流方法,仅供大家了解。

优点

  • 训练方法简单

  • 因为针对某一个训练任务进行所有参数更新,能更好的应对任务场景下的多种复杂需求

缺点

  • 可能会过拟合

  • 需要的训练资源(内存)、训练时间更多

  • 因为是对所有参数进行优化,可能导致模型遗忘预训练过程中学到的知识

更多AI工具,参考Github-AiBard123国内AiBard123

可关注我们的公众号:每天AI新工具