2026年7月2日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

什么是大模型微调及各种微调技术介绍

发布日期:2024-08-27 07:38:06 浏览次数: 4053
作者:车三七的AGI世界

微信搜一搜,关注“车三七的AGI世界”

这两天看大模型微调的材料,发现这个概念是个筐,里面装的东西很多很多。

比如之前认识到的指令遵循数据集,其实它是一种指令微调,是众多微调方式中的一种。也就是说通过指令微调,GPT可以Chat了。所以,微调是微调的GPT,ChatGPT是微调GPT的结果,而不能理解为在ChatGPT基础上进行微调(虽然这种理解在某种层面或某些实际应用上也是对的)。

大模型通过预训练掌握语言结构,学会了说人话,表现形式是文字接龙。

这种接龙是一种“没有感情”、“没有智慧”的机械行为。“微调”是让这种行为,能够符合人类的需求和业务(比如对话需求),让这种机械的接龙游戏变得有“商业”价值。

当然,为了实现价值,也可以不采用微调的方式,而是直接训练可执行相应任务的大模型。但大模型所需的参数量和数据量实在是太巨大了,训练这样一个大模型,只让它执行某项任务(比如对话、翻译、文字摘要等),太浪费。

所以训练一个大模型,再此基础上进行微调,使之可以适应不同的任务,就很有性价比了。

怎么进行微调,看各自本事。微调方式,百花齐放。只要能让大模型机械的接龙行为,按照人类需求去输出下一个字即可。

微调可分为:

  • 全参数微调/全量微调(FFT:Full Fine-Tuning)

  • 参数微调/参数高效微调(PEFT:Parameter-Efficient Fine-Tuning)


全量微调,顾名思义是对大模型预训练阶段的全部参数进行训练,模型的所有层和参数都会被更新和优化,以适应目标任务的需求。

这种方式的优点是直观、简单,能够充分利用任务数据来优化模型。但它的缺点是训练时间长、计算资源消耗大,并且有可能在微调后出现“知识遗忘”问题。就好像老师给学生批改作文,越改越多,把作文内容全改了一遍,虽然结果可能是好的,但老师既花了时间又花了精力,把学生自己偶写的佳句也给改没了,完全没有了学生自己的特色。

参数高效微调,是指在微调过程中保持模型的底层参数不变(参数冻结),只更新模型的顶层或少数几层,以此来适应特定任务。

参数高效微调的方式有很多种,比如网上传播常用的有七种。其发布时间线如下:

模型开源社区Hugging Face,开源的PEFT库目前支持其中5种方法,分别是:

  • LoRA:

  • AdaLoRA

  • Prefix Tuning

  • Prompt Tuning

  • P-Tuning


LoRA
英文全称 Low-Rank Adaptation of Large Language Models,直译为大语言模型的低阶适应。它的做法是冻结预训练好的模型权重参数,然后在每个Transformer块里注入可训练的层,由于不需要对模型的权重参数重新计算梯度,所以,大大减少了需要训练的计算量。

AdaLoRA
AdaLoRA是一种自适应的LoRA方法。基础LoRA没有考虑参数权重,微调时有可能给某些不重要的权重矩阵添加过多参数,导致模型性能下降。AdaLoRA可以根据模块的重要性自适应地分配参数预算,以提高参数高效微调的性能。基础LoRA还有许多变种,比如LoRA+、VeRA、LoRA-fa、LoRA-drop、DoRA、Delta-LoRA等,这些变种都是对基础LoRA的改进。

-

LoRA是对模型的实际参数进行了微调,而Prefix Tuning、Prompt Tuning、P-Tuning这三种方式可理解为是对Prompt的微调。

以下内容也更新下对Prompt的认识(暂时没理解,先记录):

Prompt 的制作分为手工创建Prompt和自动化生成Prompt,自动化生成Prompt又分为Hard Prompt和Soft Prompt。

(1)Hard Prompt 又称为 Discrete Prompt,它是一个实际的文本字符串。

(2)Soft Prompt 又称为 Continuous Prompt,它是直接在底层语言模型的嵌入空间中进行描述。


Prefix Tuning(前缀微调)
Prefix Tuning 是在输入token之前构造一段任务相关的虚拟token(virtual token)作为前缀,这些前缀是可训练(Embedding)的向量。作为模型内部表示的一部分,可以分布在模型的每一层,它与输入序列一起输入到预训练模型中,训练时通过调整前缀向量来适应特定的任务,无需改变模型本身的参数。

Prompt Tuning(提示微调)
这种方式可以看作是Prefix Tuning的简化版本,它给每个任务定义了自己的Prompt,然后拼接到数据上作为输入。它通常只涉及输入层,而没有使用额外的编码层或任务特定的输出层,可以理解为只是模仿自然语言Prompt的形式。

P-Tuning
P-Tuning v1版本
同Prefix Tuning类似,P-Tuning也设计了一种连续可微调的虚拟token(virtual token)。区别是P-Tuning的虚拟token仅限于输入层,而不是每一层,但它的插入位置是可选的,不一定是前缀。

P-Tuning v2版本
P-tuning v2重要的改进之一是将虚拟token应用于预训练模型的每个层,而不仅仅是输入层。相比较来说Prefix Tuning和P-Tuning v2技术本质等同,只是前者更适用于NLG(自然语言生成),后者适用于NLU(自然语言理解)。



Adapter Tuning

除了从参数调整角度理解微调的概念,优化模型的输出,还有另外一种技术,即Adapter Tuning。

这种方式是在模型的每个层或选定层之间插入小型神经网络模块,即“Adapter(适配器)”。这些Adapter是可训练的。Adapter Tuning 的理念是通过这些添加额外的Adapter提高模型的微调效果和效率。

Adapter Tuning 既可以解决全量微调的低效,又解决了部分微调难以达到较好效果的问题。但它的问题是会导致模型整体的层数变深,耗费额外的运算量在这些Adapter上,从而拖慢了训练速度和推理速度。

Adapter Tuning 可以和Prefix Tuning等方式结合,因为Adapter本身就是一种神经网络,参数高效微调的方式自然也可以用于调整Adapter中的参数。

很多方式都可以理解为是一种Adapter,它应用于模型的不同位置,大致可分为5类:

  • Houlsby

  • BitFit

  • AdapterBias

  • Prefix Tuning

  • Lora

Houlsby
Houlsby N等人提出的Adapter方法,常规意义上理解的,在预训练模型每一层(或某些层)中添加Adapter模块,微调时冻结预训练模型主体,通过训练Adapter模块的参数来适应特定下游任务。

BitFit
BitFit是一种基于权重剪枝的微调方法。在训练过程中,BitFit通过对模型参数进行量化,减少模型大小和计算复杂度,从而提高训练速度和模型性能。具体来说,BitFit通过对权重矩阵进行二进制编码,将浮点数权重替换为二进制权重。这种二进制权重能够大大减少模型存储需求和计算量,同时保持模型性能。

AdapterBias
AdapterBias提供了一种参数效率更高的微调方法,AdapterBias通过在模型的每层输出中加入一个小的基于token的调整量(一个向量和一个线性层),以减少训练参数,使模型更好地适应特定的任务。



大模型微调的主要步骤:

1. 数据准备:搜集并整理与目标任务相匹配的训练数据,确保数据质量,进行清洗和预处理。

2. 模型选择:根据任务特性和数据特征,挑选合适的预训练模型。

3. 方案制定:基于任务目标和资源状况,决定微调的深度和广度,选择是进行全面还是局部的参数更新。

4. 超参数配置:设定训练过程中的关键超参数,包括学习率、批量大小和训练周期等。

5. 参数初始化:全量微调时保持预训练模型的参数不变,部分微调时,对新增参数进行随机初始化。

6. 执行微调:运用确定的数据和策略进行模型训练,通过优化算法调整参数,以优化损失函数。

7. 性能评估:定期在验证集上评估模型,并根据反馈调整训练策略,以提升模型的准确性和鲁棒性。

8. 最终测试:微调结束后,在测试集上评估模型,确保其满足实际应用的性能要求。

9. 部署应用:将训练完成的模型集成到应用中,并根据实际运行情况进行必要的调整。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅