LoRA

Code for loralib, an implementation of "LoRA: Low-Rank Adaptation of Large Language Models"

open-sourceagent-frameworks
Visit WebsiteView on GitHub
13.4k
Stars
+1114
Stars/month
0
Releases (6m)

Overview

LoRA (Low-Rank Adaptation of Large Language Models) 是微软研究院开发的参数高效微调方法,通过学习秩分解矩阵对来大幅减少可训练参数数量,同时保持原始权重冻结。这个 Python 包 `loralib` 目前仅支持 PyTorch,能够在特定任务上获得与完整微调相当或更优的性能表现。LoRA 在存储需求上有巨大优势,例如在 RoBERTa base 模型上仅需 0.8M 参数对比传统的 125M 参数,在 GLUE 基准测试中表现卓越。该方法支持部署期间的高效任务切换且不引入推理延迟,使其成为大型语言模型适配的理想选择。目前已被 Hugging Face 的 PEFT 库官方支持,为研究人员和工程师提供了标准化的实现路径。

Pros

  • + 大幅减少可训练参数(减少99%以上参数量的同时保持性能)
  • + 支持无延迟的高效任务切换,适合多任务部署场景
  • + 在多个基准测试中性能媲美或超越完整微调方法

Cons

  • - 目前仅支持 PyTorch 框架,限制了其在其他深度学习框架中的应用
  • - 需要理解秩分解概念和参数设置,对初学者有一定门槛
  • - 仅适用于支持该适配方法的特定模型架构

Use Cases

Getting Started

1. 安装: pip install loralib 获取核心库;2. 配置: 在 PyTorch 模型中集成 LoRA 层,设置秩分解参数;3. 使用: 替换目标层为 LoRA 适配层并开始微调训练