了解 LoRA 如何高效地微调YOLO 等大型人工智能模型,降低成本,并以最少的资源实现边缘部署。
LoRA,即低库自适应(Low-Rank Adaptation),是机器学习(ML)领域的一项革命性技术。 机器学习(ML)领域的一项革命性技术,旨在微调 的革命性技术,旨在以卓越的效率对大型预训练模型进行微调。随着现代 随着现代基础模型规模的爆炸式增长--通常包含 参数,为特定任务重新训练这些模型在计算上已经令许多研究人员和开发人员望而却步。 和开发人员来说是难以承受的。LoRA 通过冻结原始 模型权重,并将更小的、可训练的 低秩矩阵。这种方法大大减少了可训练参数的数量、 降低内存需求,并在消费级硬件(如标准 GPU(图形处理器))上实现有效的模型适配。 图形处理器(GPU )。
LoRA 的核心创新在于它能够绕过重新训练模型的需要。在传统的 微调中,神经网络中的每个权重都要在反向传播过程中进行更新,这就需要存储大量的优化器状态。 在反向传播过程中进行更新,这需要存储大量优化器状态。而 LoRA 则将预训练的 模型固定不变。它将成对的秩分解矩阵引入特定层,通常是在神经网络的 "注意 "机制中。 的注意机制中。 Transformer架构中。
在训练过程中,只有这些小的适配器矩阵 会被更新。由于这些矩阵是 "低秩 "矩阵--即它们的维度比完整模型层少得多,因此计算开销很小。 因此计算开销很小。这一概念借鉴了 降维原则、 假设对新任务的适应依赖于模型参数的低维子空间。这使得 LoRA 是 参数高效微调技术(PEFT)的基石,它允许创建特定任务模型,而这些模型的大小仅为原始检查点的一小部分。
下面的Python 代码段演示了如何使用
ultralytics 软件包。该命令默认执行全面训练,但高级配置可以
利用 PEFT 技术(如 LoRA)来优化流程,以满足特定的
自定义数据集.
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model on a specific dataset
# LoRA strategies can be applied to freeze the backbone and train adapters
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)
LoRA 的效率为人工智能(AI)的各个领域带来了新的可能性。 人工智能(AI)。
要充分理解 LoRA,最好将其与其他适应战略区分开来:
通过实现模型定制的民主化,LoRA 使开发人员有能力构建专门的工具,用于 医学图像分析 野生动物保护和 自动驾驶汽车 科技巨头的基础设施。随着行业向多功能平台发展,如即将推出的Ultralytics 平台--使模型大小与训练成本脱钩的技术对于可扩展的人工智能创新仍然至关重要。