一文讲清楚【AI大模型微调】十种微调方式的核心原理

时间:2025-05-07 10:45:02 来源:淘折扣  阅读:(7) 收藏
转载:

定义:更新模型所有参数,使其完全适应新任务。目标:最大化模型在特定任务上的性能,但计算成本高。 数据准备:收集与任务相关的标注数据集。

1. 全量微调(Full Fine-tuning)

一文讲清楚【AI大模型微调】十种微调方式的核心原理

核心原理

  • 定义:更新模型所有参数,使其完全适应新任务。
  • 目标:最大化模型在特定任务上的性能,但计算成本高。
  • 适用场景:任务与预训练目标差异大(如从语言生成转向文本分类)。

微调步骤

1. 数据准备

收集与任务相关的标注数据集。预处理:清洗、分词、编码(如tokenization)。

2. 模型加载

加载预训练模型(如BERT、GPT)及其权重。

3. 参数配置

设置超参数:学习率(如1e-5)、批大小(batch size)、训练轮次(epochs)。

4. 微调训练

使用标注数据进行端到端训练。

优化器(如AdamW)最小化任务损失(如交叉熵损失)。

5. 评估与调优

在验证集上评估性能(如准确率、F1-score)。

调整超参数(如学习率衰减、早停策略)。

6. 部署

保存最优模型,用于推理。


2. 冻结层微调(Frozen Layers Fine-tuning)

一文讲清楚【AI大模型微调】十种微调方式的核心原理

核心原理

  • 定义:仅更新模型顶层参数,冻结底层参数。
  • 目标:保留预训练底层特征,减少过拟合风险。
  • 适用场景:任务与预训练任务相似(如文本分类与语言模型预训练)。

微调步骤

1. 模型加载

加载预训练模型,冻结底层(如前几层Transformer层)。

2. 添加新层

在顶层添加任务专用层(如全连接层、分类头)。

3. 参数配置

设置学习率(通常比全量微调低)。

4. 训练

仅优化顶层参数,底层参数保持不变。

5. 评估与调优

监控验证集性能,调整顶层结构或学习率。


3. LoRA(Low-Rank Adaptation)

一文讲清楚【AI大模型微调】十种微调方式的核心原理

核心原理

  • 定义:通过低秩分解模拟参数变化,仅更新少量低秩矩阵。
  • 数学原理:参数更新公式为 Wnew=Wbase+ΔWWnew=Wbase+ΔW,其中 ΔW=A⋅BΔW=AB,AA 和 BB 是低秩矩阵。
  • 目标:在保持模型性能的同时,减少参数更新量。

微调步骤

1. 选择权重矩阵

选择关键层(如Transformer的注意力层、前馈层)的权重矩阵 WW

2. 初始化低秩矩阵

定义低秩秩数 rr(如r=8)。

初始化低秩矩阵 A∈Rd×rA∈Rd×r 和 B∈Rr×dB∈Rr×d

3. 计算低秩更新

计算 ΔW=A⋅BΔW=AB

4. 结合原始权重

更新后的权重为 Wnew=Wbase+ΔWWnew=Wbase+ΔW

5. 训练

仅优化 AA 和 BB,冻结原始权重 WbaseWbase。

6. 评估

测试微调后的模型性能。


4. Prefix Tuning(前缀微调)

一文讲清楚【AI大模型微调】十种微调方式的核心原理

核心原理

  • 定义:引入任务特定的前缀向量,与输入拼接后输入模型。
  • 目标:通过前缀引导模型生成,减少参数更新量。
  • 变体:P-tuning v2 使用离散词嵌入表示前缀。

微调步骤

1. 生成前缀向量

定义固定长度的前缀(如100个词元)。

初始化前缀向量 P∈RL×dP∈RL×d(LL为长度,dd为隐藏维度)。

2. 拼接输入

将前缀 PP 与输入序列 XX 拼接:[P;X][P;X]。

3. 训练

仅优化前缀参数 PP,冻结模型其他参数。

4. 推理

使用优化后的前缀生成任务相关输出。


5. RLHF(人类反馈强化学习)

一文讲清楚【AI大模型微调】十种微调方式的核心原理

核心原理

  • 定义:结合监督微调(SFT)和强化学习,通过人类偏好优化模型输出。
  • 目标:使模型输出符合人类价值观(如对话系统、内容生成)。

微调步骤

1. 监督微调(SFT)阶段

使用标注数据(输入-输出对)训练模型。

2. 奖励模型(Reward Model)训练

收集人类偏好数据(如“输出A比输出B更好”)。训练奖励模型,预测输出质量。

3. 强化学习(RL)阶段

使用策略梯度方法最大化奖励模型的评分。

4. 迭代优化

重复SFT和RL阶段,逐步提升模型输出质量。


6. Adapter(适配器微调)

一文讲清楚【AI大模型微调】十种微调方式的核心原理

核心原理

  • 定义:在模型层间插入轻量级适配器模块。
  • 结构:典型适配器包含两个全连接层(瓶颈结构),如 x→Linear1→ReLU→Linear2x→Linear1→ReLU→Linear2。
  • 目标:通过适配器学习任务特定特征。

微调步骤

1. 插入适配器

在每层的注意力层和前馈层后插入适配器。

2. 初始化适配器参数

随机初始化适配器权重。

3. 训练

仅优化适配器参数,冻结模型其他参数。

4. 合并输出

适配器输出与原始层输出相加(残差连接)。


7. QLoRA(量化+LoRA)

一文讲清楚【AI大模型微调】十种微调方式的核心原理

核心原理

  • 定义:结合模型量化(如4-bit量化)和LoRA,降低显存和计算成本。
  • 目标:在边缘设备部署超大规模模型。

微调步骤

1. 模型量化

使用量化工具(如LLM.Q、Hugging Face的bitsandbytes)将模型权重压缩为4-bit。

2. LoRA插入

在量化模型中插入低秩矩阵 AA 和 BB

3. 训练

仅优化低秩矩阵,冻结量化后的原始权重。

4. 推理加速

量化后的模型在推理时占用更少显存。


8. UPFT(无监督前缀微调)

一文讲清楚【AI大模型微调】十种微调方式的核心原理

核心原理

  • 定义:通过初始词元(前缀)引导推理,无需标注数据。
  • 目标:利用“前缀自洽性”减少对标注数据的依赖。

微调步骤

1. 设计前缀:

选择与任务相关的初始词元(如“解决数学问题:”)。

2. 生成约束:

限制模型仅生成前缀后的词元,确保输出格式正确。

3. 无监督训练:

通过最大化前缀与后续生成内容的连贯性优化模型。

4. 推理:

使用优化后的前缀生成任务相关输出。


9. 量化微调(Quantization-aware Fine-tuning)

一文讲清楚【AI大模型微调】十种微调方式的核心原理

核心原理

  • 定义:在量化过程中保留模型性能,通过微调优化低精度模型。
  • 目标:平衡精度与资源消耗。

微调步骤

1. 模型量化

使用工具(如TensorRT、DeepSpeed)将模型量化为低精度(如FP16、INT8)。

2. 微调配置

设置量化感知训练参数(如动态范围调整)。

3. 训练

在量化模型上进行微调,优化低精度参数。

4. 部署

量化后的模型在边缘设备上运行更快。


10. Hugging Face PEFT 工具库

一文讲清楚【AI大模型微调】十种微调方式的核心原理

核心原理

  • 定义:集成多种参数高效微调方法(如LoRA、Adapter、Prefix Tuning)。
  • 目标:提供统一接口简化微调流程。

微调步骤(以LoRA为例)

1. 安装PEFT库

pip install transformers peft

2. 配置模型与适配器

from peft import LoraConfig, get_peft_model
model = AutoModel.from_pretrained("bert-base-uncased")
lora_config = LoraConfig(
    r=8,  # 低秩秩数
    lora_alpha=16,
    target_modules=["query", "key", "value"],
    lora_dropout=0.1,
)
model = get_peft_model(model, lora_config)

3. 训练循环

from transformers import Trainer, TrainingArguments
training_args = TrainingArguments(
    output_dir="./results",
    learning_rate=1e-3,
    per_device_train_batch_size=4,
    num_train_epochs=3,
)
trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=train_dataset,
    eval_dataset=val_dataset,
)
trainer.train()

总结对比表

方法

核心原理

参数更新量

典型步骤

适用场景

全量微调

更新所有参数

100%

加载模型→端到端训练→调参

任务差异大,资源充足

冻结层微调

仅更新顶层

<10%

冻结底层→添加新层→训练

任务相似,数据有限

LoRA

低秩分解参数

<5%

插入低秩矩阵→优化

大模型轻量化

Prefix Tuning

前缀向量引导

极低

生成前缀→拼接输入→优化

快速任务切换

RLHF

人类反馈强化学习

可选

SFT→奖励模型→强化学习→迭代

符合人类价值观的任务

Adapter

插入适配器模块

<10%

插入适配器→训练

领域适配

QLoRA

量化+低秩

<5%

量化→LoRA微调

边缘设备部署

UPFT

无监督前缀引导

极低

设计前缀→无监督训练

推理任务,无标注数据

量化微调

量化感知训练

低精度

量化→微调

资源受限环境

Hugging Face PEFT

统一接口集成多种方法

视方法而定

选择方法→配置→训练

标签:

热门排行

猜你喜欢

热门标签

扫描二维码打开

周一至周六

9:00-22:00                  

淘折扣  滇ICP备2023000592号-3  滇公网安备53230102000530号   统一社会信用代码:91532300MAC2D0R706 Copyright © 2010 - 2025 https://www.bgaw.cn/ All Rights Reserved