大模型全量微调和 LoRA 微调:一看就懂_lora微调

2024-08-28 16:04
文章标签 lora 模型 微调 一看 全量

本文主要是介绍大模型全量微调和 LoRA 微调:一看就懂_lora微调,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在模型微调领域,全量微调和LoRA微调是我们经常听到的技术术语。

首先,我们需要了解什么是模型微调。模型微调本质上是因为有时我们发现模型在某个方面的性能不足。因此,我们希望通过一些训练方法来更新模型,使更新后的模型在某些方面具有更强的能力。本质上,这是对模型的一种修改。在这里,我们通过数据和基于训练的方法,将现有的模型改造为新模型。

微调的本质

那么模型的修改本质上是对模型参数的修改。因此,模型背后实际上是一堆参数。也就是说,原来的参数已经变成了新的参数。一个大型模型可能有十个亿的参数,或者一千个亿的参数,所以参数的数量是非常巨大的。这里的参数我们可以理解为许多数字的集合。而这些参数我们通常可以将其排列成几行几列的形式。

比如这是三行三列的参数,所以我们总共有九个数字。但实际的大模型本身可能有千亿的参数。这里为了讲解,我们用一个较小的例子。这些参数对应的是原始的大模型,即微调之前的模型。

微调之后,这个数字会有一些相应的改变。通过微调的方法训练好之后,这个数字就变成了这种形态。训练本质上就是把这个参数从原有的状态改造成另外一个状态。比如第一个参数这里的0.1被改造成0.2,这个过程也可以看作是0.1加上一个偏移量0.1,得到0.2。

全量微调

这个改变可以写成另一种形式,即对于原有参数,我们增加了一个改动的量。这样我们可以得到新的参数,因此可以说我们要学习的本质上是这个改动的量。得到它后,我们实际上可以加上原有的参数,从而得到新的模型。归根结底,我们如何学习这些参数,也就是如何获得这个改动的量。尽管这里只列出了九个参数,但实际上在学习时,大型模型通常包含可能几百亿甚至上千亿的参数。

学习这个参数有不同方式。第一种方法是通过学习方法得出每个参数。这称为全量微调。如果模型原本包含一百亿个参数,全量微调意味着我们需要找到一百亿个这样的数字,因此其复杂度非常高。

LoRA背景-信息有限性

有没有办法我们可以用更少的资源进行调整呢?这种方法也被称为高效的调整方法,英文称为PT。其中最常见的技术叫做LoRA。在介绍LoRA之前,我先向大家普及一下其核心背景。举个例子,如果我们给张三分配一个任务,让他写一篇文章,这篇文章可能包含两千字。

我们知道张三本身是比较啰嗦的人,所以在写文章时,通常会包含很多重复性内容,不够简洁。两千字虽然看起来很多,但实际上传达的内容有限。原本他可能只用一百字或两百字就能表达整个思想,但他却用了两千多字来写这篇文章。接下来,基于这个思想,我们可以怀疑学到的这些数字是否也有一些冗余信息?

虽然我们在这里学习可能有千亿的参数,但他传递的信息却极其有限。如果我们所承载的信息非常有限,那么实际上我们投入大量资源进行训练,可能涉及数百亿个参数,本质上是在浪费资源。从微调的本质角度来看,我们真正希望的是它所承载的信息相对有限。

实际上我们还是回归到微调的本质其实通过微调我们是希望把模型的部分能力把它放大,但是同时想保留我们大模型的其他的能力。这里改动的量也可以认为就是针对于我们想去提升的不同的能力,所以这里有一个很重要的点就是我们不希望把原来的模型改动太多。如果改动太多,就意味着许多模型原来具备的较强能力消失了,这也被称为模型能力的遗忘。因此,我们实际追求的结果是:尽管看似改动了许多变量,但它们的改动带来的价值相对有限。总的来说,在微调过程中,我们希望模型具备以下特性:在这一假设条件下,是否有更高效的方法来学习这些参数。

在详细介绍LoRA之前,我们先来了解一下。经过之前的分析,我们现在假设要学习的参数具有某种特征。接下来,我们简单看一下具有这种特征的数字有哪些规律。比如说,我们有这样一个参数,第一个参数总共包含九个参数。

但我们可以清楚地看到有价值的是其中一行是123。如果我们知道这一行,那么实际上没有必要学习第二行和第三行。对于第二个来说也是如此。这里的246实际上可以通过123得出。例如,每个数字乘以2就可以得到246。

因此,这些信息我们可以称之为冗余信息。对于这个3X3的参数矩阵来说,真正有价值可能是第一行和第三行。很明显,为了学习九个参数,我们没有必要单独学习每个参数。

LORA的优势及其应用前景

这就是LoRA的核心思想。那么,我们面临的问题是什么呢?我们需要学习的参数可能符合这种形式。

我们有没有一种方式可以更加高效的去进行学习。那这时候我们可以引入劳拉的概念。然后首先我们定义一个名词叫做矩阵。我们就简单的认为矩阵就是类似于长成这个样子。比如说包含几行几列在这里,我们把要学习的这个矩阵,把它假设设置为w而且我们知道w它本身是一个包含很多参数的矩阵,但是呢它具备这种性质,就是虽然参数很多,但实际上它所包含的信息量是比较有限的。

在这里我们需要借助于线性代数的一个简单性质。对于符合特定条件的矩阵,我们可以通过两个矩阵的乘积来近似表示它。例如,我们可以考虑一个100*100的矩阵,并利用线性代数的性质将其分解为两个矩阵的乘积。

那么这里它的大小分别会变成什么呢?是100乘以k,这是它的一个性质。所以这里的实际上是可变的一个参数。那么这里的k我可以选择,比如说1、2或者10,这些都可以。

这里的k与我们刚才提到的价值相关。如果我们认为这个矩阵的价值不大,即它所承载的信息不多,那我们可以用更小的k来代替。这里的k越大,意味着矩阵所承载的信息量越大。因为我们已经假设这个参数具有一定的特征,所以我们可以选择更小的k来逼近w。举个例子,如果k=3,那么A就包含了100*3,总共300个参数。而B则包含了三行一百列,总共300个参数。加在一起,总共有600个参数。

但这里的w可以看一下,它是100*100的,所以总共包含一万个参数。很明显,600是一万的6%。这意味着如果我们的目标是学习w,而w包含一万个参数,但我们把它写成A和B的乘积形式,那么学习它实际上等价于学习参数A和B。这里的A和B总共只有六百个参数。这大大减少了我们需要学习的参数数量。

因为它被近似成A乘以B两个新矩阵,它们加在一起只包含六百个参数。总的来说,我们只需学习六百个参数就能实现学习w的目标。如果k=1,那么A包含100个,B也包含100个参数,总共200个参数。这样我们就只需要学习原来2%的参数,大大减少了学习成本。这就是LoRA的核心思想。这里的k被称为秩(rank)。如果我们认为这个矩阵包含的信息量很小,可以选择较小的k;如果认为信息量较大,可以选择较大的k。k越小,所需学习的参数就越少。在LoRA微调中,通常不会选择太大的k,因为在大模型中,参数非常多,所以参数越多,k越小,节省的比例就越大。这样可以大幅减少显存空间和学习成本。

总结

最后我们做一个总结,首先全量微调就是针对于这些每个参数的学习,就是我要通过学习的方法,把这里的每个参数都要一个一个的要把它算出来。那相反,在LoRA的模式下,我们实际上要得出来的是这个矩阵,但是我们学习的方法是用于学习这两个矩阵来替代它。然后这两个矩阵所占用的参数的数量要比它要小很多,所以就会节省非常多的资源。

零基础如何学习大模型 AI

领取方式在文末

为什么要学习大模型?

学习大模型课程的重要性在于它能够极大地促进个人在人工智能领域的专业发展。大模型技术,如自然语言处理和图像识别,正在推动着人工智能的新发展阶段。通过学习大模型课程,可以掌握设计和实现基于大模型的应用系统所需的基本原理和技术,从而提升自己在数据处理、分析和决策制定方面的能力。此外,大模型技术在多个行业中的应用日益增加,掌握这一技术将有助于提高就业竞争力,并为未来的创新创业提供坚实的基础。

大模型典型应用场景

AI+教育:智能教学助手和自动评分系统使个性化教育成为可能。通过AI分析学生的学习数据,提供量身定制的学习方案,提高学习效果。
AI+医疗:智能诊断系统和个性化医疗方案让医疗服务更加精准高效。AI可以分析医学影像,辅助医生进行早期诊断,同时根据患者数据制定个性化治疗方案。
AI+金融:智能投顾和风险管理系统帮助投资者做出更明智的决策,并实时监控金融市场,识别潜在风险。
AI+制造:智能制造和自动化工厂提高了生产效率和质量。通过AI技术,工厂可以实现设备预测性维护,减少停机时间。

AI+零售:智能推荐系统和库存管理优化了用户体验和运营成本。AI可以分析用户行为,提供个性化商品推荐,同时优化库存,减少浪费。

AI+交通:自动驾驶和智能交通管理提升了交通安全和效率。AI技术可以实现车辆自动驾驶,并优化交通信号控制,减少拥堵。


这些案例表明,学习大模型课程不仅能够提升个人技能,还能为企业带来实际效益,推动行业创新发展。

学习资料领取

如果你对大模型感兴趣,可以看看我整合并且整理成了一份AI大模型资料包,需要的小伙伴文末免费领取哦,无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

部分资料展示

一、 AI大模型学习路线图

整个学习分为7个阶段
在这里插入图片描述

二、AI大模型实战案例

涵盖AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,皆可用。
在这里插入图片描述

三、视频和书籍PDF合集

从入门到进阶这里都有,跟着老师学习事半功倍。
在这里插入图片描述

在这里插入图片描述

四、LLM面试题

在这里插入图片描述

如果二维码失效,可以点击下方链接,一样的哦
【CSDN大礼包】最新AI大模型资源包,这里全都有!无偿分享!!!

😝朋友们如果有需要的话,可以V扫描下方二维码联系领取~
在这里插入图片描述

这篇关于大模型全量微调和 LoRA 微调:一看就懂_lora微调的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1115230

相关文章

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

AI Toolkit + H100 GPU,一小时内微调最新热门文生图模型 FLUX

上个月,FLUX 席卷了互联网,这并非没有原因。他们声称优于 DALLE 3、Ideogram 和 Stable Diffusion 3 等模型,而这一点已被证明是有依据的。随着越来越多的流行图像生成工具(如 Stable Diffusion Web UI Forge 和 ComyUI)开始支持这些模型,FLUX 在 Stable Diffusion 领域的扩展将会持续下去。 自 FLU

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者