首页 > 人工智能 > 人工智能 > LoRA 可以快速将 AI 模型转变为专家
低秩适配(LoRA)是一种更快、更经济的方法,可将大语言模型(LLM(大语言模型))及其他基础模型转变为专用模型。IBM Research 正在通过 LoRA 进行创新,使 AI 模型更易于定制和规模化部署。
在基础模型准备好应对现实世界问题之前,通常需要在专用数据上进行微调,并重新计算其数十亿甚至数万亿的参数。这种传统微调方式速度慢、成本高,最终产生的定制模型数量远超实际可部署的能力。
低秩适配(LoRA)是一种更快捷的解决方案。使用 LoRA,你只需微调基础模型权重的一小部分,创建一个插件模块,使模型在推理时具备特定领域的专业知识,例如生物学或数学推理。通俗地说,这个模块也被称为“LoRA”。就像多头螺丝刀的定制批头一样,LoRA 可以随时插入和拔出基础模型,赋予其专业化能力。
“在你精心打造的通用模型上添加一个 LoRA,就能让它专注于某项任务,比如分析法律文档,而无需承担全量微调的计算成本,”IBM Research AI 模型副总裁 David Cox 表示。
通过将模型更新与模型本身分离,LoRA 已成为伴随生成式 AI 出现的最流行的参数高效微调(PEFT)方法。它具有多项优势。
LoRA 使模型定制变得经济高效。一次彻底的微调需要重新计算模型的每一个权重,这需要大量计算和内存。相比之下,一次 LoRA 微调只需重新调整模型不到 1% 的权重,且不会降低其性能。
LoRA 方法还使得添加新技能和知识变得更加容易,而不会覆盖模型之前学到的内容,这种现象被称为灾难性遗忘。LoRA 提供了一种在不牺牲性能的情况下向模型注入新信息的方式。
但也许它最强大的优势体现在推理阶段。借助额外的优化技术,将 LoRA 更新加载到基础模型上或从中卸载,可以比切换完全微调的模型快得多。使用 LoRA,在部署一个完全微调模型的时间内,可以向客户提供数百个甚至更多定制模型。
当微软研究人员在 2021 年提出 LoRA 概念时,语言模型是他们的目标。此后,LoRA 已扩展到图像生成和语音识别领域。它还催生了一系列衍生方法,从用于改进持续学习的 O-LoRA,到通过量化加速训练的 QLoRA。
仅在 Hugging Face 上就有数万个 LoRA 可供使用,它们就像最爱的冰淇淋配料一样,随时可以加载到为其训练的基础模型上。“LoRA 通过让更多人能够微调更大的模型,实现了 LLM 训练的民主化,”佐治亚理工学院副教授 Alan Ritter 表示,他曾与 MIT-IBM Watson AI Lab 在 LoRA 相关工作上展开合作。
在 LoRA 的原始设计中,更新会与基础模型合并,从而可以快速部署定制模型。然而,当需要部署多个模型时,延迟和吞吐量都会受到影响。随着商业微调服务的兴起,吞吐量已成为企业试图降低托管和部署定制 AI 模型成本时的首要关注点。
今年早些时候,加州大学伯克利分校的研究人员推出了一款名为 S-LoRA 的系统,该系统仅在推理引擎上加载基础模型,同时动态地换入换出 LoRA。这种新的系统设计使得在单个 GPU(图形处理器) 上服务一千个 LoRA 成为可能。但随着 LoRA 数量的增加,研究人员开始寻找其他提高效率的方法。
“尽管一个 LoRA 仅占模型权重的 1%,但 1,000 个 LoRA 就是模型大小的 10 倍,”IBM 研究员 Mikhail Yurochkin 说,他领导着一个专注于将 LLM 投入实际应用的团队。
IBM 和 MIT 的研究人员提出的一种解决方案是,将相似的 LoRA 分组,并在每个聚类中整合知识和技能,然后压缩整个集合。之后,每个 LoRA 在推理时被快速重新组装。
该团队将他们的方法整合到开源推理引擎 vLLM 中,并展示出,以前仅能服务一个 LoRA 的时间内,现在可以服务超过 1,000 个 LoRA。他们在 arXiv 上的一项预印本研究中报告称,压缩过程本身似乎也提升了 LoRA 的性能。
“许多任务依赖于与底层技能相关的共享参数,”该研究的主要作者、MIT 博士生 Rickard Brüel Gabrielsson 说。“通过利用这种共享结构,我们可以显著减少所需的 LoRA 参数数量。”
尽管 LoRA 具有灵活性,但它们仅与训练时所基于的基础模型兼容。为 Llama-2 模型定制的 LoRA 无法用于 IBM Granite,甚至无法用于更新的 Llama-3 模型。就像许多手机充电器一样,LoRA 是特定于模型的。
对于商业云提供商而言,迁移数万个基于专有数据训练的 LoRA 即使并非不可能,也是不切实际的。为了寻找解决方案,IBM 和 MIT 的研究人员最近提出了 Trans-LoRA,这是一种近乎无数据的方法,用于将 LoRA 迁移到同一系列或跨系列模型的新版本上。
Trans-LoRA 的工作原理是利用新模型为旧 LoRA 生成一个合成数据“课程”,然后对数据进行过滤,使其近似于旧 LoRA 训练数据的统计分布。研究人员表明,Trans-LoRA 允许 LoRA 在 Llama 和 Gemma 模型系列之间迁移,以及在其他 PEFT 方法(如 prompt-tuning)之间迁移,而不会降低性能。
无论你使用何种方法定制模型,引入新数据都可能破坏其安全对齐,并使模型容易受到恶意攻击。IBM 研究员 Pin-Yu Chen 是生成式 AI 红队测试专家,他在今年早些时候的一项 ICLR 2024 研究中向世界警示了微调所带来的安全威胁。
在 12 月 NeurIPS 上的后续工作中,Chen 及其同事将展示一种名为 Safe LoRA 的安全补丁,该补丁同样适用于完全微调的模型。无需额外数据或训练,仅需一行代码,该补丁就能提供显著的保护。在团队对 Llama-7b Chat 模型进行的测试中,Safe LoRA 阻止了 93% 的攻击,而不用它时仅能阻止 13%。
尽管 LoRA 已经问世三年,它的故事仍在不断演进。IBM 将很快为其新的 Granite 3.0 模型发布一组 LoRA,旨在减少幻觉并评估其答案的准确性。在内部,研究人员还将 LoRA 作为测试工具,在将合成数据纳入模型之前,检验其是否能提升 Granite 的性能。
随着企业尝试更小、更专业化的模型,IBM 正在探索轻量级 LoRA 适配器是否有助于提升性能,包括多智能体系统。
“我们可以拥有一个针对各种角色的 LoRA 定制 LLM‘菜单’,或者利用合成数据即时创建 LoRA,”Yurochkin 说。“我认为下一步是一个灵活的系统,包含一个 LLM 和多个 LoRA,能够针对企业用例进行定制,包括强大的 AI 智能体。”
转载声明:本文为转载整理,原文版权归原作者及原站点所有。
原文来源:IBM Research Blog
原文作者:Kim Martineau;如有侵权,请联系管理员删除。