LoRA 与QLoRA:有何区别

复制 URL

LoRA(低秩自适应)和 QLoRA(量化低秩自适应)技术均可用于训练 AI 模型。更具体地说,它们都属于参数高效微调(PEFT),这种微调技术比训练大语言模型(LLM)所用的其他方法更节省资源,因此广受欢迎。 

LoRA and QLoRA 均有助于更高效地对 LLM 进行微调,但在操作模型和利用存储来达到预期结果方面有所不同。

探索红帽 AI

LLM 是由大量参数组成的复杂模型,某些模型的参数数量达到了十亿级。有了这些参数,模型可以根据一定数量的信息进行训练。参数越多,数据占用的存储空间就越多,这通常意味着模型的能力越强。

传统微调需要重新拟合(更新或调整)每个单独的参数,以便更新 LLM。这可能意味着需要对数十亿个参数进行微调,这需要耗费大量的计算时间和资金。

每次更新参数都可能会导致“过拟合”,这个术语是指 AI 模型除了学习常规训练数据之外,还学习了“噪声”数据或无用的数据。

什么是基础模型? 

想象一位老师在课堂上讲课的情景。这个班级一整年都在学习数学。在考试前,老师强调了长除法的重要性。在考试期间,很多学生发现自己过于关注长除法,而忘记了关键的数学方程式,这对于一些问题也同样重要。这就是传统微调过程中过拟合会对 LLM 造成的影响。

除了过拟合的问题之外,传统微调还会引起巨大的资源成本。

QLoRA 和 LoRA 都是微调技术,可以快捷地提高全面微调的效率。它们不是训练所有参数,而是将模型分解成矩阵,只训练学习新信息所需的参数。

按照我们的比喻来说,这些微调技术能够高效地引入新主题,同时又不会让模型分散对测试中其他主题的注意力。

详细了解参数高效微调(PEFT)

红帽 AI

LoRA 技术使用新参数根据新数据训练 AI 模型。

并非训练整个模型和所有预训练权重,而是将它们放在一边或“冻结”,然后训练样本量较小的参数。这些样本量被称为“低秩”自适应矩阵,LoRA 就是这么来的。

它们之所以被称为低秩矩阵,是因为它们的参数和权重数量较少。训练完成后,它们会与原始参数组合,然后作为一个单独的矩阵。这样一来,就可以更高效地进行微调。

将 LoRA 矩阵看作添加到矩阵中的一行或一列会更容易理解。

将下面这个矩阵看作需要训练的所有参数:

 

4x4 grid each cell contains a letter "P"

 

训练参数中的所有权重需要耗费大量时间、资金和内存。训练完成后,您可能仍然需要进行更多训练,这就浪费了大量资源。

下面这列代表低秩权重:

 

A single column made up of four cells. A letter "L" in each cell.

 

新的低秩参数经过训练后,将单个“行”或“列”添加到原始矩阵中。这样一来,它就可以将新训练应用到所有参数。

 

5X4 grid with the cells of the first column containing the letter "L". All other cells contain the letter "P"

 

现在,AI 模型可以与新微调的权重一起运行。

训练低秩权重需要的时间、内存和成本较少。样本量经过训练后,它就可以在更大的矩阵中应用所学知识,而不会占用任何额外内存。 

什么是生成式 AI?

采用 LoRA 技术时,可以用更少的时间、资源和精力对模型进行微调。其优势包括:

  • 需要训练的参数较少。
  • 出现过拟合的风险较低。
  • 训练时间较短。
  • 所用内存较少。
  • 可灵活调整(可以只对模型的某些部分进行训练,而忽略其他部分)。

AI 如何在企业中发挥作用?

QLoRA 是 LoRA 的扩展。它是一种与 LoRA 类似的技术,但具有额外的优势:所需内存更少。

“QLoRA” 中的“Q”代表“量化”。在这种情况下,量化模型意味着将非常复杂、精确的参数(大量小数和大量内存)压缩成更小、更简洁的参数(较少的小数和较少的内存)。

它的目标是使用单个图形处理单元(GPU)的存储和内存对模型的一部分进行微调。它使用 4 位 NormalFloat(NF4)来实现这一点,这种新的数据类型能够量化矩阵,而且所需内存甚至比 LoRA 更少。通过将参数压缩成更小、更易于管理的数据,它可以将所需的内存占用量减少到原始大小的 4 倍。

模型经过量化后,体积会变小,因此对其进行微调就变得容易多了。

将下面这行看作原始模型的参数:

 

A row of cells each containing the letter "P" representing 12 parameters. 3 are green, 6 are blue, 2 are yellow, and 1 is pink

 

共有 12 个参数,3 个绿色,6 个蓝色,2 个黄色,还有 1 个粉色。模型经过量化后,它被压缩成之前模型的表示法。 

 

A row of 4 cells, 1 green, 2 blue, and 1 yellow.

 

量化后,剩下的样本量是 1 个绿色、2 个蓝色和 1 个黄色。

在量化过程中,有些数据可能会因为太小而在压缩过程中丢失。例如,丢失了 1 个粉色参数,这是因为它在参数中所占比例极小,不能在压缩版本中代表足够的数据。

在以上示例中,我们将参数从 12 个压缩到 4 个。但实际上,数十亿个参数被压缩成几个,可以在单个 GPU 上对这些参数进行可控的微调。

理想情况下,将新训练的矩阵添加回原始矩阵后,任何丢失的数据都可能从原始参数中恢复,而不会损失精度或准确性,但不一定如此。

这项技术结合了高性能计算和易于维护的内存存储。这样一来,模型在资源有限的情况下也能保持极高的准确性。 

了解量化模型如何处理长上下文任务

QLoRA 是一种注重低内存维护需求的技术。与 LoRA 类似,它优先考虑效率,能够实现更快、更轻松的微调训练过程。其优势包括:

  • 所需内存少于 LoRA
  • 有助于避免数据过拟合
  • 可保持较高的准确性
  • 快速、轻量级的模型微调

量化大语言模型时,会对准确性造成多大的影响?了解如果对 50 万个量化 LLM 进行评估会发生什么。

LoRA 本身就是一种高效的微调技术。QLoRA 是一种扩展,在 LoRA 的基础上增加了多层技术来提高效率。QLoRA 所需的存储空间明显更少。

如果您正在纠结使用哪种技术来满足自己的需求,建议考虑一下您拥有多少存储空间和资源。如果存储空间有限,使用 QLoRA 会更轻松。

什么是模型即服务? 

红帽® AI 是一系列产品与服务的组合,能够在您企业 AI 旅程的任何阶段提供帮助,无论您是刚刚起步,还是准备在混合云环境中进行扩展。

借助较小的专用模型和灵活的自定义技术,可以灵活地在任何地方进行开发和部署。

探索红帽 AI

资源

开启企业 AI 之旅:新手指南

此新手指南介绍了红帽 OpenShift AI 和红帽企业 Linux AI 如何加快您的 AI 采用之旅。

红帽 AI

红帽 AI 提供灵活且经济高效的解决方案,可加速混合云环境中 AI 解决方案的开发和部署。

扩展阅读

什么是分布式推理?

分布式推理通过将推理任务分配给一组互联设备,从而使 AI 模型更高效地处理工作负载。

什么是模型上下文协议(MCP)?

了解模型上下文协议(MCP)如何将 AI 应用连接到外部数据源,助您构建更加智能的工作流。

什么是 AI 安全防护?

AI 安全防护可防御针对 AI 应用的各类恶意攻击,防止 AI 工作负载受损、数据操纵或敏感信息泄露。

AI/ML 相关资源

相关文章