部署DeepSeek模型,进群交流最in玩法!
立即加群
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >LowRA框架实现每参数低于2 Bits LoRA微调,内存降50%,释放受限环境潜力!

LowRA框架实现每参数低于2 Bits LoRA微调,内存降50%,释放受限环境潜力!

作者头像
未来先知
发布2025-03-13 21:47:20
发布2025-03-13 21:47:20
680
举报
文章被收录于专栏:未来先知未来先知

随着大语言模型(LLMs)规模扩展至数百亿参数,微调LLMs的成本也在不断增加,即使是参数高效的微调方法如LoRA也依然需要大量资源。作者提出了LowRA,这是第一个能够实现每参数低于2比特的LoRA微调且性能损失最小的框架。 LowRA优化了细粒度量化——映射、阈值选择和精度分配——同时利用高效的CUDA Kernel 实现可扩展部署。 在4个LLMs和4个数据集上的广泛评估显示,LowRA在2比特以上实现了优异的性能-精度权衡,并且精度保持在1.15比特以下,内存使用量最多可降低50%。作者的结果突显了超低比特LoRA微调在资源受限环境中的潜力。

1. 引言

在人工智能(AI)领域,随着技术的飞速发展,研究者们对AI算法、模型及其应用的研究日益深入。本文旨在探讨AI在各个领域的应用现状、挑战与发展趋势,以期为我国AI产业的发展提供有益的参考。

微调大语言模型(LLM)可以提升它们在特定任务上的表现,并消除如幻觉[15, 26]和有害反应[3, 1]等不良行为。然而,随着模型规模的扩大——例如,拥有405亿参数的Llama 3.1[10]和拥有671亿参数的DeepSeek-V3[25]——微调的成本也随之飙升[14]。

为了降低微调成本,参数高效的微调(PEFT)方法冻结模型的核权重并插入小型可训练模块。作者专注于LoRA[14],它通过添加秩分解 Adapter 来降低计算和内存需求。然而,在单个GPU上微调大型模型可能会超过内存限制。量化LoRA方法(例如,QLoRA[9]、LoftQ[23])通过以最小的精度损失量化基础权重来解决这一问题,使得数十亿参数的模型能够在标准的单GPU甚至移动设备上进行微调。

尽管量化LoRA在减少内存使用方面取得了成功,但所有现有工作都集中在2到4位(每参数)范围内的LoRA微调,其中许多与超低比特LoRA微调不兼容[46, 32, 9]。

进一步降低比特率的要求,例如低于2位,在超低资源场景(如嵌入式设备和手机[41, 4]和[47, 43])的微调和部署中具有深远影响。然而,当前方法面临三个基本限制:

为了充分发挥量化LoRA微调的潜力,作者提出了LowRA,这是一个准确且高效的框架,能够实现LoRA微调至每参数低于2位(以下)。LowRA针对三个主要挑战包含三个核心组成部分:

(1)映射/阈值函数搜索,(2)细粒度精度分配,(3)基于CUDA的 Kernel 作为量化原语。

解决L1和L2问题需要格外小心,因为在实际应用中,LoRA的基础权重必须与多套 Adapter 协同工作[42, 36, 5]。这一限制要求一种强大且任务无关的量化技术。此外,对于LLMs,以细粒度精确度分配进行优化,需要一种可扩展、低复杂度的解决方案来处理庞大的参数空间。LowRA通过基于层次整数线性规划(ILP)的精确度分配器来满足这一需求,以执行细粒度混合精度。此外,LowRA还提供了基于加权Lloyd-Max[29, 31]公式的映射/阈值搜索,通过其高效解决方案实现了强大的实用性能。

作者对LowRA进行了广泛的评估,涉及四种广泛使用的基LLM选择和四种自然语言应用选择,并将LowRA与最先进的 Baseline 进行比较。评估结果表明,LowRA:

(1)与 Baseline 相比,在性能-精度权衡上实现了超过2比特(每参数)的优越表现,并且是第一个能够在2比特以下实现准确、高效LoRA微调的方法;

(2)在微调过程中实现了显著的内存占用减少;

(3)即使在添加了新组件的情况下,也仅产生了最小的额外开销。

总结来说,作者做出了以下贡献:

  1. 识别关键局限: 作者在现有的量化LoRA方法中确定了三个核心局限,突出了利用细粒度精度分配和映射/阈值的机遇。
  2. 低RA的设计与实现: 作者介绍了LowRA,这是一个准确、端到端框架,将细粒度量化应用于LLM的LoRA微调。作者详细阐述了其关键设计选择——包括映射/阈值学习器、精度分配器和实用的编程原语——确保了高效性和高性能。
  3. 性能-精度权衡的优化: 综合评估表明,LowRA在性能-精度权衡方面优于 Baseline ,每个参数平均可降低0.86位,而不牺牲性能。
  4. 内存占用减少: 在微调和部署过程中,LowRA将内存使用量降低了30%-50%,同时性能损失最小。此外,它还能在极低资源限制的环境下,以低至1.15位的精度进行LLM的微调和部署。
  5. 开源框架: 作者将开源作者的框架和工件,以推动超低比特LoRA微调的进一步研究。

背景与动机

在人工智能领域,背景和动机是研究项目的重要组成部分。它们阐述了研究的起源、目的以及其对于现有技术或理论的意义。以下是对相关内容的翻译:

在人工智能领域,背景与动机的研究对于推动技术进步和创新至关重要。本文旨在探讨人工智能技术的最新进展,并分析其背后的驱动因素。通过对背景的深入分析,作者能够更好地理解当前的研究趋势,并预测未来可能的发展方向。此外,本文还探讨了人工智能技术在不同行业中的应用,以及这些应用如何推动社会和经济的发展。研究动机则在于揭示人工智能技术的潜力,以及如何通过创新来解决现实世界中的复杂问题。

图1:LowRA的端到端工作流程。

2.1 低秩自适应(LoRA)的LLM应用

.微调大语言模型(LLMs)使作者能够将预训练的LLMs适应特定的任务或领域[50, 48, 55]。这一过程通常需要更改所有模型参数,当模型参数数量增加时,这可能导致计算和内存成本过高。低秩适应(LoRA)[14]通过冻结基础权重并引入一小套可训练的“ Adapter ”参数来解决这个问题,显著降低了微调所需的内存和计算需求。

2.2 LoRA微调中的量化处理

量化LoRA微调通过量化基础模型权重来进一步降低内存使用,同时不影响性能。QLoRA[9]引入了NormalFloat格式,以便在4位量化主干网络中进行反向传播,而LoftQ[23]和ApiQ[24]则在一个统一的目标下联合优化量化基础权重和 Adapter 初始化。这些进步解锁了在低资源平台(如嵌入式设备[41, 4]和移动电话[47, 43])上进行LLMs微调和部署的能力。

2.3 现有量化LoRA方法的局限性

尽管近期在量化LoRA(如QLoRA和LoftQ)方面的工作展现出早期承诺,但作者观察到三个主要限制,这些限制阻止了作者充分发挥内存高效LLM微调的潜力。

粗粒度精度分配。现有的方法通常对整个权重矩阵或多个层应用单一的量化精度。例如,QLoRA在所有基础权重上使用统一的4位量化,而LoftQ采用层间混合精度方案(例如,早期层使用更高精度,后期层使用更低精度)。作者的发现(S6)表明,真正解锁超低比特微调需要更精细的分配策略,可能是在子层或子矩阵 Level 。

数据分布差异。大多数量化LoRA方法采用全局共享的数据格式,例如QLoRA的NormalFloat,它假设近似正态分布。然而,图2显示,在每通道层面的组内归一化往往与全局正态分布有显著偏差。为了保持准确性,需要更多局部化的量化/反量化方法。

图2:从Llama2-7b的第一层中采样不同输出通道的归一化参数分布。

缺乏高性能量化原语。大多数量化LoRA方法和相关的量化研究[23, 37, 40, 2]依赖于模拟量化1,缺乏对4位以下或灵活混合精度的原生硬件支持。例如,LoftQ即使是对于较小的LLM也需要八个A10o GPU。这种对模拟的依赖增加了资源需求,阻碍了实际部署(参见附录J中相关的GitHub问题),因为目前没有系统提供针对LoRA的高效低比特或自适应精度 Kernel 。

第3章 低延迟响应(LowRA)框架

在本节中,作者概述了LowRA端到端的工作流程,如图1所示。该流程始于预训练模型权重。作者将这些权重的每一层输入到专门的映射和阈值学习器,该学习器产生针对每个输出通道的优化映射和阈值,记为。然后,这些映射和阈值以及预训练的权重一起被一个两步整数线性规划(ILP)量化器处理,以确定每个输出通道的最佳精度分配。

接下来,输出通道量化核支持自定义量化阈值,使用推导出的阈值和指定的精度 Level 对权重进行量化。作者计算由此步骤产生的量化误差,并应用低秩张量初始化。智能低秩初始化的技术包括LoftQ[23]和PiSSa[32](附录D),这些技术生成低秩张量,旨在初始化过程中吸收量化误差。在作者的实现中,作者选择了LoftQ[23],因为实验表明,它在低比特范围内能提供更好的性能。

混合精度的量化权重(T4)和初始化的低秩张量(T5)随后被传递到微调模块(P5),该模块依赖于输出通道方式的去量化核(P5.1)来从其量化形式中恢复基本权重。借鉴了LoRA和QLoRA的方法,基本权重(T4)保持冻结状态,仅对低秩张量(T5)进行训练。最终,作者获得了更新的低秩张量(Tθ),这些张量与量化的基本权重(及其量化状态)(T4)一同输出。

关于设计选择的讨论

在这一部分,作者讨论了LowRA框架中的各种设计选择,以及系统和硬件支持。

4.1 低RA设计选择的背后洞察

在大语言模型(LLMs)中,线性层在输出通道上的变化通常比输入通道上的变化大得多。例如,在Llama2-7b [44]中,输出通道的平均标准差比输入通道高倍(见附录H)。因此,按输出通道分组参数并给每个组分配唯一的精度——即按输出通道量化——可以更有效地捕捉它们的多样化分布。

群体归一化:即使在每个输出通道进行量化后,每个输出通道仍可能表现出显著的内部可变性。为了解决这个问题,通常采用群体归一化方法,使得每个元素组可以共享一个独立的尺度。作者遵循QLoRA的设计理念,采用每组64个元素的归一化,并通过每组中的absmax(即最大绝对值)进行缩放[9]。

数据无关的模型PTQ与量化感知训练(QAT)[11, 51, 17, 39]不同,作者的方法在微调过程中不增加任何额外开销。通过自动搜索量化映射和阈值,它使用户摆脱了手动调整[39, 54],节省了开发和计算资源。此外,与一些在时间上改变压缩比的方法[39, 51]相反,LowRA保持一致的压缩比,确保在微调过程中持续节省内存。

图3展示了阈值和映射在量化过程中的作用。阈值指的是将归一化参数的连续域划分为离散区间的边界点(“箱边缘”),从而实现特定的二进制编码。另一方面,映射则指定了分配给每个编码二进制字符串的代表性值以及对应区间。正如在§所述,量化映射和阈值的精细设计可以显著提高参数的近似和重建精度。LowRA允许每个输出通道采用不同的映射和阈值组合,以实现更精确的精细量化。

数据无关的单次训练后量化大多数量化感知训练(QAT)技术通过增加额外的训练开销和学习特定任务的量化参数来提升任务性能[11, 51, 17, 39]。同样,许多训练后量化方法需要校准集来学习量化方案[24, 16]。相比之下,LowRA采用了数据无关的单次训练后量化,使得量化方案和量化参数可重用,最小化超参数调整,以及几乎可以忽略的微调开销。这种设计特别适合LoRA微调,原因如下:(1)任务相关的学习仅限于 Adapter 中,(2)LoRA的基本权重通常在多个 Adapter 之间共享,(3)LoRA主要针对资源受限的微调场景。

图3:量化中映射和阈值的作用。圆圈代表阈值,而交叉代表映射。彩色三角形表示将一系列原始/未量化的实值范围——由阈值划分——转换为对应每个量化 Level 的映射值的过程。

用户自定义压缩比:量化LoRA方法在资源受限的环境中得到了广泛应用,例如内存有限的GPU或设备端场景,在这些场景中,精确指定压缩比至关重要。通过调整每个参数的位精度、阈值和映射,LoRA可以直接将压缩与实际资源预算对齐,确保即使在严格的约束下也能保证可行性和效率。此外,由于LoRA在单次遍历中就固定了比率,因此避免了其他方法在寻找可接受的压缩-精度权衡时所需的广泛超参数调整[39, 54]。

利用LoftQ作为低秩初始化器,研究行人发现,低秩张量的初始化对于LoRA微调的有效性至关重要,尤其是在针对超低比特量化基权重的情况下[23, 32, 46]。LoftQ[23]和PiSSA[32]是两种针对量化LoRA的显著初始化技术(详见附录D中的详细介绍)。虽然PiSSA声称比LoftQ收敛速度更快,但作者的实验结果一致显示LoftQ优于PiSSA。如表1中的样本数据点所示,PiSSA在低比特范围内未能实现合理的任务性能。这与作者的直觉相符,即先进行量化而非奇异值分解(SVD)可以使低秩张量更好地吸收量化误差。作者的发现也支持LoftQ附录中提出的一些观点。鉴于作者的主要目标是实现低精度微调和部署,作者选择使用LoftQ作为作者的低秩初始化器。遵循LoftQ的建议,作者采用五个交替步骤进行初始化。

适应LowRA于生产用例 许多生产用例,例如数据中心中的批量推理,需要固定的量化映射[22, 53]。LowRA可以通过仅保留可学习的阈值来适应此类场景,这已被证明有助于提高模型性能[28]。

为了最大化与任务无关的复用基础权重下的性能,LowRA可以被扩展以使用同一组阈值用于多个 Adapter ,但为每个下游任务学习映射。换句话说,每个 Adapter 都可以与基础权重及其对应下游任务的专用基础权重解码映射一起连接。然而,这将会要求更高的开发和计算成本。在作者的实现和实验中,为了证明概念,作者采用了单个基础权重下的同一组学习阈值和学习映射。

第五部分:映射与阈值学习器

在本节中,作者介绍了LowRA中的映射和阈值学习器。鉴于作者希望最终的基权重保持任务无关性,从而可以在多个 Adapter 中复用,作者采取了一种简单的方法,以最小化每个输出通道的均方误差2(MSE)。如第4.1节所述,可以为每个下游任务(或 Adapter 集)学习单独的解码映射,但这将带来更高的微调成本。因此,作者提出了一种高效的映射/阈值学习器设计方案,以避免这种成本。

加权Lloyd-Max算法。作者将寻找每个输出通道的最优量化映射和阈值以最小化均方误差的问题表述为加权Lloyd-Max问题。关于该算法的详细描述可参考附录G。

加权Lloyd的LoRA量化。如4.1节所述,作者执行分组归一化,以在每个输出通道内赋予量化更多的尺度。回顾一下,通过分组归一化(第4.1节),每个权重块的缩放由块最大绝对值(absmac)决定。具体来说,如果作者用一个块中的原始权重集合表示为{xi},其最大绝对值为absmac,那么作者将absmac视为加权Lloyd-Max算法中每个块的权重。通过按比例分配更大的权重,算法“更加关注”这些块,并相应地调整它们的区间阈值和中心点。因此,那些值幅度较小(并且absmax也较小)的块受到的惩罚较少,从而在整个块之间取得平衡,以最小化QLoRA的整体量化误差。

在作者的应用中,作者将加权Lloyd算法应用于LoRA基础权重量化。作者初始化阈值,使用NormalFloats[9]中用于2位和4位精度的阈值,并将0.0作为1位量化的初始阈值。然后,在每次迭代中,作者重新计算量化映射作为分配数据的加权中心,并重新计算阈值作为连续映射(中心)值的中点。当达到最大迭代次数或均方误差(MSE)停止下降时,作者输出最后计算的量化映射和阈值。

在作者的当前实现中,作者取所有阈值的平均值以保持分布,并防止与低秩初始化器的交互不稳定。

混合精度量化:通道级精度分配

在本节中,作者介绍了在LowRA中如何进行混合精度量化分配。鉴于前述的任务无关要求,一个简单而有效的目标函数是定义此问题的最小化整体平方误差6(SSE),考虑到基于transformer架构的常规结构[49, 10, 44]。这种公式可以作为有效的 Agent ,以保留更多难以量化的权重通道中的信息。

可以观察到,寻找最优的混合精度方案(相对于SSE)可以表述为一个整数线性规划问题。然而,由于大语言模型中输出通道数量众多,直接使用求解器的方法变得成本过高。例如,解决超过五层的LLaMA-2-7B模型所需时间超过十小时。为了解决这一限制,作者提出了一种两级ILP工作流程(见图4,算法1),在保留基于ILP方法优点的同时,确保了合理的复杂性。

  1. 输入: 个不同的 ,划分 ,均方误差 ,总预算
  2. 步骤1. 计算 ,然后
  3. 步骤2. 对于 ,执行
  4. 循环 到
  5. 步骤3. 在 中对信道进行聚类(例如,基于 MSE 特征的 K-Means 聚类)成 个簇
  6. 步骤4. 簇级 :决定每个簇中多少信道获得多少位宽,满足
  7. 步骤5. 簇内 :在每个簇内,将特定信道分配到相应的位宽
  8. 结束循环
  9. 步骤6. 将最终的位宽组合成
  10. 输出:,总平方和误差,实际使用的位数

(注:由于文本中存在缩写和符号,如 "I L P" 可能指的是 "Interleaving Level Partitioning",但具体含义需根据上下文确定。)

6.1 Pipeline 预处理(步骤1-3)

为了预处理用于层次化整数线性规划(ILP) Pipeline 的通道,作者首先计算每个通道在1位、2位和4位量化下的均方误差(MSE)。接着,作者根据参数数量对通道进行分割,在大语言模型(LLMs)中这通常会产生两种不同的尺寸(例如,LLaMA-2-7B的4096和11008)。在每组内部,作者接着应用三维K-Means聚类(基于三个计算出的MSE值),在作者的实现中,每组形成128个聚类。

6.2 聚类级集成学习策略(步骤4)

首先,形成的聚类将经过以下聚类级ILP(整数线性规划)过程,以分配1位、2位和4位通道的预算。

考虑由个簇组成,每个簇包含个信道()。令为可用的位精度集合。对于每个簇和精度,定义:

该公式旨在通过为每个簇 选择其通道 中有多少分配到每个精度 Level 来最小化总加权量化误差。约束条件确保每个簇的每个通道恰好分配一次,使用的总比特数不超过整体预算 ,并且决策变量保持非负整数且不超过各自簇中通道的数量。

6.31 集群内部集成学习规划(步骤5)

一旦集群层面的ILP确定每个集群c中应将多少个通道分配给每个位精度,第二个ILP将这些分配分配到每个集群内的每个通道。

设 表示簇 中的总通道数。对于簇 中的通道 ,作者定义在精度 下的预计算均方误差为 等于(通道 在精度 下的预计算量化误差)。

作者定义二元决策变量 ,若通道 被分配位精度 ,则 ;否则,。

这个公式构成了簇内整数线性规划(ILP)。目标是最小化总量化误差,其中 是在位精度 下,信道 的预计算均方误差。第一个约束条件确保每个信道恰好分配到一个精度。第二个约束强制每个精度 分配的信道数量与由簇级ILP确定的计数 匹配。最后,二元约束规定每个决策变量 要么为0要么为1。

该集群内ILP确保将所需的通道数(来自集群级ILP)分配给每个比特精度,并在集群内最小化局部均方误差。

在第六步,作者收集每个通道分配的精度。通过采用这种两步分层方法,作者充分利用了ILP求解器的优势,同时保持最小的计算开销。

7. 评估

作者对LowRA在涵盖自然语言生成、多轮对话和长文本摘要的四个数据集上进行评估,结果表明:

  1. 在相同精度下实现更优性能:LowRA在低于4位的所有 Baseline 中表现优于它们,并在4位精度上与其性能相当()。
  2. 在更低精度下保持相同性能:LowRA在平均每参数降低0.86位精度的前提下,实现了可比较的性能()。
  3. 首个在2位以下微调LoRA的方法:LowRA使得在LLaMA-2-7B、LLaMA-2-13B和BART-large上能够微调至1.75位,在LLaMA-30B上可达1.15位(附录S7.4)。
  4. 显著降低内存占用:与QLoRA相比,LowRA在微调和部署过程中将内存使用量减少了30%-50%,性能损失极小(附录S7.5)。
  5. 极小的开销:LowRA中额外的单次预处理成本可以忽略不计(附录E)。

7.1 评估设置

硬件平台实验在NVIDIA A100 GPU(80GB内存)上进行。每个LLaMA实验运行在单个专用GPU上。每个BART-large实验同时在单个GPU上运行两个实例。

为进行公平的比较,作者在所有方法中采用了相同的超参数,与QLoRA [9]和LoftQ [23]保持一致。所选超参数的详细信息见附录I。

图4:基于两步整数线性规划(ILP)的工作流程,用于通道精度分配的语言模型

作者评估了多种大语言模型(LLMs)上的LowRA:LLaMA-2-7B、LLaMA-2-13B [45]、BART-large [20] 和 LLaMA-30B [44](以评估超低比特可扩展性)。

数据集和评估指标:作者在不同的自然语言处理(NLP)任务中使用了标准的数据库:WikiText-2[33](语言模型、困惑度)、Open-Assistant[19](多轮对话、困惑度)、XSUM[35](摘要、ROUGE评分)和CNN/DailyMail[13](摘要、ROUGE评分)。每个数据集都使用先前研究中使用的标准指标进行评估。

7.2 基准方法

QLoRA最初采用固定的4位量化对预训练的LLM进行处理,不支持低于4位的微调。为了进行低于4位的QLoRA实验,作者遵循了LoftQ中介绍的适应性调整。此外,QLoRA在保留原始分布的同时直接量化预训练的权重,用零和小高斯噪声初始化低秩张量。

LoftQ实现了混合精度量化(2位/4位)并联合优化了量化后的LLM权重和低秩 Adapter 初始化。作者匹配了LoftQ的有效批量。表2:不同方法在LLaMA-2-7B、LLaMA-2-13B和BART-large上的性能比较。“'”表示此方法不支持此精度 Level 。“DNC”表示微调无法收敛。LowRA(使用PEFT)不仅在性能-精度权衡方面优于QLoRA和LoftQ,而且还使作者能够在2位以下的范围微调LLMs。QLoRA和LoftQ都使用NormalFloats [9]。在Bart-Large上的LoftQ结果被视为两种策略中的最佳:(1)层按层索引顺序排列;(2)编码器层先于解码器层排列。详见附录K中的详细结果。此外,请参阅附录B进行消融分析。

在规模方面,作者观察到与已发布结果存在差异,原因如下:

(1)可重复性限制——原始作者未发布实验种子或用于混合精度训练的超参数;

(2)硬件差异——作者的实验在一个A100 GPU上运行,而LoftQ是在8个A100 GPU上训练,具有更高的数据并行性;

(3)量化实现——原始的LoftQ实验依赖于模拟量化,正如研究界所指出,这会在量化模型权重中引入差异。相比之下,作者采用了基于CUDA Kernel 的量化和去量化,确保了更准确和硬件对齐的结果。

7.3 关键结果分析

2展示了LowRA与QLoRA和LoftQ在相同精度下的性能比较:在所有低于4位的精度 Level 上,LowRA均优于QLoRA和LoftQ。特别是,在具有挑战性的2位量化中,LowRA实现了相对于QLoRA的困惑度降低:WikiText-2为2.21,Open-Assistant为1.45,相对于LoftQ降低至1.76(WikiText-2)和1.12(Open-Assistant)。

在较低精度下保持相同性能:LowRA通过每个参数减少0.98比特(QLoRA)或0.76比特(LoftQ)(平均而言)实现微调,而不会影响性能。例如,WikiText-2(LLaMA-2-7B)上的2.5比特LowRA与4比特QLoRA相当;Open-Assistant(LLaMA-2-7B)上的1.9比特LowRA与2.5比特LoftQ相当。

7.4 超低比特率下对大语言模型进行微调

进一步探索:1)对更大的LLM进行微调,2)在超低比特精度下的微调。LLaMA-30B在1.15和1.25比特下的结果见表3。LowRA是首个在超低比特 Level 实现准确LoRA微调的方法:在LLaMA-2-7Bll、LLaMA-2-13B和BART-large上为1.75比特,在LLaMA-30B上为1.15比特。

7.5 记忆影响

遵循QLoRA[9]中的分析方法,作者对LowRA在不同量化精度下的内存占用进行了评估。完整的可视化图表见附录C。作者的结果显示,LowRA显著降低了微调和推理过程中的内存使用,使得超低比特率的LoRA在资源受限的硬件上变得可行。

在推理过程中,将精度从4位降低到2位,在LLaMA-2-13B上可降低40%的内存使用量,在LLaMA-2-7B上降低30%(见图8)。将LLaMA-30B压缩至1.15或1.25位,内存占用进一步减少,可降低50%(见图9)。

在微调方面,LowRA同样实现了显著的内存消耗降低。从4位精度降至2位精度,在LLaMA-2-13B上减少了30%的内存消耗,在LLaMA-2-7B上减少了25%(见图7)。在LLaMA-30B上,将参数精度降低至1.15或1.25位,预计可以减少45%的微调内存使用,使得在更严格的内存限制下训练更大的模型成为可能。

这些内存节省在4位QLoRA模型已经高度压缩的情况下尤其显著。通过将精度降至2位以下而仅造成最小性能损失,LowRA使得在显著较小的设备上微调和部署大语言模型成为可能。

例如,经过微调的LLaMA-2-7B模型现在可以部署在Raspberry Pi 4 Model B(4GB RAM)上[12],即使在极端资源受限的环境中,设备上的推理也成为可能。更为引人注目的是,LowRA是第一个实现LLaMA-30B在单个NVIDIA Tesla T4(16GB VRAM)上微调的方法[8],展示了其在民主化大规模大语言模型适应方面的潜力。

结论与未来工作

随着大语言模型(LLMs)的扩展,即使是参数高效的LoRA等方法,微调仍然在计算和内存方面非常密集。作者引入了LowRA,这是第一个能够实现每参数低于2比特的LoRA微调精度的框架。

通过解决量化LoRA的关键限制,LowRA利用细粒度精度分配、自适应量化映射和优化的CUDA Kernel ,在保持性能的同时最小化内存开销。

参考

[1]. LowRA : Accurate and Efficient LoRA Fine-Tuning of LLMs under 2 Bits .

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 未来先知 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 引言
  • 背景与动机
    • 2.1 低秩自适应(LoRA)的LLM应用
    • 2.2 LoRA微调中的量化处理
    • 2.3 现有量化LoRA方法的局限性
  • 第3章 低延迟响应(LowRA)框架
  • 关于设计选择的讨论
    • 4.1 低RA设计选择的背后洞察
  • 第五部分:映射与阈值学习器
  • 混合精度量化:通道级精度分配
    • 6.1 Pipeline 预处理(步骤1-3)
    • 6.2 聚类级集成学习策略(步骤4)
    • 6.31 集群内部集成学习规划(步骤5)
    • 7. 评估
      • 7.1 评估设置
      • 7.2 基准方法
      • 7.3 关键结果分析
      • 7.4 超低比特率下对大语言模型进行微调
      • 7.5 记忆影响
  • 结论与未来工作
    • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档