LoRA 是一个天才的想法.
要了解大型语言模型的微调,您必须了解 LoRA 的工作原理。
在这篇文章结束时,您将了解有关其工作原理的所有重要信息。
大型语言模型是很好的通才,但它们几乎没有专业化。我们在许多不同的任务中对他们进行培训,因此他们对任何事情都略知一二,但对任何事情都不够。
想想一个孩子,他可以参加三种不同的运动,达到很高的水平。虽然他可以全面精通,但除非他专攻,否则他不会获得奖学金。这样孩子才能充分发挥自己的潜力。
我们可以对这些大型模型做同样的事情。我们可以训练他们解决特定的任务,而不是其他任何任务。
我们称这个过程为“微调”。我们从模型所知道的一切开始,并调整其知识以帮助它改进我们关心的任务。
微调是革命性的,但它不是免费的。
微调大型模型需要时间、精力和大量金钱。许多公司负担不起这个过程。有些人无法支付硬件费用。有些人无法雇用知道如何做到这一点的人。大多数公司都做不到。
这就是 LoRA 的用武之地。
我们意识到,我们可以使用两个较小矩阵的乘积来近似一个大型参数矩阵。这些大型模型中浪费了很多空间。如果我们找到一种新的、更理想的表示形式,会发生什么?
你有没有在加油站买过地图?巨大的页面显示您周围的每条小路、小路和湖泊。它们详尽无遗,但难以驾驭。这些参数类似于大型模型中的参数。
LoRA 将加油站地图变成卡通藏宝图.所有无用的参数都消失了。只有两条路,一棵棕榈树和一个指向宝藏的十字架。我们不再需要对整个模型进行微调。我们只能专注于 LoRA 给我们的小藏宝图.
这是一个令人兴奋的技巧。
我们可以从 LoRA 训练小近似矩阵,而不是微调整个模型。LoRA 更便宜、更快,并且使用更少的内存和存储空间。
您还可以在部署期间将近似矩阵与模型合并。它们像简单的适配器一样工作。你加载解决问题所需的那个,并在下一个任务中使用另一个。
然后,我们有了 QLoRA,它通过添加 4 位量化使该过程更加高效。QLoRA应该有自己的独立职位。
该团队 @monsterapis 创建了一个高效的无代码 LoRA/QLoRA 驱动的LLM微调器。
他们所做的非常聪明:
它们会自动为您的特定模型配置您的 GPU 环境和微调管道。例如,如果您想在较小的 GPU 上微调 Mixtral 8x7B,他们将自动使用 QLoRA 来降低成本并防止内存问题。
该 @monsterapis 平台专门从事无代码 LoRA 驱动的微调。它是市场上最快、最实惠的微调模型产品。他们赞助了我,并为在仪表板中使用代码“SANTIAGO”的任何人提供了 10,000 个免费积分:
https://monsterapi.ai/finetuning
如果您想阅读他们的最新更新、获得免费积分和特别优惠,请加入他们的 Discord 服务器: https://discord.com/invite/mVXfag4kZN
TL的;博士:
- 传统的微调训练整个模型。它需要复杂的设置、更高的内存和昂贵的硬件。
- LoRA:训练模型的一小部分。它速度更快,需要更少的内存,而且硬件价格实惠。
- QLoRA:比 LoRA 效率高得多,但它需要更复杂的设置。
- 使用 LoRA/QLoRA 进行无代码微调:两全其美。成本低,设置简单。