术语表

参数效率微调(PEFT)

探索参数高效微调(PEFT),以最少的资源调整大型人工智能模型。节约成本、防止过度拟合并优化部署!

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

参数高效微调(PEFT)描述了机器学习(ML)中使用的一系列技术,用于调整大型预训练模型(如基础模型)以适应特定的下游任务,而无需更新模型的所有参数。相反,PEFT 方法只专注于修改一小部分参数或添加少量新参数。这种方法大大降低了与微调大型模型(如大型语言模型(LLM)计算机视觉(CV)中使用的大型视觉模型)相关的计算和存储成本,使定制变得更加方便和高效。

相关性和益处

超大型预训练模型(通常包含数十亿个参数)的兴起使得传统的微调方法成为资源密集型方法。对此类模型进行全面微调需要强大的计算能力(通常需要多个高端GPU)、大量内存以及每个调整后模型的可观存储空间。PEFT 通过提供几个关键优势来应对这些挑战:

  • 降低计算成本:只训练一小部分参数所需的计算能力和时间大大减少,从而可以更快地进行迭代和实验,有可能使用Ultralytics HUB 云训练等平台。
  • 更低的内存要求:更少的活动参数意味着在训练和推理过程中所需的内存更少,因此可以在消费级硬件或边缘设备上对大型模型进行微调。
  • 更小的存储空间:PEFT 不需要为每个任务保存微调模型的完整副本,通常只需要保存一小部分修改或添加的参数,从而大大节省了存储空间。
  • 减少过拟合:通过限制可训练参数的数量,PEFT 可以降低过度拟合的风险,尤其是在较小的数据集上进行微调时。
  • 防止灾难性遗忘:PEFT 方法通过冻结大部分基础模型参数,有助于保留预培训期间学到的一般知识,克服灾难性遗忘,即模型在学习新任务时失去以前的能力。
  • 高效的模型部署:任务特定参数的较小尺寸使模型部署更简单,尤其是在边缘人工智能等资源受限的环境中。

关键概念和技术

PEFT 建立在迁移学习概念的基础上,即把基础模型中的知识应用到新任务中。标准微调会调整许多(或所有)层,而 PEFT 则采用专门的方法。一些流行的 PEFT 技术包括

  • 适配器插入预训练模型层之间的小型神经网络模块。在微调过程中,只对这些适配器模块的参数进行训练,而原始模型的权重则保持不变。
  • LoRA(低秩自适应)这种技术将可训练的低秩矩阵注入大型模型的各层(通常是转换器层)。它假定适应模型所需的变化具有较低的 "内在秩",并且可以有效地表示出来。详情请阅读LoRA 研究论文原文。
  • 前缀调谐在输入中预置一串连续的、特定任务向量(前缀),同时冻结基础 LLM 参数。只学习前缀参数。
  • 提示调整与前缀调整类似,但通过在输入序列中添加可训练的 "软提示"(嵌入)来简化前缀调整,并直接通过反向传播进行优化。

Hugging Face PEFT 库等库提供了各种 PEFT 方法的实现,使其更容易集成到常见的 ML 工作流程中。

与相关概念的区别

必须将 PEFT 与其他模型适应和优化技术区分开来:

  • 微调标准微调通常是在新数据集上更新预训练模型的全部或大部分参数。相比之下,PEFT 只修改很小一部分参数或添加一些新参数。
  • 模型剪枝这种技术通常是训练或全面微调之后,从训练好的模型中删除多余或不重要的参数(权重或连接),以减少模型的大小和计算成本。PEFT 专注于通过限制初始训练内容来实现高效适应
  • 知识蒸馏包括训练一个较小的 "学生 "模型来模仿一个较大的、预先训练好的 "教师 "模型的行为。PEFT 直接调整大型模型本身,尽管效率很高。
  • 超参数调整 这一过程的重点是找到训练过程的最佳配置设置(例如,......)、 学习率, 批量大小),而不是针对新任务调整模型的学习参数。像 Ultralytics Tuner 为这个提供方便。

实际应用

PEFT 可使大型模型在各个领域得到实际应用:

从本质上讲,"参数高效微调 "技术使Ultralytics YOLO 模型等最先进的人工智能模型更具通用性和成本效益,可适用于各种特定应用,从而使获取强大人工智能功能的途径更加民主化。

阅读全部