Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Fine-tuning

微调会在特定任务的数据上继续训练预训练模型,使模型用少得多的数据和计算资源适应任务。涵盖工作原理、PEFT 和代码。

微调是指继续训练一个已在大型数据集上训练过的模型,在规模较小、针对特定任务的数据集上更新部分或全部权重。预训练模型的权重已经编码了一般知识,例如视觉模型中的边缘、纹理和形状,或大语言模型(LLMs)中的语法和事实,因此与从随机权重开始训练相比,微调只需少得多的标注数据和计算资源,就能达到较高准确率。微调是最常见的迁移学习方法,也是大多数自定义目标检测模型和聊天助手基于预训练基础模型构建的方式。

微调的工作原理#

微调时,运行会加载预训练权重,替换或调整与原任务相关的层(例如分类器或检测头),然后使用常见的损失函数和优化器在新数据上训练。以下三个选择决定原模型能保留多少:

  • 学习率:微调使用的学习率低于预训练阶段,通常会先进行短暂的预热,这样更新就能细化预训练特征,而不是将其覆盖。ULMFiT 进一步采用了判别式学习率:顶层以下的每一层,学习率都降低为上一层的 1/2.6。
  • 训练哪些层:冻结骨干网络的早期层,可以保持通用特征不变、减少内存使用,并降低小型数据集上过拟合的风险。渐进式解冻会先训练新的头部,然后再逐步解冻更深的层。
  • 训练时长:模型仅使用新数据训练的时间越长,就越可能因灾难性遗忘而丢失原有能力。

合适的配置取决于可用内存、标注数据量,以及是否仍需保留原有能力:

全量微调与参数高效微调#

全量微调会更新所有权重。对于一个拥有 70 亿参数的 LLM,这意味着要为 70 亿个值保存梯度和优化器状态,并为每个任务保存一份完整的模型副本。参数高效微调(PEFT)会冻结预训练权重,改为训练少量新增或选定的参数;Hugging Face 的 PEFT 库实现了常见方法。LoRA会在冻结的权重矩阵旁添加可训练的低秩矩阵。与使用 Adam 对 GPT-3 175B 进行全量微调相比,LoRA 将可训练参数减少了 10,000 倍,并将 GPU 内存用量减少了 3 倍。QLoRA在经过 4 位量化的基础模型上训练 LoRA 适配器,使得在单个 48 GB GPU 上微调一个 650 亿参数的模型成为可能。

预训练之后,LLM 会经历多个微调阶段。指令微调使用提示和响应配对数据进行训练;随后,基于人类反馈的强化学习(RLHF)和直接偏好优化(DPO)等基于偏好的方法会进一步使响应符合人类偏好。

  • 迁移学习:将针对一个任务训练的模型复用于另一任务这一更广泛的理念。微调会更新预训练权重,而特征提取会冻结这些权重,只训练新的头部。
  • 从头开始训练:从随机权重开始,需要多得多的标注数据和计算资源。对于新架构,以及与现有任何预训练数据都相差甚远的领域,这种方法很适用。
  • 线性探测:只在冻结的特征上训练线性分类器,通常用于衡量预训练表示已经具备多少信息。
  • 提示工程和检索增强生成(RAG):通过改变 LLM 的输入来改变其行为,不触碰模型权重。

微调目标检测器#

在预训练的 YOLO26 检查点上使用新数据集调用 train(),就能对模型进行微调:所有兼容权重都会迁移,默认的 cls_remap=True 会复制类别名称匹配的分类器行。因此,在非洲野生动物数据集上,大象和斑马类别的输出会从 COCO 预训练对应的行开始,而 COCO 中没有的水牛和犀牛类别则会从头开始。

from ultralytics import YOLO

# 加载 COCO 预训练的 YOLO26n 权重;而 YOLO("yolo26n.yaml") 会从头开始训练
model = YOLO("yolo26n.pt")

# 在 1,052 张包含水牛、大象、犀牛和斑马的训练图像上进行微调
results = model.train(data="african-wildlife.yaml", epochs=30, imgsz=640)

对于这次 30 轮训练,默认的 optimizer="auto" 会选择 AdamW 和 lr0=0.00125;该学习率根据数据集的 4 个类别计算得出,因为本次训练的迭代次数少于 10,000。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来