前言
在通用大模型的基础上,针对特定垂直领域或任务进行优化,通常需要用到模型微调(Fine-tuning)的能力。虽然 Prompt Engineering(提示词工程)和 Few-shot Learning(少样本学习)已成为主流范式,但在数据量大、任务复杂或对响应格式有严格要求的场景下,微调依然是提升模型效果的关键手段。
本文将从理论出发,解析全量微调与高效微调的区别,并深入探讨 PEFT 技术细节及实操流程。
大模型微调的方法论
对于大语言模型(LLM),微调主要有两种路径:
- 全量微调 (Full Fine Tuning, FFT):直接对预训练模型的所有参数进行更新。
- 高效微调 (Parameter-Efficient Fine Tuning, PEFT):冻结大部分预训练参数,仅更新少量新增参数或部分参数。
全量微调 (FFT)
FFT 类似于传统深度学习中的微调模式。它在预先训练好的模型权重基础上,使用特定领域的标注数据进行反向传播,调整所有层的参数。
- 特点:需要完整的模型权重副本,显存占用高,训练时间长。
- 结果:每进行一次微调,就会生成一个独立的模型文件。
- 适用场景:拥有充足算力资源,且需要模型深度适应特定领域分布的情况。
高效微调 (PEFT)
PEFT 旨在通过最小化微调参数的数量和计算复杂度,提高预训练模型在新任务上的性能,同时缓解大型预训练模型的训练成本。
PEFT 解决的问题
- 硬件限制:消费级显卡难以支撑全参数微调的显存需求。
- 灾难性遗忘:全参数微调可能导致模型丢失原有的通用能力。
- 部署维护:全量微调产生多个大模型文件,存储和分发成本高。
PEFT 的核心思路
冻结基座模型的大部分参数,仅引入少量可训练参数(如 Adapter 层、前缀向量等),使模型获得下游任务性能。
常用 PEFT 方法
-
Prompt Tuning
- 原理:在输入文本序列前添加可学习的连续向量(Soft Prompts),引导模型生成期望输出。
- 实现:不改变模型权重 W,仅在输入 X 前增加特殊 Token 向量,影响 Y = WX 的概率分布。
-
Prefix Tuning
- 原理:在 Transformer 的 Encoder 和 Decoder 的每一层中注入特定的前缀向量。
- 实现:将权重矩阵 W 扩展为 [Wp; W],其中 Wp 是可训练的前缀部分,推理时拼接输入。
-
LoRA (Low-Rank Adaptation)
- 原理:假设模型权重的更新具有低秩特性。通过冻结原始权重 W,并行训练两个低秩矩阵 A 和 B,使得 W' = W + BA。
- 优势:参数量极少,训练速度快,推理时无额外延迟,是目前工业界最常用的 PEFT 方案。
-
Adapter Tuning
- 原理:在 Transformer 的残差连接之间插入小型的全连接网络模块(Adapter),仅训练这些模块的参数。
基于 OpenAI API 的微调实操
OpenAI 提供的微调服务简化了流程,其核心思想是完善 Few-shot Learning。一旦模型经过微调,就不需要在 Prompt 中提供大量示例,从而降低成本并降低延迟。


