3.5 微调实战
预计学习时间:160分钟
本节挂在第 3 章 · 后训练下。3.2 讲微调定义与 PEFT;这里动手:数据、框架、硬件与训练方法。
先讲故事
微调的直觉比「大模型」这个词更老:先在宽数据上学会一种通用表示,再在窄任务上改一层——或改全部。要讲清为什么现在人人都在谈 LoRA,得先讲清迁移学习怎样成为默认剧本,以及剧本在模型大到训不起时怎样被改写。
视觉十年:赛场上的预训练,赛场下的迁移
李飞飞搭起 ImageNet 之后,竞赛逼出一批越来越深的网络。何恺明等人的 ResNet 之后,一个很实务的习惯传遍工业界:在 ImageNet 上预训练,再把骨干迁到检测、分割、医疗影像。赛场服务的不只是分类榜单,也服务「通用特征可以搬家」这件事。人物图谱 · 李飞飞 · 时刻三
你在本章选 BERT 做文本分类,流程上就是同一句老话:通用初始化,任务数据改权重。
语言侧:预训练 + 微调写成 NLP 的主流
2018 前后,BERT、GPT 把「先预训练、再微调」写成自然语言处理的默认课表。Devlin 等人的 BERT 在理解任务上刷榜;OpenAI 的 GPT 一系把生成也拉进同一范式。实验室里,全量微调一个几亿参数的模型尚可承受——直到参数走到百亿、千亿。
训不起全量的时候:群像里的 PEFT
账单先堵住全参数更新。Neil Houlsby 等人的 Adapter 把可训练部分夹进层间;Edward J. Hu 等人的 LoRA(2021–2022)冻结原权重,只训低秩增量,推理还可合并回原模型;Tim Dettmers 等人的 QLoRA 把底座量化后再做低秩适配,让单卡也能碰更大的模型。群像突破
这些名字很少上大众封面,却决定了「中小团队能不能做微调实战」。后训练章里的 SFT 与对齐,和本章是同一条河的两岸:一边讲为什么要对齐、要指令微调;一边动手准备数据、选框架、看验证集。
Hugging Face:工具层怎样把故事变成可复现
Thomas Wolf 等人推动的 Transformers 生态,让「下载一个预训练检查点、挂上分类头、跑通 Trainer」变成可抄的路径。本章实战会走这条路——不是因为历史只有这一条,而是因为它把上面三十年的迁移直觉,收成了你今晚能跑的命令。
读完故事再进本章
下面从数据、框架、硬件与训练方法进入实操。改每一层参数时,记得:肩上是某张赛场、某次预训练、某篇 PEFT 论文。
微调(Fine-tuning)是在预训练模型基础上,针对特定任务或领域优化模型参数的过程。预训练模型(如BERT、ResNet)在大规模通用数据上学习到通用特征,但面对下游任务(如文本分类、图像识别)时,需通过微调适应目标任务的数据分布和性能要求。
基本概念
- 定义:微调是将预训练好的模型参数针对特定任务进行调整的过程,充分利用预训练阶段学习到的通用知识。
- 核心思想:复用预训练模型的通用特征,通过目标任务数据更新部分或全部参数,减少训练时间和数据需求,提升特定任务性能。
- 与预训练模型的关系:预训练模型提供初始化权重,微调是"从通用到专用"的适配过程,二者结合实现"预训练+微调"的高效建模范式。
微调流程
- 数据准备:清洗、预处理目标任务数据(如文本分词、图像归一化),必要时进行数据增强(如文本增广、图像旋转),确保数据质量与多样性。
- 模型选择:根据任务类型(NLP/CV/多模态)、数据规模和计算资源,选择合适的预训练模型(如NLP选BERT、CV选ResNet),关注模型架构、预训练数据集和参数规模。
- 训练配置:设置学习率、批次大小、训练轮数等参数,选择优化器(如Adam)和损失函数(如交叉熵),定义评估指标(准确率、F1值);可冻结部分参数(如预训练词嵌入层)以提高训练效率。
- 训练过程:通过反向传播更新模型参数,监控训练损失和评估指标,调整参数避免过拟合/欠拟合。
- 模型评估:在验证集和测试集上验证性能,若未达预期,调整数据、模型或训练参数后重新微调。
.png)
本章内容
本章将介绍微调的基础知识、主流工具与平台,并通过实战案例讲解如何使用Hugging Face生态系统对BERT模型进行微调,实现文本分类任务。我们将详细讲解:
- 各种微调工具的特点与适用场景
- 实战案例:情感分析任务的全流程实现
- 常见问题与优化技巧
微调虽然能够显著提升模型在特定任务上的表现,但也需注意避免过拟合,特别是在训练数据有限的情况下。
在下一节中,我们将首先介绍微调所需的数据准备工作。