Low-Rank Adaptation (LoRA) 是 Microsoft 于 2021 年推出的一项新技术,用于微调大型语言模型 (LLM)。 LoRA 是一种有效的自适应策略,它不会引入额外的推理延迟,并在保持模型质量的同时显着减少下游任务的可训练参数数量。
推荐:用 NSDT场景设计器 快速搭建3D场景。
尽管 LoRA 最初是为 LLM 提出的,但它也可以应用于其他地方。 受到慕尼黑路德维希马克西米利安大学、海德堡大学和 Runway ML 于 2022 年发表的稳定扩散论文的启发,Simo Ryu (@cloneofsimo) 等独立研究人员提出了将 LoRA 应用于稳定扩散的想法,并发布了多个示例和见解 在他们的 GitHub 项目页面上。
机器学习平台 Hugging Face 的一个团队最近与 Ryu 合作,提供了一种通用方法,使用户能够在扩散模型中实施 LoRA,例如通过 Dreambooth 的稳定扩散和完整的微调方法。
该团队总结了duffusers中 LoRA 训练支持的好处,如下所示:
训练要快得多。计算要求较低。 我们可以在具有 11 GB VRAM 的 2080 Ti 中创建一个完全微调的模型!训练的权重要小得多。 由于原始模型已冻结,我们注入了新层进行训练,因此我们可以将新层的权重保存为大小约为 3 MB 的单个文件。 这比 UNet 模型的原始尺寸小了大约一千倍!
由于稳定扩散的全模型微调具有挑战性且耗时,研究人员利用 LoRA 来简化自定义数据集的微调过程。 这使得开发人员可以发布一个 3.29 MB 的文件,其他人可以访问和使用他们经过微调的模型。
该团队提供了一个 LoRA 微调脚本,可以在没有优化器的情况下仅在 11 GB 的 GPU RAM 上运行。 值得注意的是,学习率远大于非 LoRA Dreambooth 微调学习率(通常为 1e-4 而不是 ~1e-6)。
使用 Lambda Labs Pokémon 数据集进行模型微调
在推理方面,该团队展示了他们的脚本如何通过训练比原始模型少几个数量级的权重来取得出色的结果。
该团队还展示了 LoRA 与 Dreambooth 的兼容,这是一种允许用户将新概念“教授”给稳定扩散模型的方法,并总结了在 Dreambooth 上应用 LoRA 的优势如下:
训练速度更快。我们只需要要训练的主题的几张图像(通常 5 或 10 张就足够了)。如果需要,我们可以调整文本编码器,以提高对主题的保真度。
原文链接:
http://www.bimant.com/blog/llm-lora/