LoRA(Low-Rank Adaptation,低阶适应)是一种旨在通过在大型机器学习模型的架构中引入低阶矩阵来优化其微调过程的技术。这种方法大大降低了与传统微调相关的计算和存储要求,使其成为将预训练模型适应特定任务的一种高效、经济的选择。
LoRA 通过向特定层注入低秩矩阵来修改预训练模型的权重。在微调过程中,只对这些低秩矩阵中的一小部分参数进行优化,而不是更新模型的所有参数。这种方法保留了原始模型的大部分结构,同时又能使其适应新的任务。预训练的权重保持不变,这有助于保留原始模型的知识。
通过专注于低秩更新,LoRA 减少了可训练参数的数量,从而加快了训练速度并降低了内存使用率。这使它特别适合在资源有限的环境中部署大型语言模型(LLM)和其他复杂架构。
要深入了解微调技术,可以探索参数高效微调(PEFT)。
LoRA 已被广泛应用于 NLP 任务中,针对特定领域的应用对 GPT 和 BERT 等大型语言模型进行微调。例如
在计算机视觉领域,LoRA 已被用于调整大型模型,如视觉变换器 (ViT),以完成图像分类、物体检测和分割等任务。例如
传统的微调方法会更新模型的所有参数,不仅计算成本高,而且占用大量内存。相比之下,LoRA 只选择性地更新一小部分参数,因此更轻便、可扩展。
LoRA 可修改内部模型权重,而提示调整则侧重于优化输入提示。这两种方法都很有效,但适用于不同的使用情况--提示调整通常用于文本生成,而 LoRA 则更适用于各种任务。
Ultralytics 支持多种可应用 LoRA 原理的机器学习和计算机视觉任务。用户可以利用Ultralytics HUB 等工具高效地训练和部署自定义模型。借助最先进的解决方案,如Ultralytics YOLO等先进的解决方案,将 LoRA 启发的技术集成到工作流程中,可以进一步优化实时应用的模型性能。
LoRA 充分体现了创新技术如何使先进的机器学习变得更容易获得、更高效,从而推动各行业采用具有影响力的解决方案。