大模型应用的平民化:LoRA

Description
Published
April 13, 2023
Tags
AI
OpenSource

大模型应用的平民化:LoRA

 
或许你已经在各路 AI 出图的标题中对 LoRA 有所听闻,云里雾里中把 LoRA 放进搜索引擎,得到了一堆无线调频技术的介绍(LoRa),愈发摸不着头脑。
在 AI 领域,或者更具体的,神经网络模型范畴中,LoRA 指的是 Low-Rank Adaptation,由微软的研究团队 Oct 16, 2021 提出的一种模型适配方案。
通用的预训练大语言模型,缺乏特定领域的针对性训练,在下游任务适配上需要精调,但全量精调成本极高且很不灵活。比如有 1750 亿参数的 GPT-3,如果你掌握了一定量的法律领域优质数据,想要基于 GPT-3 精调出一个法律领域的 LawGPT,意味着即使你的数据只有 GPT-3 训练数据的 1% 不到,却仍需消耗与其接近(存疑)的算力,的确令人望而却步。
于是出现了 LoRA 这种替代方案。LoRA 可以将预训练模型的权重冻结,然后向模型内的每层 Transformer 中插入可训练的单元,从而大幅减少训练参数,绕开了全量权重精调的巨大开销,为下游任务提供便利。以 Alpaca 模型为例,斯坦福团队针对指令 全量精调 LLaMA 模型时使用了 4 台英伟达 A100 80G GPU;而 Alpaca-LoRA 项目则通过 LoRA 方案以一块 RTX 4090 实现了精调,甚至可将生成模型跑在一台树莓派上,当然很慢就是了。
除了 LLMs,LoRA 还可用于图像生成模型的适配,比如大名鼎鼎的 Stable Diffusion 模型,在 LoRA 的加持下,用户可以在消费级显卡上通过自定义提示词(prompt)及风格图片来对模型进行精调,得到专属的图像生成模型。且可将只有几兆大的 LoRA 权重文件单独分享,配合原有模型就能使用,极大地缓解了模型重复下载的问题,让大家玩的更加开心。