Skip to content

Commit

Permalink
更新adapter
Browse files Browse the repository at this point in the history
  • Loading branch information
luheng committed Dec 13, 2024
1 parent a7ecedf commit 0b60eb1
Show file tree
Hide file tree
Showing 14 changed files with 16 additions and 7 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,23 @@ LoRA不是唯一选择,Adapters微调大模型的奥秘(一)综述

LoRA(Low-Rank Adapter)[1](#refer-anchor-1) 是最流行的 PEFT 方法之一,如果你刚开始使用 PEFT,它是一个很好的起点。它最初是为大型语言模型开发的,但由于其效率和有效性,它是一种非常流行的扩散模型训练方法。

- 0
![alt text](assest/大模型微调之Adapters(一)概述/0.gif)

LoRA 通过低秩分解用两个较小的矩阵(称为更新矩阵)表示权重更新 ∆W。这些新矩阵可以训练以适应新数据,同时保持参数总数较低。原始权重矩阵保持冻结状态,不会收到任何进一步的更新。为了产生最终结果,将原始权重和额外调整后的权重组合在一起。你还可以将适配器权重与基础模型合并,以消除推理延迟。

### QLoRA

QLoRA(Quantized Low-Rank Adapter)[2](#refer-anchor-2)是一种新型的微调大型语言模型(LLM)的方法,它能够在减少内存使用的同时保持模型性能。这一技术由华盛顿大学提出,主要针对内存需求巨大的问题,使得在单个48GB GPU上微调650亿个参数的模型成为可能,同时保持完整的16位微调任务性能。

-1
![alt text](assest/大模型微调之Adapters(一)概述/1.png)

QLoRA的工作原理是先将预训练语言模型进行4位量化,显著减少模型的内存占用,然后使用低阶适配器(LoRA)方法对量化的模型进行微调。这种方法不仅减少了模型的体积,提高了速度,而且还保留了原始预训练语言模型的大部分准确性。

### AdaLoRA

看到Ada,就得知道是Adaptive的意思。

-2
![alt text](assest/大模型微调之Adapters(一)概述/2.png)

AdaLoRA(Adaptive Low-Rank Adapter)[3](#refer-anchor-3)是一种用于高效微调大型预训练语言模型的方法,它能够自适应地根据权重矩阵的重要性来分配参数预算。这种方法通过将权重矩阵的增量更新参数化为奇异值分解(Singular Value Decomposition, SVD)的形式,有效地剪枝不重要更新的奇异值,减少它们的参数预算,同时避免了进行密集的精确SVD计算。

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ LoRA不是唯一选择,Adapters微调大模型的奥秘(三)QLoRA

## 1.技术解读

- 0
![alt text](assest/大模型微调之Adapters(三)QLoRA/0.png)

QLoRA(Quantized Low-Rank Adaptation)是一种针对大型预训练语言模型(LLM)的高效微调技术。它结合了量化和低秩适配(LoRA)两种技术,旨在减少模型微调过程中的内存占用和计算成本,同时尽量保持模型性能。

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ LoRA(Low-Rank Adapter)[1](#refer-anchor-1) 是最流行的 PEFT 方法之一

## 1.技术解读

- 0
![alt text](<assest/大模型微调之Adapters(二)LoRA/lora_animated (1).gif>)

在大型语言模型中,权重矩阵通常具有较大的维度,这使得在微调时需要处理大量的参数。LoRA方法通过将这些大的权重矩阵分解为两个较小的矩阵的乘积(即低秩分解),来近似表示原始的权重矩阵。这样做的好处是,我们只需要更新这两个较小矩阵的参数,而不是原始大矩阵的所有参数,大大减少了微调的计算成本。

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ LoRA不是唯一选择,Adapters微调大模型的奥秘(四)AdaLoRA

## 1.技术解读

- 0
![alt text](assest/大模型微调之Adapters(四)AdaLoRA/0.png)

AdaLoRA是一种对LoRA技术的改进,它的核心思想是根据模型中不同权重矩阵的重要性来动态分配参数预算。换句话说,它让模型自己决定哪些部分在微调时更重要,从而在这些部分使用更多的参数进行更新,而对于不那么重要的部分则减少参数更新,以此来提高微调效率和模型性能。

Expand Down
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,14 @@

[大模型微调之Soft prompts(五)Multitask prompt tuning](<03-第三章-微调/大模型微调之Soft prompts(五)Multitask prompt tuning.md>)

[大模型微调之Adapters(一)概述](03-第三章-微调/大模型微调之Adapters(一)概述.md)

[大模型微调之Adapters(二)LoRA](03-第三章-微调/大模型微调之Adapters(二)LoRA.md)

[大模型微调之Adapters(三)QLoRA](03-第三章-微调/大模型微调之Adapters(三)QLoRA.md)

[大模型微调之Adapters(四)AdaLoRA](03-第三章-微调/大模型微调之Adapters(四)AdaLoRA.md)

## 第四章-大模型量化

**[⬆ 一键返回目录](#目录)**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,7 @@ $$Var(X) = \sigma^2$$

**你是否考虑过:为什么正态分布是自然界中最常见的分布?** 关注我后面继续分享:中心极限定理 Central Limit Theorem.


## 参考

<div id="refer-anchor-1"></div>
Expand Down
2 changes: 1 addition & 1 deletion pic/common/svg/github.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 0b60eb1

Please sign in to comment.