【 2024!深入了解 大语言模型(LLM)微调方法(总结)】

引言

众所周知,大语言模型(LLM)正在飞速发展,各行业都有了自己的大模型。其中,大模型微调技术在此过程中起到了非常关键的作用,它提升了模型的生成效率和适应性,使其能够在多样化的应用场景中发挥更大的价值。

那么,今天这篇文章就带大家深入了解大模型微调。其中主要包括什么是大模型微调、什么时候需要大模型微调、大模型微调方法总结、大模型微调最佳实践等。相关论文集获取,回复:LLM微调

LLM项目生命周期

在介绍大模型微调方法之前,首先带大家了解一下大语言模型的项目生命周期,它大致可以分为以下几个步骤,如下图所示

「1、项目目标」:首先,明确项目目标。决定LLM是作为一个通用工具还是专注于特定任务(如命名实体识别)。明确的目标有助于节省时间和资源。

「2、模型选择」:在从头开始训练模型和修改现有模型之间做出选择。在许多情况下,适应性调整现有模型是高效的,但在某些情况下,可能需要通过新模型进行微调。

「3、模型性能与调优」:准备模型后,评估其性能。如果性能不佳,尝试进行提示工程(prompt engineering)或进一步微调。确保模型输出与人类偏好保持一致。

「4、评估与迭代」:定期使用指标和基准进行评估。在提示工程、微调和评估之间进行迭代,直到达到期望的结果。

「5、模型部署」:当模型表现符合预期时,进行部署。在这个阶段,优化计算效率和用户体验。
在这里插入图片描述

LLM微调

LLM微调是一个将预训练模型在较小、特定数据集上进一步训练的过程,目的是精炼模型的能力,提高其在特定任务或领域上的性能。「微调的目的是将通用模型转变为专用模型,弥合通用预训练模型与特定应用需求之间的差距,确保语言模型更贴近人类的期望」

以OpenAI的GPT-3为例,这是一个为广泛的自然语言处理(NLP)任务设计的先进LLM。假设一家医疗组织希望使用GPT-3来帮助医生从文本笔记生成患者报告。虽然GPT-3能理解和创建一般文本,但它可能没有针对复杂的医学术语和特定医疗术语进行优化。

为了提高GPT-3在这一专业角色中的性能,该组织会在包含医疗报告和患者笔记的数据集上对GPT-3进行微调。它可能会使用像SuperAnnotate的LLM定制编辑器这样的工具来构建具有所需界面的模型。通过这个过程,模型变得更加熟悉医学术语、临床语言的微妙之处和典型的报告结构。微调后,GPT-3能够协助医生生成准确且连贯的患者报告,展示了它对特定任务的适应性。

尽管微调听起来对每个LLM都很有价值,但请记住,这并非没有代价。接下来,将会详细讨论这些成本。

什么时候需要LLM微调

说起LLM,总会涉及到上下文学习、零样本、单样本和少样本推理等话题。我们先快速了解一下它们主要的功能。

**上下文学习(In-context learning) **是一种通过在提示中加入特定任务示例来改进提示的方法,为LLM提供了完成任务的蓝图。

「零样本(Zero-shot)、单样本(One-shot)和少样本(Few-shot)推理」 零样本推理是在提示中直接使用输入数据,不添加额外示例。如果零样本推理未能达到预期结果,可以使用单样本或少样本推理。这些策略涉及在提示中添加一个或多个已完成的示例,帮助较小的LLM表现得更好。

「上下文学习的问题」 将以上这些技术直接应用于用户提示,旨在优化模型输出,使其更符合用户偏好。问题是它们并不总是有效,尤其是对于较小的LLM。除此之外,在提示中包含的任何示例都会占用宝贵的上下文窗口空间,减少了包含其他有用信息的空间。

「当以上方式无法解决相关问题时,这就需要LLM微调」。但它与预训练阶段使用大量非结构化文本数据不同,微调是一个监督学习过程。这意味着你使用标记好的示例数据集来更新LLM的权重。这些标记好的示例通常是prompt-response,使得模型能更好地完成特定任务。

有监督微调(SFT)

有监督微调意味着使用标记数据更新预先训练的语言模型来完成特定任务。所使用的数据已提前检查过。这与不检查数据的无监督方法不同。「通常语言模型的初始训练是无监督的,但微调是有监督的」。接下来将为您介绍大模型微调具体流程,如下图所示:

「1、数据准备」 有许多开源数据集可以提供关于用户行为和偏好的洞察,即使它们没有直接格式化为指令性数据。例如,我们可以利用亚马逊产品评论的大量数据集,将其转化为微调的指令提示数据集。提示模板库包含了许多针对不同任务和不同数据集的模板。

「2、执行微调」 将数据集分为训练、验证和测试部分。在微调过程中,你会从训练数据集中选择提示,并将它们传递给LLM,然后模型会生成完成的文本。

具体来说,当模型接触到针对目标任务的新标记数据集时,它会计算其预测与实际标签之间的误差或差异。然后,模型使用这个误差来调整其权重,通常通过梯度下降等优化算法。权重调整的幅度和方向取决于梯度,梯度指示了每个权重对误差的贡献程度。对误差贡献更大的权重会被更多地调整,而贡献较小的权重则调整较少。

「3、迭代调整」 在数据集的多次迭代(或称为周期)中,模型继续调整其权重,逐渐找到一种配置,以最小化特定任务的误差。目标是将之前学到的一般知识适应到新数据集中的细微差别和特定模式,从而使模型在目标任务上更加专业化和有效。

「4、模型更新」 在这个过程中,模型会根据标记数据进行更新。它根据其猜测与实际答案之间的差异进行改变。这有助于模型学习标记数据中的细节。通过这样做,模型在微调的任务上的表现会得到提升。

举个简单的例子,针对“天空为什么是蓝色?”这个问题,模型微调之前给出的答案为:“因为大气层散射阳光的方式。”,但是如果将该模型应用到科教平台,这个答案就显得太简短了。收集相关数据进行模型微调之后,给出的答案为:“天空之所以呈现蓝色,是因为一种叫做瑞利散射的现象。当阳光进入地球大气层时,它包含了不同颜色的光,每种颜色都有其特定的波长。蓝光波长较短,被大气中的气体和颗粒物向各个方向散射。这种散射使得直射阳光看起来是白色的,而天空本身则呈现出蓝色。”,上面的这个回答很全面就非常适合科教平台了。

微调方法

LLM微调是一个有监督学习过程,主要使用标注数据集来更新LLM的权重,并使模型提高其特定任务的能力。接下来将为大家介绍一些值得注意的微调方法。

「1、指令微调」 一种提高模型在各种任务上表现的策略是指令微调。这涉及到使用示例来训练机器学习模型,展示模型应该如何响应查询。用于微调大型语言模型的数据集必须符合你的指令目的。

例如,如果你想提高模型的摘要能力,你应该构建一个包含摘要指令和相关文本的数据集。在翻译任务中,应包含“翻译这段文本”等指令。这些提示有助于让模型以新的专业方式“思考”,并服务于特定任务。如下图所示

「2、全微调(FFT)」 即更新模型所有权重的过程,被称为全微调。这个过程会产生一个具有更新权重的新模型版本。需要注意的是,与预训练一样,全微调需要足够的内存和计算预算来存储和处理训练过程中的所有梯度、优化器和其他更新组件。

**「3、参数高效微调(PEFT )」**训练语言模型是一项计算密集型任务。对于LLM全微调,内存不仅来存储模型,还要存储训练过程中必要的参数。你的计算机可能能够处理模型权重,但在训练过程中为优化状态、梯度和前向激活分配多余的内存可能会存在挑战。

简单的硬件无法处理这种挑战。这就是参数高效微调(PEFT)的关键所在。「虽然全LLM微调在监督学习过程中更新每个模型的权重,但PEFT方法只更新一小部分参数」。这种迁移学习技术选择特定的模型组件并“冻结”其余参数。结果是,与原始模型相比,参数数量显著减少(在某些情况下,仅为原始权重的15-20%;2021年微软提出的 LORA,斯坦福提出的 Prefix-Tuning,谷歌提出的 Prompt Tuning,2022年清华提出的 P-tuning v2、2023年华盛顿大学提出的QLoRA、2024年英伟达提出DoRA等基本上都是属于该范畴)。

这使得内存需求更加可管理。不仅如此,「PEFT还解决了灾难性遗忘问题。由于它不触及原始LLM,模型不会忘记之前学到的信息」。全微调会为每个训练任务产生一个新版本的模型,每个新版本都与原始模型大小相同,如果你在多个任务上进行微调,这可能会造成昂贵的存储问题。

其它微调类型

「1、迁移学习」:迁移学习是将已在通用、大规模数据集上训练过的模型,应用于特定任务的数据集上。这种方法适用于数据不足或时间紧迫的情况,优势在于训练后能获得更高的学习率和准确性。你可以使用像GPT-3和BERT这样在大量数据上预训练过的LLMs,并根据你的用例进行定制。

「2、任务特定微调」:任务特定微调是在特定任务或领域上,使用为该领域设计的数据集对预训练模型进行微调。这种方法比迁移学习需要更多的数据和时间,但可以在特定任务上获得更高的性能。

「3、灾难性遗忘」:在全微调过程中,模型在单一任务上的权重被修改,可能导致在其他任务上的性能下降。例如,模型在微调后可能在情感分析等NLP任务上表现更好,但可能忘记如何执行其他任务。

「4、多任务学习」:多任务微调是单任务微调的扩展,训练数据集包含多个任务的输入和输出示例。这种方法可以同时提高模型在所有任务上的性能,避免灾难性遗忘的问题。训练过程中,通过多个周期的损失计算来更新模型权重,最终得到一个擅长多种任务的微调模型。但多任务微调模型需要大量数据,可能需要5万到10万个示例。

「5、顺序微调」:顺序微调是将预训练模型按顺序适应多个相关任务。在初步迁移到一般领域后,LLM可能针对更具体的子集进行微调,例如从通用语言到医学语言,再到儿科心脏病学。

注意,其实还有其它的微调类型,如自适应、行为和指令、强化微调,这些涵盖了训练语言模型的一些重要特定情况。

检索增强RAG

说到模型微调,这里就必须要提一下检索增强RAG了。RAG是微调的一种替代方法,它结合了自然语言生成和信息检索。RAG确保语言模型通过外部最新知识或相关文档提供信息来源。「这种技术弥合了通用模型广泛知识与最新知识信息需求之间的差距」。因此,RAG是事实随时间演变情况下的重要技术。

「RAG的优势」 RAG相较于微调的一个优势在于信息管理。传统的微调将数据嵌入到模型架构中,实质上是“硬编码”知识,这不容易修改。而RAG允许训练数据的持续更新,并允许数据的移除或修订,确保模型保持准确。

「RAG与微调的关系」 在语言模型的背景下,RAG和微调通常被视为竞争方法。然而,它们的结合使用可以显著提高性能。特别是,微调可以应用于RAG系统,以识别和改进其较弱的组件,帮助它们在特定LLM任务上表现出色。

微调最佳实践

「明确任务」:在微调大型语言模型的过程中,明确任务是基础步骤。它可以提供清晰的方向,确保模型的强大能力被引导用于实现特定目标,并为性能测量设定明确基准。

「选择合适的预训练模型」:使用预训练模型进行微调至关重要,因为它利用了从大量数据中获得的知识,确保模型不会从零开始学习。这种方法既计算效率高又节省时间。此外,预训练捕捉了通用语言理解,使微调能够专注于领域特定的细节,通常能在专业任务中带来更好的模型性能。

「设置超参数」:超参数是模型训练过程中可调整的变量,对找到适合任务的最优配置至关重要。学习率、批量大小、周期数、权重衰减等是关键的超参数,需要调整以优化模型。

「评估模型性能」:微调完成后,通过测试集评估模型性能。这提供了对模型在未见数据上预期表现的无偏评估。如果模型仍有改进空间,也应考虑迭代优化模型。

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/770118.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++ Linux调试(无IDE)

跨平台IDE编译调试C很方便,如QTCreate 、VSCode、Eclipse等,但是如果只能使用Shell控制台呢,gdb调试的优势就很明显了,在没有IDE的情况下,这个方式最有效。因为上手不是很难,特此整理 参考链接 目录 1、G…

MAC下打印机启用用户代码(RICOH理光打印机)

之前一直用Windows操作公司打印机,最近研究了下用MAC(macos 13.6.7)也能成功打印。公司为了防止恶意打印,因此对打印机设置了用户代码,输入正确的用户代码才能打印,因此配置会复杂一些。 1.安装适配的打印机…

5分钟教你用AI把老照片动起来,别再去花49块9的冤枉钱了

文章目录 需要的工具 最近,AI视频在各大平台上,又火了。 只是火的形式,变成了将老照片动起来,打情感牌,或者做很多经典电视剧的再整活。 直接把可灵的生成时间,从以前的4分钟,生生的干成了20分钟…

【APK】Unity出android包,报错 Gradle build failed.See the Console for details

参考大佬的博客:报错:Gradle build failed.See the Console for details.(已解决)_starting a gradle daemon, 1 incompatible daemon co-CSDN博客 本地出Android包,Build失败 解决办法: 1.下载一个低版本…

如何在多个服务器上安装WordPress分布式部署

许多网络主机现在保证其服务的正常运行时间为 99.9%,但这仍然每年最多有 8.7 小时的停机时间。 许多公司不能够承担这种风险。例如。在超级碗比赛中失败的体育新闻网站可能会失去忠实的追随者。 我们通过设置维护高可用性 WordPress分布式部署配置来帮助 WordPres…

SF-HCI-SAP问题收集17:值映射布尔型EC数据

Complacency is the enemy of study 学习的敌人是自己的满足。 SAP SuccessFactors Employee Central 到 SAP ERP 的员工主数据复制 successfactor employee center主数据同步,一直以来排错比较难,难的地方是这个提示消息比较隐晦,而且同步的…

C#的多线程UI窗体控件显示方案 - 开源研究系列文章

上次编写了《LUAgent服务器端工具》这个应用,然后里面需要新启动一个线程去对文件进行上传到FTP服务器,但是新线程里无法对应用主线程UI的内容进行更改,所以就需要在线程里设置主UI线程里控件信息的方法,于是就有了此博文。此文记…

程序员学CFA——经济学(五)

经济学(五) 货币政策与财政政策基本术语货币政策货币货币的功能货币的定义货币的创造过程货币的供给和需求费雪效应 中央银行中央银行的职能中央银行的目标与通货膨胀的成本中央银行的有效性 货币政策工具货币传导机制货币政策的目标与形式货币政策的目标…

大象机器人开源协作机械臂机械臂接入GPT4o大模型!

本文已经或者同济子豪兄作者授权对文章进行编辑和转载 引言 随着人工智能和机器人技术的快速发展,机械臂在工业、医疗和服务业等领域的应用越来越广泛。通过结合大模型和多模态AI,机械臂能够实现更加复杂和智能化的任务,提升了人机协作的效率…

Linux 压测工具---ab

安装 yum -y install httpd-tools 本文用于压测k8s集群内pod,k8s集群master可直接测试pod ip 命令: ab -n 10000 -c 100 http://10.42.8.212/ 其中,-n表示请求数,-c表示并发数,ip必须有”/“,表示此目录…

k8s上部署单节点apache-lotdb

一、yaml文件 使用的nfs的动态存储类,需要提前搭建。 # cat iotdb_deployment.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata:name: logsnamespace: lotdb spec:storageClassName: "nfs-client"accessModes:- ReadWriteManyresources:req…

[图解]企业应用架构模式2024新译本讲解21-数据映射器3

1 00:00:00,040 --> 00:00:03,300 接下来,我们就来看一下代码的示例了 2 00:00:06,910 --> 00:00:09,180 我们同样一步一步来看一下 3 00:00:35,030 --> 00:00:36,950 首先初始化数据 4 00:00:37,870 --> 00:00:41,620 这个地方跟之前我们举的例子是…

2024年小米SU7维修手册和电路图线路图接线图资料更新

此次更新了2024年小米SU7维修手册和电路图资料,覆盖市面上99%车型,包括维修手册、电路图、新车特征、车身钣金维修数据、全车拆装、扭力、发动机大修、发动机正时、保养、电路图、针脚定义、模块传感器、保险丝盒图解对照表位置等等! 汽修帮…

ImportError cannot import name ‘uic‘ from ‘PyQt5‘

ImportError cannot import name ‘uic’ from ‘PyQt5’ 1、描述 使用nuitka把PyQt5打包exe文件时报错: ImportError cannot import name ‘uic’ from ‘PyQt5’ 2、原因 这个是由于无法找到uic的目录导致的,在PyQt5的目录下是有uic文件的。 3、解决方案 找到导入uic…

常见sql语句练习

Tips:之前查看网上的文章感觉太乱了,所以自己整理了一套sql语句来练习,主要也可以拿来应对面试,需要的可以自行下载练习 包含基本语句、聚合函数、模糊查询、范围查询、排序、聚合、分组、分页、子查询、索引和视图、左右连接、双…

电脑突然不能上网,然后网线是正确的,网络诊断提示说,显示远程计算机或设备将不接受连接

解决方法: WINR输入 cmd 点击确认,输入inetcpl.cpl,点击确定,弹出右边窗口。 电脑显示远程计算机或设备将不接受连接的解决办法,已解决

『我在家乡的精神角落』插画H5 案例赏析

「我在家乡的精神角落」是一部由快手精心打造的插画艺术风H5,它以独特的方式探索个体的内心世界。通过简约的插画和丰富的色彩,结合九型人格测试的问题,引导用户发现自我,找到属于自己的精神角落。 part1. 创意定位 人格测试&…

LED透明屏的维护秘籍

LED透明屏,听起来是不是就很有科技感?它不仅看起来美观,而且功能强大。但你知道吗,要想让你的LED透明屏长时间保持最佳状态,一些简单的维护是必不可少的。下面是一些维护小贴士,让你的屏幕始终光彩照人。 1…

3C电子制造行业MES系统,提高企业生产效率

随着科技的不断进步,3C电子制造行业正迎来传统工厂向数字化工厂转型的阶段。在这场变革中,MES系统发挥着重要的作用,成为了企业变革的“智慧大脑”,引领着生产流程的优化和升级。 那么,MES系统究竟有哪些功能&#xf…

干货!一文读懂10种主流的图片格式

JPG、PNG、GIF,这些在我们生活中常见的图片格式,你真的了解它们吗?你知道除了这3种图片格式外,还有十多种主流的图片格式吗?每一种图片格式都有自己的特点和适用场景,选择正确的图片类型不仅能提升视觉效果…