【大模型微调】入门大模型微调,这些必备知识必须了解!

1、微调基础概念介绍

1.1 微调基本概念

所谓大模型微调,指的在已有的大规模预训练模型基础上,通过对标注数据进行训练,进一步优化 模型的表现,以适应特定任务或场景的需求。

不同于RAG或者Agent技术,通过搭建工作流来优化模型表现,微调是通过修改模型参数来优化模型能力,是一种能够让模型“永久”掌握某种能力的方法。

1.2 全量微调与高效微调

而从方法的大类上来划分,微调又可以划分为全量微调:带入全部数据进行微调,和高效微调:只 带入部分数据进行微调。

毫无疑问,全量微调是一种算力消耗更大、但对模型的能力改造更为彻底的方 法,而高效微调则更类似一种“ 四两拨千斤”的方法,通过修改模型部分参数,来调整模型整体能力。

1.3 全量指令微调

全量微调的一个最核心的应用场景就是全量指令微调,在当代大模型的训练流程中,首先需要进行模型预训练,在这个过程中我们需要输入大量不带标签的文本段落,让模型学习到语言的基本结构、语法规则、上下文信息等。

经过预训练的模型就拥有了“成语接龙的能力”,如下所示:

img

但目前在很多场景下,我们需要大模型进行对话(chat)而非补全(completion),因此我们需要围绕 经过预训练的模型进行进一步的全量指令微调,通过输入海量的对话文本(一问一答构成的文本,同时 也是有监督的文本),让模型学会对话的能力,例如:

img

现在绝大多数开源模型,在开源的时候都会公布两个版本的模型,其一是Base模型,该模型只经过了预 训练,没有经过指令微调;其二则是Chat模型(或者就是不带尾缀的模型),则是在预训练模型基础上 进一步进行全量指令微调之后的对话模型:

img

注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的优势:

  1. 显存优化: 只需要调整少量的参数(适配器),显著减少了显存需求,适合显存有限的GPU。

  2. 计算效率: 微调过程中的计算负担也更轻,因为减少了需要调整的参数量。

  3. 灵活性: 可以与现有的预训练模型轻松结合使用,适用于多种任务,如文本生成、分类、问答等。

QLoRA(QuantizedLow-RankAdaptation) 则是 LoRA 的一个扩展版本,它结合了 LoRA 的 低秩适配器和量化技术。 QLoRA 进一步优化了计算效率和存储需求,特别是在极端显存受限的环境下。

与 LoRA 不同的是, QLoRA会将插入的低秩适配器层的部分权重进行量化(通常是量化为INT4INT8) ,在保持性能的同时显著降低模型的存储和计算需求。

• 核心思想: 在 LoRA 的基础上加入量化技术,减少权重表示的位数,从而降低显存和计算需求。 QLoRA 结合了低秩适配器和量化的优点,能够在显存有限的设备上进行更高效的微调。

• 量化: 通过将模型权重量化为低精度(如 INT4),减少内存占用,并提高推理和训练速度。

优势:

  • 在显存非常有限的情况下仍能进行微调。
  • 可以处理更大规模的模型。
  • 适合用于边缘设备和需要低延迟推理的场景。

LoRAQLoRA二者对比如下

img

2、高效微调的应用场景

在实际大模型应用场景中,高效微调主要用于以下四个方面:

  • 对话风格微调: 高效微调可以用于根据特定需求调整模型的对话风格。例如,针对客服系统、虚拟助理等场景。

模型可以通过微调来适应不同的 语气、礼貌程度回答方式,从而在与用户互动时 提供更符合要求的对话体验。

通过微调少量的参数(例如对话生成的策略、情感表达等),可以使 模型表现出更具针对性和个性化的风格。

  • 知识灌注: 知识灌注是指将外部知识或领域特定的信息快速集成到已有的预训练模型中。通过高效微调,模型可以更好地学习新领域的专有知识,而无需重新从头开始训练。

例如,对于法律、医疗 等专业领域,可以使用少量的标注数据对预训练模型进行微调,帮助模型理解特定行业的术语、规 则和知识,进而提升专业领域的问答能力。

  • 推理能力提升: 高效微调还可以用于提升大模型的推理能力,尤其是在处理更复杂推理任务时。

通过微调,模型能够更加高效地理解长文本、推理隐含信息,或者从数据中提取逻辑关系,进而在多 轮推理任务中提供更准确的答案。这种微调方式可以帮助模型在解答复杂问题时,提高推理准确性 并减少错误。

  • Agent能力(Function calling能力)提升: 在多任务协作或功能调用场景中,高效微调能够显著 提升模型Agent能力,使得模型能够有效地与其他系统进行交互、调用外部API或执行特定任务。

通过针对性微调,模型可以学会更精准的功能调用策略、参数解析和操作指令,从而在自动化服 务、智能助手或机器人控制等领域表现得更加高效和智能。

3、 微调与强化学习训练、模型蒸馏等概念辨析

而伴随着DeepSeek R1的兴起,关于强化学习训练、模型蒸馏等概念也逐渐被人熟知,这里我们简 单总结下这三者的异同。

微调强化学习训练模型蒸馏 都是常用的技术手段,它们有着不同的应用场景和目标。尽管这些方法在某些方面有所交集,但它们的核心原理和任务目标却存在显著差异。

1. 微调(Fine-tuning):

微调是指在一个已经预训练的大型模型基础上,使用较少的任务特定数据对模型进行再训练,以适应特 定任务的需求。

微调通常针对模型的某些层进行调整,或者通过在全模型基础上进一步训练来优化其在 目标任务中的表现。微调不需要从零开始训练模型,而是通过 小范围的参数调整 来获得较高的任务表现。

• 目标:通过少量的标注数据对预训练模型进行优化,适应具体任务(如文本分类、问答、生成 等)。

• 特点:微调的计算量相对较小,能够在有限的数据和计算资源下提升模型在特定任务上的性能。

• 应用:常用于下游任务如情感分析、机器翻译、推荐系统等。

2. 强化学习训练(Reinforcement Learning):

强化学习是一种通过与环境互动来学习如何最大化长期奖励的学习方式。

与微调不同,强化学习是一个决策优化过程,其主要目标是通过 试错 和反馈来学习最优策略。强化学习的智能体通过与环境的交互获 得奖励信号,并根据反馈调整策略,长期进行优化。

• 目标:通过与环境的交互,学习最优的行为策略,最大化累积奖励。

• 特点:强化学习强调 动态决策,通过 探索和利用 的平衡,优化策略。它通常不依赖于预定义的数 据集,而是依赖于与环境的持续交互。

• 应用:强化学习在游戏AI(如AlphaGo)、机器人控制、自动驾驶等任务中有广泛应用。

3. 模型蒸馏(Model Distillation):

模型蒸馏是一种将 复杂、计算密集型的教师模型 的知识转移到 小型、高效的学生模型 上的技术。

通过蒸馏,学生模型能够学习教师模型的决策过程或表示,从而在保留较高效能的同时,降低模型的计算和 存储成本。蒸馏通常通过教师模型生成软标签或行为模仿来指导学生模型训练。

• 目标:通过教师模型的“知识转移” ,帮助学生模型提升性能,特别是计算能力有限的设备上。

• 特点:蒸馏的核心在于知识的迁移,尤其是在模型压缩和部署方面的优势。学生模型通常在性能上 能接近教师模型,但参数量更小,计算更高效。

• 应用:常见于模型压缩、边缘计算、低功耗设备的部署中,用于提升部署效率并降低计算需求。

三者的异同

img

4、主流微调工具介绍

在入手学习大模型微调时,首先推荐功能层次封装层次较高的微调三剑客: unsloth、 Llama-Factory和ms-SWIFT。

除此之外,也可以借助更加底层的库,如peft、 LoRA、 transformer等实现高效 微调。

对于初学者来说,首先推荐unsloth、 Llama-Factory和ms-SWIFT来进行微调,三种工具基本说明 如下。

4.1 unsloth

img

• unsloth GitHub主页:https://github.com/unslothai/unsloth

unsloth 是一个专为大型语言模型(LLM)设计的微调框架,旨在提高微调效率并减少显存占用。 它通过手动推导计算密集型数学步骤并手写 GPU 内核,实现了无需硬件更改即可显著加快训练速度。

img

unsloth 与 HuggingFace 生态兼容,可以很容易地transformers、 peft、 trl等库结合,以实现模型的监督微调(SFT)和直接偏好优化(DPO),仅需模型的加载方式,无需对现有训练代码进行修改。

主要功能点:

• 高效微调: unsloth 通过深度优化,使 LLM 的微调速度提高 2-5 倍,显存使用量减少约 80%,且 准确度无明显下降。

• 广泛的模型支持: 目前支持的模型包括目前各类主流模型,用户可以根据需求适合的模型进行微调。

• 兼容性: unsloth 与 HuggingFace态系统兼容,用户可以轻松将其与 traformers、 peft等库结合,实现模型的监督微调(SFT)和直接偏好优化(DPO),仅需修改模型的加载方式,无需对现有训练代码进行过多修改。

• 内存优化: 通过 4 位和 16 位的 QLoRA/LoRA 微调, unsloth 显著了显 存占用,使得在资源受限的环境中也能大的微调。

unsloth核心优势:

• 显著提升微调效率: 相比传统方法, Unsloth 能够在更短的时间内完成微调任务,节省时间成本。

• 降低硬件要求: 通过优化显存使用,用户可以在显存较小的 GPU 上进行大模型的微调,降低了硬 件门槛。

• 开源免费: Unsloth 提供开源版本,用户可以在 Google Colab 或 Kaggle Notebooks 上免费试用,方便上手体验。

总的来说, unsloth 为大型语言模型的微调提供了高效、低成本的解决方案,适合希望在有限资源下进行模型微调的开发者和研究人员。

4.2 LLama-Factory

img

• LLama-Factory GitHub主页:https://github.com/hiyouga/LLaMA-Factory

LLaMA-Factory 是一个统一且高效的微调框架,旨在为超过 100 种大型语言模型(LLMs)和视觉 语言模型(VLMs)提供便捷的微调支持。 用户能够灵活地定制模型以适应各种下游任务。

主要功能和特点:

• 广型支持: LLaMA-Factory 支持对 100 多LLMs 和 VLMs 进行微调,包括最新的模型版本,如 Llama 3、 GLM-4、 Mistral Small、 PaliGemma2 等。

• 高效的微调方法: 框架集成了多nk Adaptation)、 QRA(Quantized LoRA)等,以提高训练速度 并减少显存占用。

• 多模态任务支持: 除了传统的文本任务外, LLaMA-Factory 还支频识别、音频理解等多种任务类 型。

• 实验监控: 提供了丰富的实验监控工具,如 LlamaBoard、TensorBoard、Wandb、 MLflow、练过程。

• 快速: 框架提供了类似 OpenAI 风格的 API、 Gradio UI 和命令行界面,并结合 vLLM worker,实 现了高效的推理能力。

4.3ms-SWIFT

img

• ms-SWIFT GitHub项目主页: https://github.com/modelscope/swift

ms-swift( Scalable lightWeight Infrastructure for Fine-Tuning)是由魔搭社区(ModelScope) 开发的高效微调和部署框架,旨在为研究人员和开发者提供一站式的大模型与多模态大模型的训练、推理、评测、量化和部署解决方案。

模型支持:

ms-swift 支持超过 450 种大型模型(LLMs)和 150 多种多模态大模型(MLLMs)的训练和部署。

包括最新的模型版本,如 Qwen2.5、 InternLM3、GLM4、 Llama3.3、 Mistral、 DeepSeek-R1、Yi1.5、 Baichuan2、 Gemma2 等,以及多模态模型如 Qwen2.5-VL、 Qwen2-Audio、 Llama3.2-Vision、 Llava、 InternVL2.5 等。

• 多样化的训练技术: 框架集oRA、 Llama-Pro、 LonoRA、 GaLore、 Q-GaLore、 LoRA+、 LISA、 DoRA、 FourierFt、 ReFT、 UnSloth 和 Liger 等,满足不同的微调需求。

• 轻量级微调: 支持多种轻量级微调方法,如 LoRA、 QLoRA、 DoLLaMAPro、Adapt、 GaLore、 Q- Galore、 LISA、 UnSloth、 Liger-Kernel 等,降低显存和计算资源的消耗。

• 分布式训练: 支持分布式数据并行(DDP)、 DeepSpeed ZeRO2/ZeRO3、 FSDP 等技术,提升推 理加速: ** 提供 BNBWQ、 GPTQ、AQLM、 HQQ、 EETQ 等量化方法,并支持使用 vLLM 和LMDeploy 对推理、评测和部署 支持图像、视频和语音等多种模态型训练,涵盖 VQA、 Caption、 OCR、 Grounding 等任务。

• 用户友好的界面: 提供基于 Gradio 的 We和量化操作,简化了大模型的全链路流程。

img

那么,如何系统的去学习大模型LLM?

作为一名从业五年的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。

所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。

由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~
在这里插入图片描述

👉大模型学习指南+路线汇总👈

我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。
在这里插入图片描述
在这里插入图片描述

👉①.基础篇👈

基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。
在这里插入图片描述

👉②.进阶篇👈

接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。
在这里插入图片描述

👉③.实战篇👈

实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。
在这里插入图片描述

👉④.福利篇👈

最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
在这里插入图片描述
相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值