Fine-tuning (deep learning) — 微调

From Systems analysis wiki
Jump to navigation Jump to search

微调(Fine-tuning),也称精调,是机器学习中的一种迁移学习方法。通过该方法,一个预训练模型(pre-trained model)的参数会被调整以适应新的、特定的任务。微调无需从头开始训练模型(这需要大量数据和计算资源),而是利用模型权重中已编码的知识,并根据具体需求对其进行“调整”。

这种方法已成为深度学习领域的标准实践,尤其是在处理大型语言模型(LLM)和计算机视觉模型时。

概念

微调过程可分为两个主要阶段:

  1. 预训练 (Pre-training): 模型(如BERT或GPT)在一个非常庞大和通用的数据集(如整个互联网)上,通过自监督任务(如预测下一个词)进行训练。在这一阶段,模型学习通用的规律、语法、语义和世界知识。
  2. 微调 (Fine-tuning): 以预训练模型为基础,在一个较小的、针对目标任务的标注数据集上对其权重进行调整。

其核心思想在于,预训练阶段获得的知识是通用的,可以成功迁移用于解决许多其他更具体的任务。

微调过程

典型的微调过程包括以下步骤:

  1. 选择预训练模型: 选择一个基础能力适合目标任务的模型(例如,用于文本理解任务的BERT,或用于生成任务的GPT)。
  2. 调整架构: 在预训练模型之上添加一个新的、针对目标任务的“头”层(head)。例如:
  • 对于文本分类,添加一个带有softmax函数的简单全连接层。
  • 对于命名实体识别 (NER),在每个令牌(token)的输出上添加一个分类器。
  1. 在目标数据集上训练: 在新的标注数据集上训练整个模型(或其一部分)。在此阶段,通过梯度下降法更新模型的权重(包括预训练层的权重),以最小化新任务上的损失函数。
  2. 使用较低的学习率: 微调时通常使用比预训练时低得多的学习率。这是为了避免“破坏”模型权重中已编码的有用知识,而只是对其进行精细调整。

微调的类型

Full Fine-tuning - 全量微调

  • 原理: 更新预训练模型的所有参数以及新添加的“头”层。
  • 优点: 由于整个模型都针对新任务进行了调整,因此可能实现最佳性能。
  • 缺点: 需要大量的计算资源和内存,因为必须存储和更新所有参数的梯度。存在灾难性遗忘的风险,即模型“忘记”在预训练期间学到的通用知识。

Parameter-Efficient Fine-Tuning (PEFT) - 参数高效微调

这是一类旨在降低微调计算成本的方法。其核心思想是冻结预训练模型的大部分参数,只训练少量新增或选定的现有参数。

  • PEFT方法示例:
    • 适配器 (Adapters): 在Transformer架构中插入小型的额外适配器层,并且只训练这些层。
    • LoRA (Low-Rank Adaptation): LoRA不更新完整的权重矩阵,而是训练其低秩更新。这可以将可训练参数的数量减少数千倍。
    • 提示词微调 (Prompt Tuning): 在输入数据中添加可训练的“提示词”向量,通过调整这些向量来解决任务,而模型本身保持冻结。
  • PEFT的优点:
    • 高效性: 显著降低了对内存和计算资源的需求。
    • 模块化: 可以轻松地将一个预训练模型应用于多个任务,只需为每个任务存储一小组适配的权重即可。

Instruction Tuning - 指令微调

这是一种特定类型的微调,旨在提高LLM遵循自然语言指令的能力。

  • 工作原理: 模型在一个由“指令-期望输出”对组成的数据集上进行微调。
  • 目标: 提高模型对新的、前所未见的、可以用指令描述的任务的泛化能力。像InstructGPT和FLAN-T5这样的模型是这种方法的典型例子。

参考文献

  • Howard, J.; Ruder, S. (2018). Universal Language Model Fine-tuning for Text Classification. arXiv:1801.06146.
  • Houlsby, N. et al. (2019). Parameter-Efficient Transfer Learning for NLP. arXiv:1902.00751.
  • Pfeiffer, J. et al. (2020). AdapterFusion: Non-Destructive Task Composition for Transfer Learning. arXiv:2005.00247.
  • Hu, E. J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
  • Lester, B.; Al-Rfou, R.; Constant, N. (2021). The Power of Scale for Parameter-Efficient Prompt Tuning. arXiv:2104.08691.
  • Ben Zaken, A.; Goldberg, Y.; Ravfogel, S. (2022). BitFit: Simple Parameter-Efficient Fine-Tuning for Transformer-based Masked Language-Models. ACL 2022.
  • Ouyang, L. et al. (2022). Training Language Models to Follow Instructions with Human Feedback. arXiv:2203.02155.
  • Han, Z. et al. (2024). Parameter-Efficient Fine-Tuning for Large Models: A Comprehensive Survey. arXiv:2403.14608.
  • Bian, J. et al. (2025). A Survey on Parameter-Efficient Fine-Tuning for Foundation Models in Federated Learning. arXiv:2504.21099.
  • Li, X. et al. (2025). Revisiting Fine-Tuning: A Survey of Parameter-Efficient Techniques and Future Directions. Preprints.org.

参见

  • 大型语言模型
  • BERT
  • GPT