当前位置: 首页 > news >正文

备案掉了网站会怎样天津建设工程信息网怎么报名的

备案掉了网站会怎样,天津建设工程信息网怎么报名的,网站平台设计,建筑工程网络计划图LORA-FA#xff1a;针对大型语言模型微调的内存高效低秩自适应 paper是香港浸会大学发表在Arxiv 2023的工作 paper title#xff1a;LORA-FA: MEMORY-EFFICIENT LOW-RANK ADAPTATION FOR LARGE LANGUAGE MODELS FINE-TUNING ABSTRACT 低秩自适应 (LoRA) 方法可以大大减少微调…LORA-FA针对大型语言模型微调的内存高效低秩自适应 paper是香港浸会大学发表在Arxiv 2023的工作 paper titleLORA-FA: MEMORY-EFFICIENT LOW-RANK ADAPTATION FOR LARGE LANGUAGE MODELS FINE-TUNING ABSTRACT 低秩自适应 (LoRA) 方法可以大大减少微调大型语言模型 (LLM) 所需的可训练参数数量但是它仍然需要昂贵的激活内存来更新低秩权重。减少 LoRA 层数或使用激活重新计算可能会损害微调性能或增加计算开销。在这项工作中我们提出了 LoRA-FA这是一种内存高效的微调方法它可以在不降低性能和进行昂贵的重新计算的情况下减少激活内存。 LoRA-FA 选择在每个 LoRA 层中冻结 A 的向下投影权重并更新 B 的向上投影权重。它确保在 LLM 微调期间模型权重的变化位于低秩空间中同时无需存储全秩输入激活。我们在多种模型类型RoBERTa、T5、LLaMA和模型规模上进行了广泛的实验。我们的结果表明与全参数微调和 LoRA 相比LoRA-FA 在不同任务中始终能够实现接近的微调精度。此外与 LoRA 相比LoRA-FA 可将总内存成本降低高达 1.4 倍。 1 INTRODUCTION 大型语言模型 (LLM) 已成为自然语言处理的基石 (Brown 等人2020 年Touvron 等人2023aOpenAI2023 年Anil 等人2023 年)并且对预训练的 LLM 进行微调已被证明非常有效可以提高其在各种下游任务中的表现 (Liu 等人2019 年Wei 等人2021 年) 并使它们与人类意图保持一致 (Ouyang 等人2022 年Bai 等人2022 年)。然而对具有完整参数的 LLM 进行微调的成本过高例如使用 AdamWLoshchilov Hutter2017对 LLaMA-65BTouvron et al, 2023a模型进行微调需要超过 1TB 的 GPU 内存来存储模型参数、梯度和优化器状态Rajbhandari et al, 2020。 为了减少全参数微调的内存提出了参数高效微调 (PEFT) 方法仅更新一小部分参数例如适配器权重 (Houlsby et al, 2019; Hu et al, 2022) 和提示权重 (Li Liang, 2021; Lester et al, 2021)。在这些方法中LoRA (Hu et al, 2022) 已证明其性能与全参数微调相当并且已广泛应用于许多应用 (Dettmers et al, 2023)。 具体而言LoRA 在线性层的权重旁边添加了一个并行的低秩适配器如图 1(b) 所示其中 W W W 是预训练的权重 A A A 和 B B B 是低秩权重。由于 LoRA 冻结了 W W W 并仅更新较小的矩阵 A A A 和 B B B因此与图 1(a) 所示的全参数微调相比其可训练参数、梯度和优化器状态的内存开销大幅减少全参数微调可以视为更新 W W W 并冻结 A A A 和 B B B。此外通过将 A B A B AB 的值合并到 W W W 中LoRA 不会引入额外的推理延迟。 图 1(a) 全参数微调 (FT)、(b) LoRA 和 © LoRA-FA 的图示。 然而LoRA 仍然存在局限性因为它需要在 LoRA 层中消耗昂贵的激活内存。这是因为在前馈传递过程中需要存储 X 的大型输入激活并在反向传播传递过程中用于构建 A 的梯度。这意味着与全参数微调相比LoRA 无法降低激活内存成本。例如对输入序列长度为 2048 且批大小为 4 的 LLaMA-65B 进行微调需要在所有 LoRA 层中使用超过 50GB 的激活内存16 位格式。为了解决这个问题现有方法选择一部分线性层进行 LoRA 微调Hu et al, 2022或使用激活重新计算Chen et al, 2016但这会影响微调性能或效率。 在本工作中我们提出了 LoRA with Frozen-ALoRA-FA该方法可以在不增加计算开销的情况下大幅减少 LoRA 的激活内存占用。具体来说LoRA-FA 选择同时冻结预训练权重 W W W 和降维权重 A A A仅更新升维权重 B B B如图 1© 所示。通过这种方式我们仅需计算 B B B 的梯度而在前向传播过程中只需存储较小的输入 A X A X AX。 假设 W ∈ R d × d , A ∈ R d × r W \in \mathbb{R}^{d \times d}, A \in \mathbb{R}^{d \times r} W∈Rd×d,A∈Rd×r以及 B ∈ R r × d B \in \mathbb{R}^{r \times d} B∈Rr×d降维权重 A A A 将 d d d 维输入 X X X 映射为 r r r 维输入 X A X A XA。由于 r ≪ d r \ll d r≪dLoRA-FA 的激活内存需求可以显著降低。例如LoRA-FA秩大小 r 4 r4 r4可以将 LLaMA-65B隐藏维度 d 8192 d8192 d8192线性层的激活内存需求相比全参数微调减少 2048 倍。同时LoRA-FA 将可训练参数的数量从 d 2 d^2 d2 降至 d r d r dr同样减少了 2048 倍。 我们将 A A A 随机初始化为服从正态分布的矩阵通常为秩 r r r 的矩阵并将 B B B 初始化为零。这确保了在微调开始前预训练模型与包含 LoRA-FA 模块的模型预测保持一致。在模型适配过程中LoRA-FA 固定 A A A 并更新 B B B 来提升模型性能这意味着模型权重的变化 Δ W A B \Delta WA B ΔWAB 局限于初始 A A A 的列空间定义的低秩空间。 实验结果表明LoRA-FA 已足够用于微调大语言模型LLMs。此外LoRA-FA 不改变 LoRA 的前向传播和反向传播计算除了跳过 A A A 的梯度计算因此在微调阶段不会增加计算开销。在推理阶段与 LoRA 类似LoRA-FA 可以通过将低秩权重 A B A B AB 合并到 W W W 中实现与全参数微调模型相比不会引入额外的推理延迟。 我们对多种模型类型和规模进行了广泛的实验。我们在自然语言理解任务上对 RoBERTaLiu 等人2019 年、在机器翻译任务上对 T5Raffel 等人2020 年以及在 MMLUHendrycks 等人2021 年基准上对 LLaMATouvron 等人2023a进行了微调。我们发现与全参数微调 (FT) 和 LoRA 相比我们的 LoRA-FA 可以在许多任务中实现非常接近的模型精度。在内存开销方面与全参数微调和 LoRA 相比我们的 LoRA-FA 可以将总内存成本分别降低高达 2 倍和 1.4 倍。例如LoRA-FA 将微调 LLaMA-7B 模型的内存占用从 56GB 减少到 27.5GB。这意味着我们可以使用更低的资源预算例如更便宜的 GPU 服务内存更小来实现相同的微调性能。此外我们研究了超参数的影响结果表明 LoRA-FA 对超参数具有很强的鲁棒性。 总之LoRA-FA 有几个关键优势1通过减少可训练参数和激活的数量来提高内存效率2它不会增加微调阶段的计算开销也不会增加推理阶段的延迟开销3与全参数微调相比它在许多模型和任务中实现了类似的模型性能。 2 BACKGROUND 2.1 LARGE LANGUAGE MODELS 我们专注于基于 Transformer 的大型语言模型 (LLM)。Transformer 模型最早在 (Vaswani et al, 2017) 中提出用于机器翻译任务。后来不同的 Transformer 模型被用于语言建模 (即预训练)预训练模型适用于许多下游任务 (Kenton Toutanova, 2019; Raffel et al, 2020; Brown et al, 2020)。 以仅解码器的 GPT (Brown et al, 2020) 模型为例它由 L 个堆叠的 Transformer 块组成每个块有两个子模块多头注意力 (MHA) 和前馈网络 (FFN)。在 MHA 中三个线性层将输入转换为查询、键和值它们被输入到自注意力中进行交互注意力输出被发送到另一个线性层。 在 FFN 中我们有两个线性层和它们之间的 GeLU 激活函数。对于 MHA 和 FFN应用层规范和残差连接来提高模型性能。在 LLM 中这些线性层中的权重通常占模型参数的大多数并负责大部分计算浮点运算。 2.2 LOW-RANK ADAPTATION 随着微调大型语言模型LLMs的全参数方法成本的不断增加参数高效微调PEFT方法尤其是 LoRAHu et al., 2022被提出通过仅更新模型参数的一小部分来减轻内存开销同时实现与全参数微调 LLMs 可比的性能。具体来说LoRA 在线性层的权重旁添加了一个低秩适配器其计算公式如下 Y X W α X A B Y X W \alpha X A B YXWαXAB 其中 W ∈ R d in × d out W \in \mathbb{R}^{d_{\text{in}} \times d_{\text{out}}} W∈Rdin​×dout​ 是预训练权重 d in d_{\text{in}} din​ 是输入维度 d out d_{\text{out}} dout​ 是输出维度。我们忽略偏置项因为它不会影响分析。 X ∈ R b × s × d in X \in \mathbb{R}^{b \times s \times d_{\text{in}}} X∈Rb×s×din​ 和 Y ∈ R b × s × d out Y \in \mathbb{R}^{b \times s \times d_{\text{out}}} Y∈Rb×s×dout​ 分别为输入和输出张量 b b b 是批大小 s s s 是序列长度。对于 LoRA 部分 A ∈ R d in × r A \in \mathbb{R}^{d_{\text{in}} \times r} A∈Rdin​×r 是降维权重 B ∈ R r × d out B \in \mathbb{R}^{r \times d_{\text{out}}} B∈Rr×dout​ 是升维权重 r r r 是秩大小 α 0 \alpha 0 α0 是超参数通常设置为 1 / r 1 / r 1/r。 对于如 GPTBrown et al., 2020这样的 Transformer 模型我们通常有 d in d out d d_{\text{in}} d_{\text{out}} d din​dout​d适用于多头注意力MHA的四个线性层而对于前馈网络FFN的第一或第二线性层有 d in d , d out 4 d d_{\text{in}} d, d_{\text{out}} 4d din​d,dout​4d或 d in 4 d , d out d d_{\text{in}} 4d, d_{\text{out}} d din​4d,dout​d其中 d d d 是隐藏维度。默认情况下我们在 Transformer 块的所有线性层中添加 LoRA 模块以增强微调性能Zhang et al., 2023b。 内存复杂度 对于全参数微调我们需要更新线性层的权重 W W W其元素数量为 d in × d out d_{\text{in}} \times d_{\text{out}} din​×dout​GPT 类型模型的权重总数为 n 12 d 2 L n 12d^2L n12d2L。对于 LoRA仅需更新两个低秩矩阵其元素数量为 ( d in d out ) r \left(d_{\text{in}} d_{\text{out}}\right)r (din​dout​)rGPT 的 LoRA 参数总数为 n r 18 d r L n_r 18drL nr​18drL。因此当秩大小 r ≪ d r \ll d r≪d 时LoRA 可以显著减少可训练参数的数量。 在16位混合精度训练环境下全参数微调需要 2 n 2n 2n 字节用于模型权重以及 14 n 14n 14n 字节用于梯度和优化器状态32位 AdamW 的状态和参数副本Rajbhandari et al., 2020。相比之下LoRA 需要 2 n 2n 2n 字节用于模型权重以及 16 n r 16n_r 16nr​ 字节用于适配器相关的权重、梯度和优化器状态。这意味着当 n r ≪ n n_r \ll n nr​≪n或 r ≪ d r \ll d r≪d时LoRA 可以将这一部分的内存开销减少约 8 倍。 然而在激活内存开销方面情况有所不同。全参数微调需要存储输入 X X X 以计算 W W W 的梯度而 LoRA 需要存储输入 X X X 以计算 A A A 的梯度同时还需要存储低秩输入 X A XA XA 以计算 B B B 的梯度。具体而言在 16 位精度下LoRA 和全参数微调分别需要 14 b s d L 8 b s r L 14 b s d L 8 b s r L 14bsdL8bsrL 字节和 14 b s d L 14 b s d L 14bsdL 字节的激活内存其中 b b b 是批大小 s s s 是序列长度 d d d 是隐藏维度 L L L 是层数。此外二者在其他组件如注意力、GeLU 和层归一化中也会消耗激活内存Korthikanti et al., 2023。 因此与全参数微调相比LoRA 无法减少甚至可能增加激活内存的开销这不幸地成为了新的内存瓶颈。 减少激活内存的挑战。有两种方法可以降低 LoRA 的激活记忆成本。首先我们可以将 LoRA 模块添加到少数线性层中例如 Transformer 模型中的查询和值投影 (Hu et al, 2022)因此没有 LoRA 的其他冻结线性层不需要存储其输入激活。然而这种方法可能会影响微调任务的性能 (Dettmers et al, 2023)并且还带来了选择使用 LoRA 进行微调的层的难度 (Zhang et al, 2023b)。其次已经提出了激活重新计算 (Chen et al, 2016; Korthikanti et al, 2023)以在前馈传递期间仅检查每个 Transformer 块的输入并在反向传播传递期间从此检查点开始重新计算其他必要的激活。然而激活重新计算具有非常昂贵的重新计算成本这会引入大约 1/3 的总计算次数。 3 LORA-FA METHOD 首先我们介绍了 LoRA-FA 方法的设计从低秩模型自适应的角度对其进行了解释并分析了其在减少内存开销方面的优势。其次我们表明 LoRAFA 可以集成到其他内存优化技术中以提高其利用率。第三我们讨论了 LoRA-FA 与梯度压缩之间的关系。 3.1 LORA WITH FROZEN-A LoRA 方法更新了两个低秩矩阵 A A A 和 B B B并将 A B A B AB 作为线性层预训练冻结权重 W W W 的变化即 W α Δ W W α A B W \alpha \Delta W W \alpha A B WαΔWWαAB。如前所述LoRA 不直接更新 W W W因此能够显著减少可训练参数的数量但仍需消耗昂贵的激活内存。 为了应对这一问题我们提出了 LoRA with Frozen-ALoRA-FA在微调过程中冻结 W W W 和 A A A仅更新 B B B。具体来说我们将 A A A 随机初始化为服从正态分布的矩阵通常是秩为 r r r 的矩阵并将 B B B 初始化为零这样 Δ W A B \Delta W A B ΔWAB 初始为零因此在微调开始前模型预测不会受到影响。 低秩模型适配 在微调过程中如图 1© 所示我们冻结初始化的 A A A 和预训练的 W W W仅更新升维权重 B B B。因此模型适配期间的权重变化限制在低秩空间内表示为 Δ W A B Q B ˉ ∑ i 1 r Q : , i B ˉ i , : \Delta W A B Q \bar{B} \sum_{i1}^r Q_{:, i} \bar{B}_{i,:} ΔWABQBˉi1∑r​Q:,i​Bˉi,:​ 其中 A Q R A Q R AQR 是 A A A 的 QR 分解 Q Q Q 的 r r r 列即 Q : , i Q_{:, i} Q:,i​ i 1 , ⋯ , r i1, \cdots, r i1,⋯,r是正交单位向量当 A A A 是秩为 r r r 的矩阵时成立。我们记 B ˉ R B \bar{B} R B BˉRB推导得 Δ W : , j ∑ i 1 r B ˉ i j Q : , i \Delta W_{:, j} \sum_{i1}^r \bar{B}_{i j} Q_{:, i} ΔW:,j​∑i1r​Bˉij​Q:,i​因此 Δ W \Delta W ΔW 的任何一列都是 r r r 个正交向量的组合。换句话说权重变化位于由 A A A 的列空间定义的低秩空间中。 内存复杂度 我们详细分析了 LoRA-FA 的内存复杂度。对于 LoRA-FA 模块它仅计算 B B B 的梯度包含 d out × r d_{\text{out}} \times r dout​×r 个元素。在 GPT 类型模型中总的可训练参数为 n r / 2 9 d r L n_r / 2 9 d r L nr​/29drL即 LoRA 可训练参数的一半。因此在 16 位混合精度训练中模型权重和适配器相关状态的内存开销为 2 n 8 n r 2n 8n_r 2n8nr​ 字节。 更重要的是就激活内存而言LoRA-FA 仅需存储低秩输入 X A X A XA 以计算 B B B 的梯度这对所有 LoRA-FA 模块来说需 8 b s r L 8 b s r L 8bsrL 字节16 位。与全参数微调相比LoRA-FA 通过显著减少可训练参数和输入激活的数量在内存效率上具有明显优势。 3.2 COMBINATION WITH MEMORY OPTIMIZATIONS LoRA-FA 可以自然地与先进的内存优化方法相结合例如权重量化Dettmers 等人2023 年、权重分片Rajbhandari 等人2020 年和选择性激活重新计算Korthikanti 等人2023 年。 权重量化 如前所述16 位格式下模型权重的内存开销为 2 n 2n 2n其中 n n n 是模型参数的数量。例如LLaMA-65B 模型的权重内存开销为 130GB无法装载到一块 NVIDIA A100 (80GB) GPU 上。在 LoRA-FA 中由于模型权重在微调过程中是冻结的我们可以将其量化为更低的位宽以减少模型权重的内存开销同时不影响微调性能。例如8 位Dettmers et al., 2022a和 4 位量化方法Dettmers et al., 2023可以与 LoRA-FA 结合将模型权重内存减少至原来的 1/2 或 1/4。 权重切分 在使用数据并行技术在多块 GPU 上训练 LLM 时可以结合权重切分或 ZeRO 第 3 阶段Rajbhandari et al., 2020技术将模型权重切分到不同的 GPU 上从而将每块 GPU 的内存开销减少为原来的 1 / g 1 / g 1/g其中 g g g 是 GPU 的数量。与全参数微调中使用 ZeRO 第 3 阶段不同我们仅对模型权重进行切分并在前向和反向传播计算中进行权重收集而不对适配器相关权重、其梯度和优化器状态进行切分。然而在 LoRA-FA 中权重切分引入了代价高昂的权重收集通信开销而数据并行技术仅需通信少量可训练参数的梯度。 选择性激活重计算 Transformer 模型的其他组件如注意力机制、层归一化、GeLU 和 dropout也会导致激活内存开销Korthikanti et al., 2023。为了解决这个问题可以使用完整激活重计算来存储每个 Transformer 块的输入。然而这将使 LoRA-FA 相较于 LoRA 的内存优势丧失因为在完整激活重计算下无需为 LoRA 层存储输入。 为了平衡激活开销和重计算开销我们采用选择性激活重计算仅对部分模型组件进行重计算。例如FlashAttentionDao et al., 2022可以消除注意力机制中 softmax 输出的内存开销同时通过减少高带宽内存HBM访问加速注意力计算。此外我们可以通过存储随机生成器状态来精确重现 dropout 掩码从而实现 dropout 的重计算。 3.3 RELATION TO GRADIENT COMPRESSION 我们探讨 LoRA-FA 与低秩梯度压缩Vogels et al., 2019Zhang et al., 2023a之间的关系。对于一个 LoRA-FA 层为简化省略 α \alpha α即 Y X W X A B Y X W X A B YXWXAB B B B 的梯度计算为 d B A T X T d Y A T d W d B A^T X^T d Y A^T d W dBATXTdYATdW 在标准 SGD 的单步更新中 B B B 的变化为 Δ B − η d B \Delta B -\eta d B ΔB−ηdB其中 η \eta η 是学习率。因此冻结 A A A 时 W W W 的变化为 Δ W A Δ B − η A A T d W \Delta W A \Delta B -\eta A A^T d W ΔWAΔB−ηAATdW 其中 d W d W dW 是 W W W 的梯度。这表明LoRA-FA 等价于一种低秩梯度压缩方法用于全参数微调。在这种方法中计算得到的权重梯度通过 A T d W A^T d W ATdW 被压缩以减少梯度通信开销然后通过 A ( A T d W ) A\left(A^T d W\right) A(ATdW) 被解压缩。 由于 A A A 是从正态分布初始化的我们有 E [ A A T d W ] E [ A A T ] d W r d W \mathbb{E}\left[A A^T d W\right] \mathbb{E}\left[A A^T\right] d W r d W E[AATdW]E[AAT]dWrdW 这表明这种方法几乎是无偏的梯度压缩。 然而梯度压缩在微调大型语言模型LLMs时相较于 LoRA-FA 并无优势因为梯度压缩仍然需要更新全部参数带来较大的内存开销而 LoRA-FA 仅需少量可训练权重也能在数据并行设置下减少梯度通信。此外当使用自适应优化方法如 AdamW时这两种方法会表现出不同的行为。
http://www.ho-use.cn/article/10824365.html

相关文章:

  • 建设网站的app2018什么做网站
  • 南京网站优化平台文案馆logo设计
  • 网站开发小工具教育类网站配色
  • 做网站的软件pagewordpress 插件管理
  • top wang域名做网站好营销方案餐饮
  • 仿卢松松博客网站源码做网站和做网店哪个好
  • 付费做网站关键词优化是怎么做的呀ui设计原型图
  • 自贡网站开发公司电子商务网站建设 名词解释
  • 做淘宝美工图片网站网站seo技术能不能赚钱
  • 潍坊哪里有做360网站护栏做网站还是自媒体更适合赚钱
  • 从零做网站模板asp静态网站源码
  • 卫生局网站建设方案高校档案网站建设的目的是什么意思
  • 网站建设组织管理怎么写网站 设计公司 温州
  • 南京网站建设王道下拉強哪个网站帮忙做户型方案
  • 化妆品电子商务网站建设规划书红色网站主题
  • 甘肃省建设部网站首页直播网站建设目的
  • 精品网站建设教程重庆 手机网站制作
  • 哪个网站做线路攻略做得好seo流量
  • 义乌网站建设推广织带东莞网站建设技术支持
  • 南宁网站怎么制作公司广州网站推广公司
  • 做校园网站代码微商城是怎么做的
  • wordpress登陆重定向seo俱乐部
  • 查公司资质在哪个网站wordpress中文免费主题
  • 姜堰网网站wordpress验证密码错误
  • 医院做网站开发wordpress 三主题公园
  • 政务网站平台建设 招标wordpress模板云端
  • 图片网站怎么做优化wordpress主题移动
  • 个人网站写什么好网页制作需要会哪些
  • 网站做su什么意思wordpress前端找回密码
  • 用花瓣网站上的图片做游戏行吗蚌埠企业网站建设套餐