ITPub博客

首页 > 数据库 > 数据库开发技术 > 通往AGI之路:什么是Fine-tuning

通往AGI之路:什么是Fine-tuning

原创 数据库开发技术 作者:雨飞AI笔记 时间:2023-09-07 22:44:44 0 删除 编辑

大家好,我是雪飘雨飞。昨天的专栏中,我们提到了 Embedding 的基本概念,今天我们再学习一个和 Embedding 容易混淆的概念 Fine-tuning。同样,作为初学者的你,完全不需要担心里面有很复杂的内容。


一、Fine-tuning 基本概念


Fine-tuning(微调)是指在机器学习和深度学习中的一种训练方法,用于在一个已经在大规模数据集上预训练好的模型基础上,通过进一步调整模型参数来适应特定任务或数据集。


预训练的模型,我们一般称为基座模型,这种模型的参数量往往比较大,上十亿、甚至百亿、千亿的参数。而且训练语料庞大,几百GB、TB以上的数据。通过预训练好的模型,能获得一个较强的适用性,然后我们普通人再使用的时候只需要更新部分参数就够了,因此这种方式被称为微调。


二、Fine-tuning 使用逻辑


我们可以通过微调的方法去适配更多的下游任务,首先会将预训练模型的参数加载到显存上,并冻结(或保持固定)除最后几个层之外的所有层的参数。然后,我们将这些“解冻”的层参数视为待训练的参数,在特定任务的数据集上继续进行训练。


由于原来的预训练模型已经在一个很大的数据集上进行训练,可以充当一个很优秀的特征提取器,去提取相关的特征。然后通过只调整一小部分输出层的参数,就可以适配不同的任务,这样就能很大程度上减少训练时间,并且只需要少量的数据就能取得不错的结果。


当然,现在随着大语言模型动辄上百亿的参数,即使微调少量的参数代价也会很高,因此研究人员提出了一些更高效的微调算法,这种方法统一被我们称为参数高效微调 (Parameter-Efficient Fine-Tuning, PEFT)。后面,会为大家进一步介绍这些微调算法的内容。


最后值得一提的是,Fine-tuning 也可以用于将深度学习模型从一个领域迁移到另一个领域。例如,通过从一个大规模图像分类数据集(如ImageNet)预训练的模型,在另一个领域的数据集上进行 Fine-tuning,可以使得模型更适应新领域的特定任务。这种迁移学习的方法在实践中非常常见且有效。


三、利用大模型来解释 Fine-tuning


下面的回答来自GPT 4,希望能帮助你更好的理解什么是 Fine-tuning。


可以把预训练模型比喻成游戏中的关卡。在游戏开始前,预训练模型就已经通过前面的所有关卡,积累了丰富的经验和普适的能力。


而当你需要解决一个与预训练模型类似的任务时,就像需要通过一个新的关卡一样,你需要将预训练模型“带入”到新的场景中进行“微调”,以达到在新场景中适应任务的目的。


这个过程就像是在新场景中进行一定的辅助训练,让模型可以更好地适应新任务的要求,就像在新关卡中经过多次试错,渐渐掌握新技能一样。





END

好了,今天的分享就到这里,希望对你有所帮助。

你的每一个【点赞】,都是鼓励我进步的勇气,点个【在看】,加油吧!





原文作者:雨飞AI笔记;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2023-08-27

  • 博文量
    563
  • 访问量
    325035