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 技术时,可以用更少的时间、资源和精力对模型进行微调。其优势包括:

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

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

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

扩展阅读

什么是参数高效微调(PEFT)?

PEFT 是一组仅调整 LLM 中部分参数的技术,可节省资源。

什么是 vLLM?

虚拟大型语言模型(vLLM)是一系列开源代码的集合,可帮助语言模型更高效地执行计算。

什么是 AI 推理?

AI 推理是指 AI 模型依据数据提供答案的过程。这是机器学习技术复杂流程中的最后一步。

AI/ML 相关资源

相关文章