什么是低秩自适应 (LoRA)?

低秩适应 (LoRA) 是一种无需重新训练整个模型即可让大型机器学习模型适应特定用途的方法。

学习目标

阅读本文后,您将能够:

  • 定义“低秩适应”(LoRA)
  • 简单介绍 LoRA 的工作原理
  • 了解使用 LoRA 的优势

复制文章链接

什么是低秩自适应 (LoRA)?

低秩自适应 (LoRA) 是一种让机器学习模型快速适应新环境的技术。LoRA 有助于使庞大而复杂的机器学习模型更适合特定用途。它的工作原理是向原始模型添加轻量级部分,而不是更改整个模型。LoRA 可帮助开发人员快速扩展他们构建的机器学习模型的用例。

大型且复杂的机器学习模型(例如用于 ChatGPT 等大型语言模型 (LLM) 的模型)需要花费很长时间和大量资源来设置。它们可能有数万亿个设置为特定值的参数。一旦此过程完成,该模型可能总体上强大且准确,但不一定能够进行微调以执行特定任务。

要让模型在特定环境中发挥作用,可能需要进行大量的重新训练,更改其所有参数。由于此类模型中的参数数量众多,这种重新训练既昂贵又耗时。LoRA 提供了一种无需重新训练即可快速调整模型的方法。

假设 Jim 从欧洲搬到了北美,他的所有电器(微波炉、热水壶等)都不适合新房子的插座,因为这两个地区的电源插头标准不同。Jim 有两个选择。他可以拆掉并更换家里的所有插座,以便它们适合他的电器插头。或者,他可以简单地购买几个便宜的插座适配器,然后以这种方式插入他的电器。

LoRA 就像是 Jim 的第二个选择。LoRA 不是从头到尾完全重新训练模型,而是为模型添加一个轻量级、可更改的部分,使其适应新的环境。对于 AI 开发人员来说,这要快得多,而且资源占用更少,就像 Jim 在五金店购买几个适配器比雇佣承包商到他家的墙上更换电源插座更便宜一样。

什么是机器学习模型?

机器学习模型是机器学习算法与数据集的结合。这种结合的结果是一个计算机程序,它可以识别模式、查找对象或绘制项目之间的关系,即使在它以前从未见过的数据集中也是如此。

对于生成文本、生成图像或执行其他现代机器学习应用等复杂任务,模型会从大量数据中提取数据并使用高度复杂的算法。算法或数据集的细微变化意味着模型将产生不同的结果。然而,要获得在特定环境中所需的结果可能需要大量的训练。

LoRA 不会重新构建整个模型,而是会冻结模型的权重*和参数。然后在原始模型之上,添加一个称为低秩矩阵的轻量级附加项,然后将其应用于新输入以获得特定于环境的结果。低秩矩阵会根据原始模型的权重进行调整,以便输出与所需用例相匹配。

*在机器学习模型中,“权重”是一个数学值,有助于确定不同类型输入的重要性。

LoRA 中的低秩矩阵是什么?

在数学中,矩阵是数字的数组或集合,例如:

低秩矩阵示例:第一列 2 4 6,第二列 4 8 12,第三列 6 12 18

矩阵是机器学习模型和神经网络工作方式的重要组成部分。对于此类用途,它们可能比上述示例大得多。对于 LoRA,重要的是要理解低秩矩阵比大矩阵更小,值也少得多。它们不占用太多内存,并且只需更少的步骤来相加或相乘。这使得计算机处理它们的速度更快。

LoRA 将低秩矩阵添加到冻结的原始机器学习模型中。这些矩阵包含在生成结果时应用于模型的新权重。此过程以最小的计算能力和训练时间改变模型产生的输出。

在上面使用的类比中,Jim 购买了便宜的适配器来将电器插入墙上的电源中。低秩矩阵就像那些便宜的适配器,而插座就是原始的机器学习模型。

机器学习如何工作?

机器学习是一种统计算法,它可以学习在数据中寻找模式,而无需接受人类的具体指令。机器学习可以从示例中进行归纳,以对从未见过的数据进行分类。它是许多类型的人工智能 (AI) 应用的基础。

Cloudflare 使开发人员能够通过以下服务快速集成流行的机器学习模型:

进一步了解完整的 Cloudflare for AI 平台