1. 微调基础概念介绍
1.1 微调基本概念
所谓大模型微调,指的在已有的大规模预训练模型基础上,通过对标注数据进行训练,进一步优化 模型的表现,以适应特定任务或场景的需求。
不同于RAG或者Agent技术,通过搭建工作流来优化模型表现,微调是通过修改模型参数来优化模型能力,是一种能够让模型“永久”掌握某种能力的方法。
1.2 全量微调与高效微调
而从方法的大类上来划分,微调又可以划分为全量微调:带入全部数据进行微调,和高效微调:只 带入部分数据进行微调。
毫无疑问,全量微调是一种算力消耗更大、但对模型的能力改造更为彻底的方 法,而高效微调则更类似一种“ 四两拨千斤”的方法,通过修改模型部分参数,来调整模型整体能力。
1.3 全量指令微调
全量微调的一个最核心的应用场景就是全量指令微调,在当代大模型的训练流程中,首先需要进行模型预训练,在这个过程中我们需要输入大量不带标签的文本段落,让模型学习到语言的基本结构、语法规则、上下文信息等。
经过预训练的模型就拥有了“成语接龙的能力”,如下所示:
但目前在很多场景下,我们需要大模型进行对话(chat)而非补全(completion),因此我们需要围绕 经过预训练的模型进行进一步的全量指令微调,通过输入海量的对话文本(一问一答构成的文本,同时 也是有监督的文本),让模型学会对话的能力,例如:
现在绝大多数开源模型,在开源的时候都会公布两个版本的模型,其一是Base模型,该模型只经过了预 训练,没有经过指令微调;其二则是Chat模型(或者就是不带尾缀的模型),则是在预训练模型基础上 进一步进行全量指令微调之后的对话模型:
注1——全量指令微调是全量微调的一种;
注2——大模型训练公开课,详见:【全网独家】手动复现DeepSeekv3| https://www.bilibili.com/video/BV1KtwueYE54/
1.4 高效微调与LoRA、 QLoRA
尽管全量微调可以对模型的能力进行深度改造,但要带入模型全部参数进行训练,需要消耗大量的算力,且有一定的技术门槛。
相比之下,在绝大多数场景中,如果我们只想提升模型某个具体领域的能 力,那高效微调会更加合适。尽管在2020年前后,深度学习领域诞生了很多高效微调的方法,但现在适 用于大模型的最主流的高效微调方法只有一种——LoRA。
LoRA( Low-Rank Adaptation)微调是一种参数高效的微调方法,旨在通过引入低秩矩阵来减少微 调时需要调整的参数数量,从而显著降低显存和计算资源的消耗。
具体来说,LoRA 微调并不直接调整原 始模型的所有参数,而是通过在某些层中插入低秩的适配器(Adapter)层来进行训练。
LoRA的原理:
○ 在标准微调中,我们会修改模型的所有权重,而在 LoRA 中,只有某些低秩矩阵(适配器)被训练 和调整。这意味着原始模型的参数保持不变,只是通过少量的新参数来调整模型的输出。
○ 低秩矩阵的引入可以在显存和计算能力有限的情况下,依然有效地对大型预训练模型进行微调,从 而让 LoRA 成为显存较小的设备上的理想选择。
LoRA的优势:
-
显存优化: 只需要调整少量的参数(适配器),显著减少了显存需求,适合显存有限的GPU。
-
计算效率: 微调过程中的计算负担也更轻,因为减少了需要调整的参数量。
-
灵活性: 可以与现有的预训练模型轻松结合使用,适用于多种任务,如文本生成、分类、问答等。
而QLoRA(QuantizedLow-RankAdaptation) 则是 LoRA 的一个扩展版本,它结合了 LoRA 的 低秩适配器和量化技术。 QLoRA 进一步优化了计算效率和存储需求,特别是在极端显存受限的环境下。
与 LoRA 不同的是, QLoRA会将插入的低秩适配器层的部分权重进行量化(通常是量化为INT4或INT8) ,在保持性能的同时显著降低模型的存储和计算需求。
• 核心思想: 在 LoRA 的基础上加入量化技术,减少权重表示的位数,从而降低显存和计算需求。 QLoRA 结合了低秩适配器和量化的优点,能够在显存有限的设备上进行更高效的微调。
• 量化: 通过将模型权重量化为低精度(如 INT4),减少内存占用,并提高推理和训练速度。
• 优势:
○ 在显存非常有限的情况下仍能进行微调。
○ 可以处理更大规模的模型。
○ 适合用于边缘设备和需要低延迟推理的场景。
LoRA与QLoRA****二者对比如下
微调原理参考:【入门】大语言模型常用微调框架介绍|https://www.bilibili.com/video/BV1Yc411g78a/
2. 高效微调的应用场景
在实际大模型应用场景中,高效微调主要用于以下四个方面:
• 对话风格微调:高效微调可以用于根据特定需求调整模型的对话风格。例如,针对客服系统、虚拟助理等场景。
模型可以通过微调来适应不同的 语气、礼貌程度 或 回答方式,从而在与用户互动时 提供更符合要求的对话体验。
通过微调少量的参数(例如对话生成的策略、情感表达等),可以使 模型表现出更具针对性和个性化的风格。
• 知识灌注:知识灌注是指将外部知识或领域特定的信息快速集成到已有的预训练模型中。通过高效微调,模型可以更好地学习新领域的专有知识,而无需重新从头开始训练。
例如,对于法律、医疗 等专业领域,可以使用少量的标注数据对预训练模型进行微调,帮助模型理解特定行业的术语、规 则和知识,进而提升专业领域的问答能力。
• 推理能力提升:高效微调还可以用于提升大模型的推理能力,尤其是在处理更复杂推理任务时。
通过微调,模型能够更加高效地理解长文本、推理隐含信息,或者从数据中提取逻辑关系,进而在多 轮推理任务中提供更准确的答案。这种微调方式可以帮助模型在解答复杂问题时,提高推理准确性 并减少错误。
• Agent能力(Functioncalling能力)提升:在多任务协作或功能调用场景中,高效微调能够显著 提升模型Agent能力,使得模型能够有效地与其他系统进行交互、调用外部API或执行特定任务。
通过针对性微调,模型可以学会更精准的功能调用策略、参数解析和操作指令,从而在自动化服 务、智能助手或机器人控制等领域表现得更加高效和智能。
3. 微调与强化学习训练、模型蒸馏等概念辨析
而伴随着DeepSeek R1的兴起,关于强化学习训练、模型蒸馏等概念也逐渐被人熟知,这里我们简 单总结下这三者的异同。
微调、 强化学习训练 和 模型蒸馏 都是常用的技术手段,它们有着不同的应用场景和目标。尽管这些方法在某些方面有所交集,但它们的核心原理和任务目标却存在显著差异。
1. 微调(Fine-tuning):
微调是指在一个已经预训练的大型模型基础上,使用较少的任务特定数据对模型进行再训练,以适应特 定任务的需求。
微调通常针对模型的某些层进行调整,或者通过在全模型基础上进一步训练来优化其在 目标任务中的表现。微调不需要从零开始训练模型,而是通过 小范围的参数调整 来获得较高的任务表现。
• 目标:通过少量的标注数据对预训练模型进行优化,适应具体任务(如文本分类、问答、生成 等)。
• 特点:微调的计算量相对较小,能够在有限的数据和计算资源下提升模型在特定任务上的性能。
• 应用:常用于下游任务如情感分析、机器翻译、推荐系统等。
2. 强化学习训练(Reinforcement Learning):
强化学习是一种通过与环境互动来学习如何最大化长期奖励的学习方式。
与微调不同,强化学习是一个决策优化过程,其主要目标是通过 试错 和反馈来学习最优策略。强化学习的智能体通过与环境的交互获 得奖励信号,并根据反馈调整策略,长期进行优化。
• 目标:通过与环境的交互,学习最优的行为策略,最大化累积奖励。
• 特点:强化学习强调 动态决策,通过 探索和利用 的平衡,优化策略。它通常不依赖于预定义的数 据集,而是依赖于与环境的持续交互。
• 应用:强化学习在游戏AI(如AlphaGo)、机器人控制、自动驾驶等任务中有广泛应用。
3. 模型蒸馏(Model Distillation):
模型蒸馏是一种将 复杂、计算密集型的教师模型 的知识转移到 小型、高效的学生模型 上的技术。
通过蒸馏,学生模型能够学习教师模型的决策过程或表示,从而在保留较高效能的同时,降低模型的计算和 存储成本。蒸馏通常通过教师模型生成软标签或行为模仿来指导学生模型训练。
• 目标:通过教师模型的“知识转移” ,帮助学生模型提升性能,特别是计算能力有限的设备上。
• 特点:蒸馏的核心在于知识的迁移,尤其是在模型压缩和部署方面的优势。学生模型通常在性能上 能接近教师模型,但参数量更小,计算更高效。
• 应用:常见于模型压缩、边缘计算、低功耗设备的部署中,用于提升部署效率并降低计算需求。
三者的异同
需要注意的是, 模型微调 和 强化学习训练 都可以作为 模型蒸馏 的一个环节或技术实现手段,它们并不 互相排斥,反而在某些情况下能够互相补充,结合起来达到更好的效果。
六、如何系统学习AI大模型?(附全套学习资源)
零基础入门AI大模型
今天贴心为大家准备好了一系列AI大模型资源,包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
有需要的小伙伴,可以点击下方链接免费领取【保证100%免费
】
1.学习路线图
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
(都打包成一块的了,不能一一展开,总共300多集)
3.技术文档和电子书
这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。
4.LLM面试题和面经合集
这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
5.免费获取
这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码或者点击以下链接都可以免费领取【保证100%免费】