大模型微调方式及场景应用介绍

在预训练模型的基础上,针对特定的下游任务进行额外的训练,以使模型更好地适应该任务。

  • 利用预训练的知识:大模型如BERT、GPT等在大规模数据集上进行了预训练,学习了丰富的语言特征和模式。微调允许我们将这些预训练的知识应用到特定任务上。
  • 适应特定领域:不同领域(如医疗、法律、金融等)的语言使用可能具有特殊性。微调可以帮助模型适应这些特定领域的术语和语言风格。
  • 数据稀缺问题:在某些任务中,获取大量标注数据可能成本高昂或不可行。预训练的大模型已经在大量数据上训练过,微调可以在有限的数据上进行,减少了对大量标注数据的需求。
  • 提高性能:即使是预训练的大模型,也可能没有针对特定任务进行优化。微调可以帮助模型更好地理解任务相关的特征,从而提高性能。节省资源:从头开始训练一个大模型需要大量的计算资源和时间。微调通常使用较小的学习率,并且只更新模型的一部分参数,这样可以减少训练时间和计算资源的消耗。
1.1 微调的目的

微调(Fine-tuning)的核心目的,是在通用大模型(General-Purpose LLM)的基础上,通过小 规模、特定领域的数据训练,使其行为更贴合具体业务场景的需求 。 微调不是为了"让模型学会新知识"(那是 RAG 的任务),而是为了改变模型的"表达方 式" 、 "决策偏好"和"输出风格" ,实现深度定制化。

在预训练模型的基础上,针对特定的下游任务进行额外的训练,以使模型更好地适应该任务。

  • 利用预训练的知识:大模型如BERT、GPT等在大规模数据集上进行了预训练,学习了丰富的语言特征和模式。微调允许我们将这些预训练的知识应用到特定任务上。
  • 适应特定领域:不同领域(如医疗、法律、金融等)的语言使用可能具有特殊性。微调可以帮助模型适应这些特定领域的术语和语言风格。
  • 数据稀缺问题:在某些任务中,获取大量标注数据可能成本高昂或不可行。预训练的大模型已经在大量数据上训练过,微调可以在有限的数据上进行,减少了对大量标注数据的需求。
  • 提高性能:即使是预训练的大模型,也可能没有针对特定任务进行优化。微调可以帮助模型更好地理解任务相关的特征,从而提高性能。节省资源:从头开始训练一个大模型需要大量的计算资源和时间。微调通常使用较小的学习率,并且只更新模型的一部分参数,这样可以减少训练时间和计算资源的消耗。
1.1 微调的目的

微调(Fine-tuning)的核心目的,是在通用大模型(General-Purpose LLM)的基础上,通过小 规模、特定领域的数据训练,使其行为更贴合具体业务场景的需求 。 微调不是为了"让模型学会新知识"(那是 RAG 的任务),而是为了改变模型的"表达方 式" 、 "决策偏好"和"输出风格" ,实现深度定制化。

1.2 RAG or 微调

1.3 轻量微调三剑客

  • LoRA:低秩适配,训练快,效果好
  • P-Tuning v2:可学习的Prompt,适合任务特定优化
  • Adapter:插入小模块,模块化更新
1.3.1 LoRA(Low‑Rank Adaptation,低秩适配)

LoRA 基于矩阵低秩分解理论实现参数高效微调,其核心假设:大模型在下游任务更新时,权重的增量矩阵具备低秩特性 。设预训练模型原始权重矩阵为 W∈Rd×d\boldsymbol{W}\in\mathbb{R}^{d\times d}W∈Rd×d,训练全程冻结 W\boldsymbol{W}W,不对其梯度更新。引入两个低秩矩阵 A∈Rr×d\boldsymbol{A}\in\mathbb{R}^{r\times d}A∈Rr×d、B∈Rd×r\boldsymbol{B}\in\mathbb{R}^{d\times r}B∈Rd×r,其中秩超参数满足 r≪dr\ll dr≪d。下游任务对应的权重增量定义为:

ΔW=BA\Delta\boldsymbol{W}=\boldsymbol{BA}ΔW=BA

微调阶段仅对矩阵 A\boldsymbol{A}A 和 B\boldsymbol{B}B 进行反向传播优化。模型前向传播输出为:

h=Wx+αrBAx\boldsymbol{h}=\boldsymbol{W}\boldsymbol{x}+\frac{\alpha}{r}\boldsymbol{BA}\boldsymbol{x}h=Wx+rαBAx

α\alphaα 为缩放超参数。推理阶段,增量矩阵 ΔW\Delta\boldsymbol{W}ΔW 可预先与原始权重合并,得到微调完成后的权重矩阵 Wfin=W+ΔW\boldsymbol{W}_{fin}=\boldsymbol{W}+\Delta\boldsymbol{W}Wfin=W+ΔW;权重合并完成后,推理链路与原始预训练模型完全一致,不会引入额外推理计算开销。LoRA 仅作用于Transformer架构注意力模块的投影权重,参数量规模由秩 rrr 控制,能够以极小的参数量逼近全参数微调效果。

1.3.2 P‑Tuning v2

P‑Tuning v2 属于提示调优分支方案,不修改主干网络任意权重参数。该方法在Transformer每一层编码器输入序列侧,插入一组可学习的连续提示向量。记单条可学习提示向量为 pi∈Rd\boldsymbol{p}_i\in\mathbb{R}^{d}pi∈Rd,ddd 为隐藏层维度;设置提示序列长度为 lll,可学习提示矩阵:

P∈Rl×d\boldsymbol{P}\in\mathbb{R}^{l\times d}P∈Rl×d

主干模型所有权重冻结,训练过程仅更新 P\boldsymbol{P}P。对于输入样本对应的词嵌入序列 X∈Rn×d\boldsymbol{X}\in\mathbb{R}^{n\times d}X∈Rn×d,拼接提示向量后送入Transformer层:

X′=Concat(P,X)\boldsymbol{X}'=\mathrm{Concat}(\boldsymbol{P},\boldsymbol{X})X′=Concat(P,X)

经过多层Transformer正向传播得到任务输出。相比于初代Prompt‑Tuning,P‑Tuning v2 将可学习提示部署于模型全部隐藏层而非仅输入层,大幅提升了小样本判别任务的收敛性能。由于提示向量无法与主干权重融合,推理阶段输入样本必须拼接提示向量,会固定产生额外运算开销。该方法更适配序列标注、文本分类、实体抽取等判别式下游任务,长文本生成任务优化效果有限。

1.3.3 Adapter微调

Adapter微调通过在Transformer网络层内部插入瓶颈结构子模块实现增量学习。冻结主干Transformer全部预训练权重,仅训练新增的适配器模块。以标准Transformer前馈层输出 h∈Rd\boldsymbol{h}\in\mathbb{R}^{d}h∈Rd 作为适配器输入,适配器内部包含降维投影矩阵 Wdown∈Rd×m\boldsymbol{W}{down}\in\mathbb{R}^{d\times m}Wdown∈Rd×m、非线性激活函数 σ\sigmaσ、升维投影矩阵 Wup∈Rm×d\boldsymbol{W}{up}\in\mathbb{R}^{m\times d}Wup∈Rm×d,其中瓶颈维度 m≪dm\ll dm≪d。适配器模块输出:

hadapter=h+Wupσ(Wdownh)\boldsymbol{h}{adapter}=\boldsymbol{h}+\boldsymbol{W}{up}\sigma(\boldsymbol{W}_{down}\boldsymbol{h})hadapter=h+Wupσ(Wdownh)

适配器以残差连接的形式嵌入原有网络。每个下游任务可以独立训练一套适配器参数,主干模型权重保持不变。推理时可根据任务需求动态加载、切换对应的适配器模块,天然具备模块化、多任务插拔部署能力。适配器子网络属于推理链路的一部分,无法合并进主干权重,每一次前向推理均需要执行适配器内部运算,因此会带来恒定的推理时延开销。

1.3.4 试用场景
  • 数据量少(<1k条) → 优先使用 P-Tuning 或 Prompt Tuning
  • 性能要求高、资源充足 → 选择 LoRA,平衡效果与部署成本
  • 需模块化升级、多任务切换 → 使用 Adapter,支持热插拔
  • 特定领域知识注入(如法律、医疗) → LoRA + RAG 联合使用
  • 低延迟服务场景 → 避免 Adapter,优先 LoRA 或 P-Tuning

1.2 RAG or 微调

1.3 轻量微调三剑客

  • LoRA:低秩适配,训练快,效果好
  • P-Tuning v2:可学习的Prompt,适合任务特定优化
  • Adapter:插入小模块,模块化更新
1.3.1 LoRA(Low‑Rank Adaptation,低秩适配)

LoRA 基于矩阵低秩分解理论实现参数高效微调,其核心假设:大模型在下游任务更新时,权重的增量矩阵具备低秩特性 。设预训练模型原始权重矩阵为 W∈Rd×d\boldsymbol{W}\in\mathbb{R}^{d\times d}W∈Rd×d,训练全程冻结 W\boldsymbol{W}W,不对其梯度更新。引入两个低秩矩阵 A∈Rr×d\boldsymbol{A}\in\mathbb{R}^{r\times d}A∈Rr×d、B∈Rd×r\boldsymbol{B}\in\mathbb{R}^{d\times r}B∈Rd×r,其中秩超参数满足 r≪dr\ll dr≪d。下游任务对应的权重增量定义为:

ΔW=BA\Delta\boldsymbol{W}=\boldsymbol{BA}ΔW=BA

微调阶段仅对矩阵 A\boldsymbol{A}A 和 B\boldsymbol{B}B 进行反向传播优化。模型前向传播输出为:

h=Wx+αrBAx\boldsymbol{h}=\boldsymbol{W}\boldsymbol{x}+\frac{\alpha}{r}\boldsymbol{BA}\boldsymbol{x}h=Wx+rαBAx

α\alphaα 为缩放超参数。推理阶段,增量矩阵 ΔW\Delta\boldsymbol{W}ΔW 可预先与原始权重合并,得到微调完成后的权重矩阵 Wfin=W+ΔW\boldsymbol{W}_{fin}=\boldsymbol{W}+\Delta\boldsymbol{W}Wfin=W+ΔW;权重合并完成后,推理链路与原始预训练模型完全一致,不会引入额外推理计算开销。LoRA 仅作用于Transformer架构注意力模块的投影权重,参数量规模由秩 rrr 控制,能够以极小的参数量逼近全参数微调效果。

1.3.2 P‑Tuning v2

P‑Tuning v2 属于提示调优分支方案,不修改主干网络任意权重参数。该方法在Transformer每一层编码器输入序列侧,插入一组可学习的连续提示向量。记单条可学习提示向量为 pi∈Rd\boldsymbol{p}_i\in\mathbb{R}^{d}pi∈Rd,ddd 为隐藏层维度;设置提示序列长度为 lll,可学习提示矩阵:

P∈Rl×d\boldsymbol{P}\in\mathbb{R}^{l\times d}P∈Rl×d

主干模型所有权重冻结,训练过程仅更新 P\boldsymbol{P}P。对于输入样本对应的词嵌入序列 X∈Rn×d\boldsymbol{X}\in\mathbb{R}^{n\times d}X∈Rn×d,拼接提示向量后送入Transformer层:

X′=Concat(P,X)\boldsymbol{X}'=\mathrm{Concat}(\boldsymbol{P},\boldsymbol{X})X′=Concat(P,X)

经过多层Transformer正向传播得到任务输出。相比于初代Prompt‑Tuning,P‑Tuning v2 将可学习提示部署于模型全部隐藏层而非仅输入层,大幅提升了小样本判别任务的收敛性能。由于提示向量无法与主干权重融合,推理阶段输入样本必须拼接提示向量,会固定产生额外运算开销。该方法更适配序列标注、文本分类、实体抽取等判别式下游任务,长文本生成任务优化效果有限。

1.3.3 Adapter微调

Adapter微调通过在Transformer网络层内部插入瓶颈结构子模块实现增量学习。冻结主干Transformer全部预训练权重,仅训练新增的适配器模块。以标准Transformer前馈层输出 h∈Rd\boldsymbol{h}\in\mathbb{R}^{d}h∈Rd 作为适配器输入,适配器内部包含降维投影矩阵 Wdown∈Rd×m\boldsymbol{W}{down}\in\mathbb{R}^{d\times m}Wdown∈Rd×m、非线性激活函数 σ\sigmaσ、升维投影矩阵 Wup∈Rm×d\boldsymbol{W}{up}\in\mathbb{R}^{m\times d}Wup∈Rm×d,其中瓶颈维度 m≪dm\ll dm≪d。适配器模块输出:

hadapter=h+Wupσ(Wdownh)\boldsymbol{h}{adapter}=\boldsymbol{h}+\boldsymbol{W}{up}\sigma(\boldsymbol{W}_{down}\boldsymbol{h})hadapter=h+Wupσ(Wdownh)

适配器以残差连接的形式嵌入原有网络。每个下游任务可以独立训练一套适配器参数,主干模型权重保持不变。推理时可根据任务需求动态加载、切换对应的适配器模块,天然具备模块化、多任务插拔部署能力。适配器子网络属于推理链路的一部分,无法合并进主干权重,每一次前向推理均需要执行适配器内部运算,因此会带来恒定的推理时延开销。

1.3.4 试用场景
  • 数据量少(<1k条) → 优先使用 P-Tuning 或 Prompt Tuning
  • 性能要求高、资源充足 → 选择 LoRA,平衡效果与部署成本
  • 需模块化升级、多任务切换 → 使用 Adapter,支持热插拔
  • 特定领域知识注入(如法律、医疗) → LoRA + RAG 联合使用
  • 低延迟服务场景 → 避免 Adapter,优先 LoRA 或 P-Tuning
相关推荐
zww894911140 分钟前
本地AI智慧电商平台定制开发实战:从架构到落地指南
人工智能
CODER030443 分钟前
本地部署语音识别框架FunAudioLLM——Fun-ASR-Nano-2512模型
人工智能·conda·语音识别·audiolm
浪兎兎43 分钟前
【深度学习】(五)参数调优策略
人工智能·深度学习
github_czy1 小时前
tf-idf讲解
大数据·人工智能·microsoft
AI小码1 小时前
如何让AI帮你构建项目?七级方法
人工智能·算法·计算机·ai·程序员·大模型·编程
甲维斯1 小时前
OpenCode问题,让Kimi K3 也测一波吧!
人工智能
sanjiaomao3331 小时前
从输入到校验:设计一个可复核的论文写作任务工作流
人工智能
阿甘编程点滴1 小时前
AI配音软件技术评测|底层架构与功能能力对比
人工智能·架构
liuyunshengsir1 小时前
在海光 DCU 上部署 Wan2.1:打造一套可落地的 AI 短剧生产流水线
人工智能·大模型·dcu