术语表

LoRA(低等级适应)

了解 LoRA 如何对YOLO 等大型人工智能模型进行高效微调,从而降低成本,并以最少的资源实现边缘部署。

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

了解更多

LoRA(Low-Rank Adaptation)是一种高效的技术,用于调整大型预训练机器学习(ML)模型,如用于自然语言处理(NLP)计算机视觉(CV)的模型,以适应特定任务或数据集,而无需重新训练整个模型。它大大降低了与微调大规模模型相关的计算成本和内存要求,使高级人工智能更易实现。LoRA 属于参数高效微调(PEFT)方法的范畴,该方法侧重于以最小的参数变化来调整模型。

LoRA 如何工作

传统的微调包括使用新数据更新预训练模型的所有参数(或模型权重)。对于拥有数十亿参数的模型,如许多现代LLM或大型视觉模型,这一过程需要大量计算资源,特别是 GPU内存和时间。LoRA 的运行原理得到了研究的支持,即调整模型所需的变化通常位于较低维度的空间,这意味着不需要改变每个权重。

LoRA 并不修改所有原始权重,而是将其冻结,并将较小的、可训练的 "低秩 "矩阵注入模型架构的特定层,通常是在转换器块中(许多大型模型的常见组件,在 "注意力就是你所需要的一切 "论文中有进一步解释)。在微调过程中,只有这些新添加的矩阵(通常称为适配器)会被更新。这就大大减少了可训练参数的数量,通常是几个数量级(例如,数百万而不是数十亿),同时在许多情况下仍能达到与完全微调相媲美的性能。最初的LoRA 研究论文提供了有关该方法及其有效性的更多技术细节。这种方法大大提高了微调过程的速度,降低了内存消耗。

相关性和益处

LoRA 的主要优点是效率高,能带来几大好处:

  • 降低计算成本:与全面微调相比,它所需的GPU 内存和计算能力要少得多,因此可以在性能较弱的硬件上调整大型模型。
  • 存储空间更小:由于原始模型权重被冻结,因此只需为每个特定任务保存小型 LoRA 适配器。这比为每个任务存储微调模型的完整副本要有效得多。
  • 更快的任务切换:加载不同的 LoRA 适配器可实现任务间的快速切换,而无需加载全新的大型模型。
  • 性能相当:尽管训练的参数要少得多,LoRA 在特定下游任务上通常能达到与通过全面微调获得的精确度相近的水平。
  • 支持边缘部署:资源需求的降低有助于将模型应用于计算能力和内存有限的边缘计算场景,为智能手机或嵌入式系统等设备带来强大的人工智能功能(Intel对边缘人工智能的解释)。
  • 民主化:降低了希望定制GPT-4或 Ultralytics 等先进模型的研究人员和开发人员的准入门槛。 Ultralytics YOLO模型。

LoRA 的应用

LoRA 的高效性使其在各个领域都具有重要价值:

  1. 调整大型语言模型(LLM):这是最常见的用途之一。开发人员可以使用大量预训练的 LLM(如通过 Hugging Face提供),然后使用 LoRA 将其专用于特定应用,如定制聊天机器人、特定领域的问题解答系统,或改进特定类型文档的文本摘要Hugging Face 的 PEFT 库等库提供了 LoRA 的简易实现。
  2. 定制计算机视觉模型:LoRA 可应用于大型计算机视觉模型,以完成物体检测图像分割姿态估计等任务。例如,在COCO等大型数据集上预先训练好的Ultralytics YOLO 模型可以使用 LoRA 进行有效的微调,以检测利基领域中的特定类型物体,如野生动物保护中的濒危物种或制造质量控制中的特定缺陷。Ultralytics HUB等平台可以简化此类调整模型的训练部署

LoRA 与相关概念

将 LoRA 与其他模型适应技术区分开来很有帮助:

  • 全面微调:这种方法是在新数据集上更新预训练模型的所有权重。虽然这种方法通常很有效,但它需要大量的计算资源,而且每个适配模型都需要大量存储空间。相比之下,LoRA 会冻结原始权重,只训练注入的小适配矩阵。更多详情,请参阅我们的微调术语表NVIDIA)微调概述
  • 提示调整:这种技术将模型权重完全冻结,转而学习连续的 "软提示"(添加到输入嵌入中的向量),以引导模型在特定任务中的行为。与 LoRA 不同的是,它不会修改任何模型权重,而只是专注于调整输入表示。了解更多有关提示调整提示工程的信息。
  • 其他 PEFT 方法:LoRA 只是参数效率微调(PEFT)这一更广泛领域中的一种技术。其他方法包括适配器调整(类似但适配器结构略有不同)、前缀调整和 IA³,每种方法在参数效率和性能方面都有不同的权衡。

总之,LoRA 提供了一种功能强大、资源效率高的方法,可为 NLP 和计算机视觉领域的各种特定任务定制大型预训练基础模型,从而使高级人工智能更加实用和易用。

阅读全部