首页 > 其他分享 >你知道什么是微调吗?大模型为什么要微调?以及大模型微调的原理是什么?

你知道什么是微调吗?大模型为什么要微调?以及大模型微调的原理是什么?

时间:2024-06-21 18:32:18浏览次数:13  
标签:训练 AI 模型 微调 学习 参数 什么

预训练(pre+train)+微调(fine+tuning),是目前主流的范式**”**

在学习大模型的过程中,怎么设计神经网络和怎么训练模型是一个重要又基础的操作。

但与之对应的微调也是一个非常重要的手段,这里就着重讲一下为什么要微调,其优点是什么以及微调的本质。

图片

01、什么是微调?

学习一门技术不但要知其然,也要知其所以然。

想了解为什么要微调,首先要知道什么是微调?

我们常说的大模型,指的是具有大量参数的神经网络模型。然后经过大量的训练数据训练出来的模型叫做大模型,也叫做预训练模型。

微调指的是微调大模型,是在预训练模型(已经训练好的大模型)基础之上,使用少量数据对大模型的全部或部分参数进行调整,以达到在某个领域更好的效果。

举例来说,刚设计好的一个神经网络,就类似于一个从来没上过学的学生,他什么玩意都不懂,只会根据自己的本能去处理问题;

而训练大模型就相当于让这个学生完成了九年制义务教育或者上了大学,也就是说它接受过系统的教育,天文地理,物理化学等等均有涉猎,这样的模型就叫做预训练模型。

而微调就是在这个基础上完成某个方向的强化,比如想让这个学生去参加奥数比赛,就要让他对数学进行强化学习。

这个就是微调。

微调来源于迁移学习,所谓的迁移学习就是在已经训练好的模型基础上进行适当的优化或者说强化,这样可以更加合理的利用各种资源。

02、为什么要微调?

前面说了什么是微调,这里讲一下为什么要微调?

之所以需要进行微调,主要有以下两方面原因:

  • 训练成本问题
  • 训练数据问题

之所以要进行微调,其实最主要的原因就是成本问题。openAI公司训练GPT模型,一次的成本大概在几百万到上千万美元;换算成人民币就是上千万到上亿的成本。

虽然很多公司使用的大模型不需要有GPT模型那么强大,也不需要上亿的训练成本,但从零开始训练一个大模型,少说也要几百万人民币,这对个人和绝大部分公司来说都是不可接受的。

还一个原因就是,训练数据的收集同样需要巨大的成本,而抛开成本来说,很多公司根本无法收集到足够的训练数据,而没有足够的训练数据,那么就很难训练出一个很好的模型。

这时,微调的作用就体现出来了。微调只需要在别人已经训练好的模型之上,使用少量的数据对模型部分或全部参数进行调整即可。

之所以说对预训练模型的全部或部分参数进行调整是因为,微调分为全量(参数)微调(Full Fine Tuning)和部分(参数)微调——高效微调PEFT(Parameter-Efficient Fine Tuning),只不过很少有人会进行全量微调。

全量微调就相当于,你本来只是在一个普通的本科院校学习;然后突然有一天有个机会让你到一所985/211的学校去学习,学习的内容还是一样,不过人家教的会更好。

部分参数微调就是相当于,你进了你们学校的实验班或突击班,去强化学习部分课程。

所以什么情况下适合微调?

  • 无法接受训练的成本问题
  • 训练数据不足
  • 想使用别人已经训练好的开源模型(huggingface上有大量开源模型)
  • 数据安全问题,不能接受把数据上传到第三方大模型公司

这几种情况比较适合微调,如果不缺钱,又不缺数据,技术又过关;那么自己设计模型,自己训练是最好的方式。

当然,微调也不是万能的,只有在相似的条件下才可以进行微调;比如,一个识别猫狗的预训练模型,你要用人脸数据进行人脸识别微调,这就行不通了。毕竟,猫狗的数据特征和人脸还是有很大差别的。

02、怎么微调,微调的具体步骤?

前面说了,微调的目的是调整模型的参数,所以本质上和步骤上微调和训练没太大区别,都需要经过数据收集处理,数据加载,正向传播,反向传播优化的过程,然后给模型参数找到一个最优解。

只不过微调大部分情况下都是调整部分参数,而这种微调方式叫做——高效微调。也就是说用少量的数据,优化部分参数,以达到更好的效果。

既然是对模型参数的调整,那么具体是怎么操作的呢?

在神经网络的训练过程中,有数据处理,正向传播,反向传播和优化器,

而微调就发生在优化器上,训练的过程是优化器根据损失差通过反向传播的方式调整参数;而微调也是通过优化器去调整模型的参数。

基于pytorch框架的神经网络,其微调部分参数的原理就是通过冻结参数,把不需要调整的参数冻结,这样大模型在微调的过程中就只会优化可以被调整的参数。

而全量微调就是不冻结参数,所有参数都会被调整。

代码如下所示:

在这里插入图片描述

这样,通过微调模型,就可以让预训练模型达到自己想要的效果。

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

标签:训练,AI,模型,微调,学习,参数,什么
From: https://blog.csdn.net/python1222_/article/details/139867661

相关文章

  • 大模型技术及趋势总结
    本篇文章旨在希望大家对大模型的本质、技术和发展趋势有简单的了解。由于近期大模型技术发展很快,这里对大模型的技术、本质及未来趋势进行总结和探讨时,因为水平有限,疏漏在所难免。请大家谅解。引言大模型将成为通用人工智能的重要途径。在这个由0和1编织的数字时代,人工智能的腾......
  • [Effective Modern C++] 条款19笔记 - 为什么deleter的类型是std::unique_ptr类型的一
    为什么deleter的类型是std::unique_ptr类型的一部分,而不是std::shared_ptr的一部分?std::unique_ptr<Widget,decltype(loggingDel)>upw(newWidget,loggingDel);std::shared_ptr<Widget>upw(newWidget,loggingDel);这个问题涉及到std::unique_ptr和std::shared_ptr......
  • SWAT模型【建模方法、实例应用、高级进阶技能】
                 第一部分:SWAT模型实践部分一SWAT模型及应用介绍1.1面源污染概要            1.2SWAT模型及应用1.3SWAT模型原理       1.4SWAT模型输入文件1.5 ArcGIS与SWAT关系二SWAT模型中GIS必备技术......
  • 算力AI大模型在智能电网行业中的应用及案例分享
    大模型在智能电网行业中的应用广泛且重要,以下是几个主要方面的应用:智能电网安全监测:AI大模型通过监控电网运行状态,实现对电网安全的实时预警与监测。一旦出现异常情况,AI大模型可以及时作出响应,并提供解决方案,确保电网运行的安全稳定。智能电网数据处理:智能电网产生海......
  • 一文读懂Java多线程并发之内存模型
     什么是内存模型?Java内存模型(JavaMemoryModel)描述了Java编程语言中的线程如何与内存进行交互,是和多线程相关的一组规范,需要各个JVM的实现来遵守JMM规范,以便于开发者可以利用这些规范,更方便地开发多线程程序。有了这些规范,即便同一个程序在不同操作系统的虚拟机上运行......
  • 什么样的企业适合运用裂变拉新工具?深入解析
    在当今数字化快速发展的时代,裂变拉新工具已成为许多企业吸引新用户、扩大市场影响力的重要手段。然而,并非所有企业都适合运用这种工具。林叔将探讨哪些类型的企业更适合运用裂变拉新工具,并分析其背后的原因。首先,拥有高度用户粘性和社交属性的企业。这类企业的产品或服务往......
  • 做完这些大模型项目,面试官直呼太牛了
    前言大语言模型正迅速成为互联网时代最热门的技术创新之一,虽然现在该技术尚处于起步阶段,但已经开始在一些企业应用中广泛部署。接下来,我们来看看大语言模型的10大应用场景。一、文本翻译二、恶意软件分析三、创造文本内容四、搜索五、代码开发六、检测和预防网络攻......
  • 中国气象局发布三个AI气象大模型系统,具体能做什么?
    6月18日,中国气象局官方局最新发布了三个AI气象大模型系统,分别是人工智能全球中短期预报系统“风清”(以下简称“风清”大模型)、人工智能临近预报系统“风雷”(以下简称“风雷”大模型)和人工智能全球次季节—季节预测系统“风顺”(以下简称“风顺”大模型)。中国气象局......
  • 基于大语言模型LangChain框架:知识库问答系统实践
    ChatGPT所取得的巨大成功,使得越来越多的开发者希望利用OpenAI提供的API或私有化模型开发基于大语言模型的应用程序。然而,即使大语言模型的调用相对简单,仍需要完成大量的定制开发工作,包括API集成、交互逻辑、数据存储等。为了解决这个问题,从2022年开始,多家机构和......
  • 大语言模型 MOE 简明实现指南
    这篇文章中,我简要实现一下大语言模型的MOE模块。MOE模块位于每个GPT层中,位于注意力模块的后面,每个MOE模块包含若干个MLP模块作为专家。这些专家是稀疏的,也就是每次选择部分来调用,并不会调用全部,从而节省宝贵的算力。首先定义一些常量,通常应该在模型配置文件里面。bs=5#批......