1.训练阶段划分、数据类型与PEFT参数高效微调体系

52 阅读9分钟

大模型微调:训练阶段划分、数据类型与PEFT参数高效微调体系

【核心主旨】:严格遵循清晰树状层级,确立“全量微调 vs 局部微调”的一级切分,将局部微调拆解为“传统物理冻结微调”与“现代 PEFT 系列方案”,并按工业落地演进顺序平铺展开,消除多层套娃与认知混淆。


一、 训练阶段与数据范式

  • 一句话结论:预训练是“通读群书学常识”(自监督),微调是“按题型学规矩作答”(有监督对齐)。

1. 生命周期三步走

  • 阶段一:自监督预训练(Pre-training)
    • 在海量无标注纯文本上进行自回归(Next Token Prediction)或掩码建模(Masked LM),掌握语法规则与世界常识,但模型仅具备单向续写能力。
  • 阶段二:有监督微调(SFT, Supervised Fine-Tuning)
    • 使用高质量问答数据引导模型,让模型理解任务意图,学会“按人类指令输出答案”。
  • 阶段三:人类偏好对齐(RLHF / DPO)
    • 引入人类偏好奖励机制,确保输出符合安全性、真实性与建设性规范。

2. 数据组织范式:非指令式 vs 指令式

维度非指令式微调(Vanilla SFT / Task-specific)指令微调(Instruction Tuning)
数据格式Input -> OutputInstruction + Input -> Output
典型示例输入一段文本,直接输出类别标签指令: 提取下列文本中的公司名称 \n 输入: 苹果发布了新手机 \n 输出: 苹果
模型表现仅死记硬背特定输入与输出的映射通道模型学会理解“元任务指令”,掌握通用意图解析
泛化能力极弱,换一种提问方式或跨任务即失效极强,具备强大的零样本跨任务泛化(Zero-shot)能力

二、 参数更新维度:全量微调 vs 局部微调

参数层面的更新方式,在工程实践中分为两大根本路径:

参数微调大分类
├── 1. 全量参数微调 (FFT)
└── 2. 局部参数微调 (Partial Fine-Tuning)
     ├── 2.1 传统局部微调 (物理层冻结)
     └── 2.2 现代参数高效微调 (PEFT)

1. 全量参数微调(FFT, Full Fine-Tuning)

  • 核心机制:解冻网络中所有的权重矩阵(Weights)与偏置项(Biases),在训练过程中计算并更新全部参数的梯度。
  • 痛点与局限:
    • 显存开销极大:需要同时存储模型参数、梯度、AdamW 优化器动量与方差状态(通常为模型本体体积的 46 倍)。以 7B 模型(FP16 约 14GB)为例,全量微调显存门槛高达 70GB80GB,消费级单卡无法承载,必须依赖多卡分布式集群(DeepSpeed ZeRO-3 / FSDP)。
    • 灾难性遗忘风险:大幅度调整原有全部权重,容易冲刷掉基座原本积累的常识与代码逻辑。

2. 局部参数微调(Partial Fine-Tuning)

  • 核心机制:保持模型主体大部分结构与权重不变,仅选取极少部分参数进行训练更新。
2.1 传统局部微调(物理层冻结方案)

主要流行于 CNN(ResNet、VGG)以及判别式 Transformer(BERT、RoBERTa)时期:

  • (1) 冻结特征提取骨干,仅微调最终输出层:
    • 机制:将所有前置卷积层或 Transformer 编码器全部冻结设为不可导,仅替换并重新训练最后的线性分类头(Linear Head)。
    • 评价:适合结构简单的判别分类任务,但在长文本生成、多轮对话与复杂推理的大语言模型上完全不适用。
  • (2) 冻结前几层(浅层),仅微调深层:
    • 机制:认为浅层学习的是通用基础特征,深层包含任务专有高级语义,因此只解冻靠近输出端的后几层网络。
    • 评价:大模型深层依然有数十亿参数,显存开销依然沉重,且层与层之间耦合严重,微调效果不稳定。

2.2 现代参数高效微调(PEFT 系列技术)

大模型时代的标准微调范式:彻底冻结基座模型的全部原始权重,通过旁路分支、外挂微模块或局部偏置,仅更新 0.01%~1% 的外置参数,实现近似全量微调的效果。

以下按技术演进与工业界实用优先级顺排展开:

1. LoRA(Low-Rank Adaptation,低秩自适应)
  • 底层原理:认为权重在适应特定任务时的内在维度其实很低。将权重更新量 ΔW∈Rd×k\Delta W \in \mathbb{R}^{d \times k} 分解为两个低秩小矩阵相乘:ΔW=A⋅B\Delta W = A \cdot B,其中秩 r≪min⁡(d,k)r \ll \min(d, k)(通常取 8、16、32)。
  • 计算流向:h=W0x+αr(A⋅B)xh = W_0 x + \frac{\alpha}{r} (A \cdot B) x。
  • 优势:基座 W0W_0 保持冻结;训练时只更新小矩阵 AA 和 BB;部署时可将 A⋅BA \cdot B 直接加回基座权重,完全不增加推理延迟。
2. QLoRA(Quantized Low-Rank Adaptation,量化低秩微调)
  • 底层原理:在 LoRA 的基础上将基座模型压缩至极限。
  • 三大核心机制:
    1. 4-bit NormalFloat (NF4):针对正态分布权重的高保真 4-bit 量化。
    2. 双重量化(Double Quantization):对量化常数再次量化,每参数额外节省 0.37 bit。
    3. 分页优化器(Paged Optimizers):利用 CUDA 统一内存,在显存瞬间峰值时将优化器状态自动调度到内存,彻底避免 OOM。
  • 优势:消费级单卡(如 24GB RTX 3090/4090)即可微调 65B/70B 级别的大模型。
3. DoRA(Weight-Decomposed Low-Rank Adaptation,权重解耦低秩微调)
  • 底层原理:将权重矩阵解耦为“大小标量(Magnitude)”和“方向矩阵(Direction)”。
  • 核心突破:传统 LoRA 会将大小和方向绑定,微调能力受限;DoRA 对方向使用 LoRA 更新,对大小单独微调,在参数量几乎不变的前提下,效果全面反超传统 LoRA,无限逼近全量微调。
4. Adapter(适配器层)
  • 底层原理:在 Transformer 的自注意力(Self-Attention)和前馈网络(FFN)之后插入串联或并联的瓶颈(Bottleneck)微型结构(降维投影 ➡️ 激活函数 ➡️ 升维投影 ➡️ 残差直连)。
  • 优缺点:参数量仅占原模型的 0.5%~1%,但因为增加了网络深度,推理时无法权重合并,会带来显著的推理耗时增加。
5. BitFit
  • 底层原理:将网络中所有的投影权重矩阵全部冻结,只训练网络中所有神经元的偏置项(Bias vectors)。
  • 优缺点:可训练参数量不足总参数的 0.1%,显存占用极小;在小型分类任务上表现良好,但在大模型复杂生成任务中表达能力受限。
6. (IA)3(IA)^3(激活值缩放微调)
  • 底层原理:不增加低秩矩阵,而是引入可以学习的缩放向量(Scaling Vectors),通过点乘方式直接对 Attention 的 Key、Value 以及 FFN 的中间激活值进行动态缩放。
  • 优缺点:参数量少于 LoRA 的百分之一;推理时缩放系数可直接融合入权重,无推理延迟。
7. Prefix Tuning(前缀微调)
  • 底层原理:冻结模型全部参数,在 Transformer 每一层注意力计算的 Key 和 Value 前面拼接一段可学习的虚拟前缀向量序列(Prefix Tokens)。
  • 优缺点:表达能力强于单纯的输入层微调,但会挤占部分实际文本的上下文窗口(Context Length)。
8. Prompt Tuning(提示词软微调)
  • 底层原理:仅在输入端的 Embedding 序列最前方拼接几个可学习的虚拟 Token 向量,整个 Transformer 内部所有结构完全冻结。
  • 优缺点:实现最简单,但在 10B 以下的小模型上收敛极慢且效果较差,只在超大模型上具备一定可用性。

三、 全景微调方案参数与工程对比表

微调方法归属分类核心更新对象可训练参数量推理延迟显存需求典型适用场景
全量微调 (FFT)全量更新全部权重与偏置100%无额外延迟极高(需集群)领域全新语言注入、基础知识全面重构
传统冻结分类头传统局部顶层分类输出层< 0.1%无额外延迟极低传统 CNN 图像分类、BERT 判别式任务
LoRA现代 PEFT旁路低秩矩阵 A×BA \times B0.01%~1%无(推理可合并)中等(单卡 24G 跑 7B/13B)工业界落地最通用、综合收益最高的首选方案
QLoRA现代 PEFT4-bit 权重 + 旁路 LoRA0.01%~1%无(推理可合并)极低(单卡 24G 跑 70B)算力受限下低成本微调超大参数模型
DoRA现代 PEFT解耦幅度与方向的 LoRA0.01%~1%无(推理可合并)与 LoRA 相当对微调精度与性能上限要求严苛的场景
Adapter现代 PEFT串联/并联瓶颈微模块0.5%~3%有延迟(无法合并)较低多任务插件化热插拔切换
BitFit现代 PEFT仅偏置项 (Bias)< 0.1%无(直接写入偏置)极低小型判别分类、样本极其受限场景
(IA)3(IA)^3现代 PEFT激活值缩放向量< 0.01%无(推理可融合)极低极小样本微调、超低算力调优
Prefix Tuning现代 PEFT每层 Attention 的 K/V 前缀0.1%~1%无(但挤占输入长度)较低风格控制、特定结构生成引导
Prompt Tuning现代 PEFT输入层拼接虚拟 Token< 0.01%无(但挤占输入长度)极低超大参数模型(10B+)轻量级适配

四、 全景架构与知识演进图

image.png


五、 核心细节与避坑指南

  • 细节 1:LoRA 秩(Rank)设置并非越大越好
    • 在大部分垂直微调任务中,r=8r=8 到 r=32r=32 并配置缩放因子 α=2×r\alpha = 2 \times r 即可收敛到最佳效果。盲目加大秩不仅耗尽显存,还会显著增加过拟合风险。
  • 细节 2:LoRA Target Modules 的覆盖范围决定能力上限
    • 不要只微调注意力层的 q_proj, v_proj。在 LLaMA 或 Qwen 架构上,建议将所有投影层(包括 FFN 中的 gate_proj, up_proj, down_proj)全量挂载 LoRA,性能更逼近全量微调。
  • 细节 3:QLoRA 属于典型的“以时间换空间”
    • QLoRA 显著降低了显存门槛,但由于反向传播时需要频繁进行 4-bit 到 16-bit 的动态反量化计算,其整体训练时间一般比标准 FP16 的 LoRA 慢 30%~50%。
  • 细节 4:指令微调(SFT)必须掩码 Prompt 的 Loss
    • 在计算交叉熵损失时,切勿对指令(Instruction)和输入(Input)部分计算梯度,必须通过 Label Masking(将 Prompt 区域 token 标签置为 -100),保证模型仅对输出答案(Output)进行梯度反向传播。

六、 终极决策速记心法

“全量局部两分立,传统现代两代移;CNN 冻层难适大,低秩旁路占先机;常用落地首选 LoRA,极限显存看 QLoRA,追求极致配 DoRA。”