国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

邁向高效LLM微調(diào):低秩適應(yīng)(LoRA)技術(shù)的原理與實踐

這篇具有很好參考價值的文章主要介紹了邁向高效LLM微調(diào):低秩適應(yīng)(LoRA)技術(shù)的原理與實踐。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

邁向高效LLM微調(diào):低秩適應(yīng)(LoRA)技術(shù)的原理與實踐,人工智能,深度學習,機器學習

在快速發(fā)展的人工智能領(lǐng)域中,以高效和有效的方式使用大型語言模型(LLM)變得越來越重要。在本文中,您將學習如何以計算高效的方式使用低秩適應(yīng)(LoRA)對LLM進行調(diào)整!

為什么需要微調(diào)?

預(yù)訓練的大型語言模型通常被視為基礎(chǔ)模型,原因很充分:它們在各種任務(wù)上表現(xiàn)良好,我們可以將它們作為基礎(chǔ)來對特定任務(wù)進行微調(diào)。正如我們在前一篇文章中討論的(一文讀懂大型語言模型參數(shù)高效微調(diào):Prefix Tuning與LLaMA-Adapter),我們討論了微調(diào)使我們能夠?qū)⒛P瓦m應(yīng)于目標領(lǐng)域和目標任務(wù)。但這可能在計算上非常昂貴 —— 模型越大,更新其層的成本就越高。

作為更新所有層的替代方案,已經(jīng)開發(fā)出了如前綴調(diào)整和適配器等參數(shù)高效的方法?,F(xiàn)在,還有一種流行的參數(shù)高效微調(diào)技術(shù):低秩適應(yīng)(LoRA)由Hu等人提出。什么是LoRA?它是如何工作的?它與其他流行的微調(diào)方法相比如何?讓我們在這篇文章中回答所有這些問題!

邁向高效LLM微調(diào):低秩適應(yīng)(LoRA)技術(shù)的原理與實踐,人工智能,深度學習,機器學習

使權(quán)重更新更加高效

基于上述思想,論文《LoRA:大型語言模型的低秩適應(yīng)》提出將權(quán)重變化 ΔW 分解為低秩表示。 (為了技術(shù)上的準確性,LoRA 并不直接分解矩陣,而是通過反向傳播學習分解后的矩陣 —— 這是一個細微的細節(jié),稍后將會有所說明)。

在我們仔細研究 LoRA 之前,讓我們簡要地解釋一下常規(guī)微調(diào)期間的訓練過程。那么,權(quán)重變化 ΔW 是什么呢?假設(shè) W 代表給定神經(jīng)網(wǎng)絡(luò)層中的權(quán)重矩陣。然后,使用常規(guī)反向傳播,我們可以得到權(quán)重更新 ΔW,它通常計算為損失的負梯度乘以學習率:

ΔW = α ( -? LW)。

接著,當我們有了 ΔW,我們可以按照以下方式更新原始權(quán)重:W' = W + ΔW。這在下圖中有所說明(為簡單起見省略了偏置向量):

或者,我們可以將權(quán)重更新矩陣保持獨立,并按照以下方式計算輸出:h = W x + ΔW x,

邁向高效LLM微調(diào):低秩適應(yīng)(LoRA)技術(shù)的原理與實踐,人工智能,深度學習,機器學習

x代表的是輸入,如下圖所示:

邁向高效LLM微調(diào):低秩適應(yīng)(LoRA)技術(shù)的原理與實踐,人工智能,深度學習,機器學習

為什么要這么做?目前,這種替代性的表述用于教學目的,以便說明 LoRA,但我們稍后會回到這一點。

因此,當我們訓練神經(jīng)網(wǎng)絡(luò)中的全連接(即“密集”)層時,如上所示,權(quán)重矩陣通常具有滿秩,這是一個技術(shù)術(shù)語,意味著矩陣沒有任何線性相關(guān)(即“冗余”)的行或列。與滿秩相反,低秩意味著矩陣具有冗余的行或列。

因此,雖然預(yù)訓練模型的權(quán)重在預(yù)訓練任務(wù)上是滿秩的,但 LoRA 的作者指出,根據(jù) Aghajanyan 等人(2020)的研究,預(yù)訓練的大型語言模型在適應(yīng)新任務(wù)時具有低“內(nèi)在維度”。

低內(nèi)在維度意味著數(shù)據(jù)可以通過較低維度的空間有效表示或近似,同時保留其大部分基本信息或結(jié)構(gòu)。換句話說,這意味著我們可以將適應(yīng)任務(wù)的新權(quán)重矩陣分解為低維(更?。┑木仃?,而不會丟失太多重要信息。

例如,假設(shè) ΔW 是 A × B 權(quán)重矩陣的權(quán)重更新。然后,我們可以將權(quán)重更新矩陣分解為兩個較小的矩陣:ΔW = WA WB,其中 WA 是一個 A × r 維矩陣,WB 是一個 r × B 維矩陣。在這里,我們保持原始權(quán)重 W 不變,只訓練新矩陣 WA 和 WB。簡而言之,這就是 LoRA 方法,如下圖所示。

邁向高效LLM微調(diào):低秩適應(yīng)(LoRA)技術(shù)的原理與實踐,人工智能,深度學習,機器學習

選擇秩

請注意,在上面的圖中,r 是一個超參數(shù),我們可以用它來指定用于適應(yīng)的低秩矩陣的秩。較小的 r 會導(dǎo)致更簡單的低秩矩陣,這意味著在適應(yīng)過程中需要學習的參數(shù)更少。這可以導(dǎo)致更快的訓練和潛在的計算需求減少。然而,使用較小的 r,低秩矩陣捕獲任務(wù)特定信息的能力會降低。這可能導(dǎo)致適應(yīng)質(zhì)量降低,模型在新任務(wù)上的表現(xiàn)可能不如使用更高的 r??傊?LoRA 中選擇較小的 r 有一個折中的選擇,涉及模型復(fù)雜性、適應(yīng)能力以及欠擬合或過擬合的風險。因此,嘗試不同的 r 值以找到實現(xiàn)新任務(wù)所需性能的正確平衡是很重要的。

實現(xiàn) LoRA

LoRA 的實現(xiàn)相對簡單。我們可以將其視為 LLM 中全連接層的修改后的前向傳播。用偽代碼表示,它看起來如下所示:

input_dim = 768  # e.g., the hidden size of the pre-trained model
output_dim = 768  # e.g., the output size of the layer
rank = 8  # The rank 'r' for the low-rank adaptation

W = ... # from pretrained network with shape input_dim x output_dim

W_A = nn.Parameter(torch.empty(input_dim, rank)) # LoRA weight A
W_B = nn.Parameter(torch.empty(rank, output_dim)) # LoRA weight B

# Initialization of LoRA weights
nn.init.kaiming_uniform_(W_A, a=math.sqrt(5))
nn.init.zeros_(W_B)

def regular_forward_matmul(x, W):
    h = x @ W
return h

def lora_forward_matmul(x, W, W_A, W_B):
    h = x @ W  # regular matrix multiplication
    h += x @ (W_A @ W_B)*alpha # use scaled LoRA weights
return h

在上述偽代碼中,alpha 是一個調(diào)節(jié)組合結(jié)果(原始模型輸出加上低秩適應(yīng))大小的縮放因子。這平衡了預(yù)訓練模型的知識和新任務(wù)特定的適應(yīng) —— 默認情況下,alpha 通常設(shè)置為 1。另外請注意,雖然 WA 初始化為小的隨機權(quán)重,但 WB 初始化為 0,因此ΔW = WA WB = 0 在訓練開始時,意味著我們開始訓練時使用原始權(quán)重。

參數(shù)效率

現(xiàn)在,讓我們解決一個重要問題:如果我們引入新的權(quán)重矩陣,這怎么可能是參數(shù)高效的呢?新的矩陣 WA 和 WB 可以非常小。例如,假設(shè) A=100 和 B=500,則 ΔW 的大小是 100 × 500 = 50,000。現(xiàn)在,如果我們將其分解為兩個較小的矩陣,一個 100×5 維的矩陣 WA 和一個 5×500 維的矩陣 WB。這兩個矩陣總共只有 5× 100 + 5 × 500 = 3,000 個參數(shù)。

減少推理開銷

請注意,在實踐中,如果我們像上面所示在訓練后保持原始權(quán)重 W 和矩陣 WA 和 WB 分開,我們將在推理時產(chǎn)生小的效率損失,因為這引入了額外的計算步驟。相反,我們可以通過 W’ = W + WA WB 在訓練后更新權(quán)重,類似于之前提到的 W’ = W + ΔW。

然而,在保持權(quán)重矩陣 WA 和 WB 分開的情況下也有實際優(yōu)勢。例如,假設(shè)我們想保留我們的預(yù)訓練模型作為各個客戶的基礎(chǔ)模型,并希望從基礎(chǔ)模型開始為每個客戶創(chuàng)建一個微調(diào)的 LLM。在這種情況下,我們不需要為每個客戶存儲完整的權(quán)重矩陣 W’,而存儲所有權(quán)重 W’ = W + WA WB 的模型對于 LLM 來說可能非常大,因為 LLM 通常有數(shù)十億到數(shù)萬億的權(quán)重參數(shù)。因此,我們可以保留原始模型 W 并只需要存儲新的輕量級矩陣 WA 和 WB。

用具體數(shù)字來說明這一點,一個完整的 7B LLaMA 檢查點需要 23 GB 的存儲容量,而如果我們選擇 r=8 的秩,LoRA 權(quán)重可以小到 8 MB。

它在實踐中有多好

LoRA 在實踐中有多好,它與完全微調(diào)和其他參數(shù)高效方法相比如何?根據(jù) LoRA 論文,使用 LoRA 的模型在多個任務(wù)特定基準測試中的建模性能略優(yōu)于使用適配器、提示調(diào)整或前綴調(diào)整的模型。通常,LoRA 甚至比微調(diào)所有層的性能更好,如下面 LoRA 論文中帶有注釋的表格所示。(ROUGE 是評估語言翻譯性能的指標,我在這里詳細解釋過。)

邁向高效LLM微調(diào):低秩適應(yīng)(LoRA)技術(shù)的原理與實踐,人工智能,深度學習,機器學習

值得注意的是,LoRA 與其他微調(diào)方法是正交的,這意味著它也可以與前綴調(diào)整和適配器等方法結(jié)合使用。

LoRA 和 LLaMA

現(xiàn)在,讓我們使用 LoRA 實現(xiàn)對 Meta 流行的 LLaMA 模型的微調(diào)。由于這已經(jīng)是一篇很長的文章,我將避免在本文中包含詳細的代碼,但我建議查看 Lit-LLaMA 倉庫,這是 Meta 流行的 LLaMA 模型的一個簡單、易讀的重新實現(xiàn)。 除了用于訓練和運行 LLaMA 本身的代碼(使用原始 Meta LLaMA 權(quán)重),它還包含使用 LLaMA-Adapter和 LoRA 微調(diào) LLaMA 的代碼。 要開始使用,我推薦以下操作指南:

  1. 下載預(yù)訓練權(quán)重 [ download_weights.md ]
  2. 使用 LoRA 微調(diào) [ finetune_lora.md ]
  3. 使用適配器微調(diào) [ finetune_adapter.md ](可選,用于比較研究) 在下一節(jié)中,我們將比較 7B LLaMA 基礎(chǔ)模型與使用 LoRA 和 LLaMA-適配器微調(diào)的 7B LLaMA 基礎(chǔ)模型。(請注意,這需要至少 24 GB RAM 的 GPU)。(有關(guān) LLaMA-適配器方法的更多詳細信息,請參閱我之前的文章)

計算性能基準測試 在本節(jié)中,我們將比較 LLaMA 7B 基礎(chǔ)模型與使用 LoRA 和 LLaMA-適配器微調(diào)的基礎(chǔ)模型的計算性能。 微調(diào)數(shù)據(jù)集是此處描述的 Alpaca 52k 指令數(shù)據(jù)集,其結(jié)構(gòu)如下:

邁向高效LLM微調(diào):低秩適應(yīng)(LoRA)技術(shù)的原理與實踐,人工智能,深度學習,機器學習

數(shù)據(jù)集本身是按照《Self-Instruct》論文中描述的方法生成的,包含49,759個訓練樣例和2000個驗證樣例。Self-Instruct程序可以概括為4個步驟:

這是如何工作的?簡而言之,它是一個四步過程:

1. 使用一組人類編寫的指令(本例中為175條)填充任務(wù)池,并抽取指令樣本。

2. 使用預(yù)訓練的LLM(如GPT-3)確定任務(wù)類別。

3. 根據(jù)新指令,讓預(yù)訓練的LLM生成響應(yīng)。

4. 收集、剪輯和過濾響應(yīng),然后將其添加到任務(wù)池中。

邁向高效LLM微調(diào):低秩適應(yīng)(LoRA)技術(shù)的原理與實踐,人工智能,深度學習,機器學習

請注意,Alpaca 52k 數(shù)據(jù)集是使用上述自動自指導(dǎo)程序收集的。然而,你也可以使用(或與之比較)另一個數(shù)據(jù)集。例如,一個有趣的候選數(shù)據(jù)集是近期發(fā)布的開源 databricks-dolly-15k 數(shù)據(jù)集,該數(shù)據(jù)集包含約15k條由 Databricks 員工編寫的指令/響應(yīng)微調(diào)記錄。如果您想使用 Dolly 15k 數(shù)據(jù)集而不是 Alpaca 52k 數(shù)據(jù)集,Lit-LLaMA 倉庫包含了一個數(shù)據(jù)準備腳本。

考慮到以下超參數(shù)設(shè)置(塊大小、批次大小和 LoRA r),適配器和 LoRA 都可以在單個具有24 Gb RAM的GPU上使用 bfloat-16 混合精度訓練對7B參數(shù)的 LLaMA 基礎(chǔ)模型進行微調(diào)。

LoRA

learning_rate = 3e-4
batch_size = 128
micro_batch_size = 4
gradient_accumulation_steps = batch_size // micro_batch_size
epoch_size = 50000 # train dataset size
num_epochs = 5
max_iters = num_epochs * epoch_size // micro_batch_size // devices
weight_decay = 0.0
block_size = 512
lora_r = 8
lora_alpha = 16
lora_dropout = 0.05
warmup_steps = 100

LaMA Adapter

learning_rate = 9e-3
batch_size = 128 / devices
micro_batch_size = 4
gradient_accumulation_steps = batch_size // micro_batch_size
epoch_size = 50000 # train dataset size
num_epochs = 5
max_iters = num_epochs * epoch_size // micro_batch_size // devices
weight_decay = 0.02
block_size = 512
warmup_steps = epoch_size * 2 // micro_batch_size // devices

鑒于代碼未來可能會發(fā)生變化,在這里提供了 GitHub 上的代碼(包括超參數(shù)設(shè)置)。

適配器大約使用了22 GB內(nèi)存,在A100上完成了62,400次迭代,耗時162分鐘。LoRA使用了21 GB內(nèi)存,耗時192分鐘。總的來說,根據(jù) Lit-LLaMA 的實現(xiàn),適配器和 LoRA 使用大致相同的內(nèi)存量,并且訓練時間大致相同。(請注意,這是在單個 GPU 上的情況,但如果您有多個 GPU,只需將設(shè)備參數(shù)改為 > 1 即可利用額外的加速!)

作為比較,完全微調(diào)(LLaMA 7B 包括32個變壓器塊和3個全連接輸出層)至少需要2個GPU,每個至少30 GB,并進行完全分片訓練以分配權(quán)重?;蛘?,您可以使用4個 GPU,每個 GPU 的最大內(nèi)存使用量為22 GB。4個 GPU 上的訓練耗時1956分鐘。在單個 GPU 上,這將至少需要6,000分鐘,這比參數(shù)高效的LLaMA-適配器或 LoRA 替代方案貴30-40倍。

接下來,讓我們看看應(yīng)用不同微調(diào)策略后的模型輸出。

評估建模性能

評估 LLM 生成的文本有幾種指標。例如,困惑度、BLEU 和 ROUGE 得分是自然語言處理中用于評估 LLM 在各種任務(wù)上性能的一些最常用評估指標。然而,所有這些指標都有顯著的缺陷,人類評估仍然是黃金標準——人類評估的缺點是它們昂貴且難以自動化。鑒于這已經(jīng)是一篇很長的文章,我將避免詳細討論模型評估方法,并將其推遲到將來的一篇單獨的文章中。在這篇未來的文章中,我們將研究不同的問答數(shù)據(jù)集。因此,為簡單起見,我們將只關(guān)注下面的定性模型比較,看看不同模型生成的一些輸出。

定性比較

為了定性地比較這些模型,我們將使用提示:“請解釋權(quán)重衰減是如何工作的”。
Base model

$ python generate.py \
--checkpoint_path checkpoints/lit-llama/7B/lit-llama.pth

“請解釋權(quán)重衰減是如何工作的……以及為什么有時它似乎有效,有時又不行!用最簡單的術(shù)語來說,權(quán)重衰減從模型中移除特征(作為它們重要性的函數(shù))。這也被稱為正則化?!?/p>

正如我們所見,模型開始繼續(xù)提示,添加“……為什么有時它似乎有效,有時又不行!”這是因為基礎(chǔ)模型只在下一個詞預(yù)測任務(wù)上進行了訓練,沒有特別針對遵循指令進行訓練。盡管如此,它在下文中嘗試了解釋。這個解釋對正則化總體上做了一些正確的陳述,但它并沒有真正抓住權(quán)重衰減的關(guān)鍵機制。

LLaMA-Adapter

$ python generate_adapter.py \
--adapter_path out/adapter/alpaca/lit-llama-adapter-finetuned.pth \
--pretrained_path checkpoints/lit-llama/7B/lit-llama.pth

“權(quán)重衰減是一種用于對詞數(shù)進行懲罰的方法。通過選擇詞數(shù)較少的句子,模型更有可能選擇這些句子,這可能提供重要信息。”

這個解釋在語法上是合理的,但它并不一定是我們正在尋找的內(nèi)容。

LoRA

$ python generate_lora.py \
--lora_path out/lora/alpaca/lit-llama-lora-finetuned.pth \
--pretrained_path checkpoints/lit-llama/7B/lit-llama.pth

“權(quán)重衰減是機器學習模型中用于減少過擬合的算法參數(shù)。它是一個過程,通過調(diào)整模型的權(quán)重來減少模型中不太重要特征的影響并防止過擬合。通過在權(quán)重中添加少量噪聲來使用權(quán)重衰減,以減少模型對訓練數(shù)據(jù)的影響。這個過程鼓勵模型更多地關(guān)注對預(yù)測任務(wù)更重要的特征?!?/p>

當我們考慮到廣義線性模型時,這個解釋是有意義的,我們迫使模型學習較小的權(quán)重參數(shù),這些參數(shù)與輸入特征相乘。在神經(jīng)網(wǎng)絡(luò)中,這通常會應(yīng)用于模型中的所有權(quán)重參數(shù)。

請注意,上面的 LoRA 方法目前使用了最多的內(nèi)存。然而,我們可以通過將 LoRA 權(quán)重與預(yù)訓練模型權(quán)重合并,如前所述,來減少這種內(nèi)存使用。

這種定性概述只是展示了這些模型能力的一小部分,因為評估 LLM 本身就是一個大話題。但作為一個要點,在指令數(shù)據(jù)集上微調(diào) LLM 時,LoRA 可以以相對成本效益的方式使用。

結(jié)論

在這篇文章中,我們討論了低秩適應(yīng)(LoRA),這是對全微調(diào)的一種參數(shù)高效替代方案。我們看到,使用 LoRA 在單個 GPU 上微調(diào)相對較大的模型(如 LLaMA)可以在幾小時內(nèi)完成,這對那些不想在 GPU 資源上花費數(shù)千美元的人來說特別有吸引力。特別好的是,我們可以選擇性地將新的 LoRA 權(quán)重矩陣與原始的、預(yù)訓練的權(quán)重合并,這樣我們在推理過程中就不會產(chǎn)生額外的開銷或復(fù)雜性。

隨著越來越多的 ChatGPT 或 GPT-4 開源替代品的出現(xiàn),針對特定目標數(shù)據(jù)集或目標的 LLM 微調(diào)和定制將在各種研究領(lǐng)域和行業(yè)中變得越來越有吸引力。像 LoRA 這樣的參數(shù)高效微調(diào)技術(shù)使微調(diào)更加資源高效和易于訪問。文章來源地址http://www.zghlxwxcb.cn/news/detail-793137.html

了解原文:鏈接

到了這里,關(guān)于邁向高效LLM微調(diào):低秩適應(yīng)(LoRA)技術(shù)的原理與實踐的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • DyLoRA:使用動態(tài)無搜索低秩適應(yīng)的預(yù)訓練模型的參數(shù)有效微調(diào)

    又一個針對LoRA的改進方法: DyLoRA: Parameter-Efficient Tuning of Pretrained Models using Dynamic Search-Free Low Rank Adaptation https://arxiv.org/pdf/2210.07558v2.pdf https://github.com/huawei-noah/KD-NLP/tree/main/DyLoRA LoRA存在的問題 : rank的值是固定的,訓練完成后不能修改。 優(yōu)化rank的值需要大量的搜索和努力。

    2023年04月20日
    瀏覽(16)
  • LoRA繼任者ReLoRA登場,通過疊加多個低秩更新矩陣實現(xiàn)更高效大模型訓練效果

    LoRA繼任者ReLoRA登場,通過疊加多個低秩更新矩陣實現(xiàn)更高效大模型訓練效果

    論文鏈接: https://arxiv.org/abs/2307.05695 代碼倉庫: https://github.com/guitaricet/peft_pretraining 一段時間以來, 大模型(LLMs)社區(qū)的研究人員開始關(guān)注于如何降低訓練、微調(diào)和推理LLMs所需要的龐大算力 ,這對于繼續(xù)推動LLMs在更多的垂直領(lǐng)域中發(fā)展和落地具有非常重要的意義。目前這

    2024年02月11日
    瀏覽(22)
  • PEFT學習:使用LORA進行LLM微調(diào)

    由于LORA,AdaLORA都集成在PEFT上了,所以在使用的時候安裝PEFT是必備項 方法一:PyPI To install ?? PEFT from PyPI: 方法二:Source New features that haven’t been released yet are added every day, which also means there may be some bugs. To try them out, install from the GitHub repository: If you’re working on contributing to th

    2024年02月10日
    瀏覽(23)
  • 【LLM】金融大模型場景和大模型Lora微調(diào)實戰(zhàn)

    【LLM】金融大模型場景和大模型Lora微調(diào)實戰(zhàn)

    金融行業(yè)需要垂直領(lǐng)域LLM,因為存在金融安全和數(shù)據(jù)大多數(shù)存儲在本地,在風控、精度、實時性有要求 (1)500億參數(shù)的BloombergGPT BloombergGPT金融大模型也是用transformer架構(gòu),用decoder路線, 構(gòu)建目前規(guī)模最大的金融數(shù)據(jù)集FINPILE,對通用文本+金融知識的混合訓練。 用了512塊40

    2024年02月12日
    瀏覽(17)
  • 【論文閱讀】大模型參數(shù)高效微調(diào)方式——LORA

    【論文閱讀】大模型參數(shù)高效微調(diào)方式——LORA

    本文成文于23年5月,當時的市場熱點正在從“超大模型訓練到微調(diào)應(yīng)用”轉(zhuǎn)變。 一段話總結(jié): 面向大模型的全參數(shù)finetune 需要很高的計算消耗和存儲成本,學界開始探索參數(shù)高效的微調(diào)方法。LoRA就是其中的代表,他在原始的Transformer模型上插入少量的參數(shù),只訓練增量的參

    2024年02月06日
    瀏覽(21)
  • 大模型參數(shù)高效微調(diào)技術(shù)原理綜述(二)-BitFit、Prefix Tuning、Prompt Tuning

    大模型參數(shù)高效微調(diào)技術(shù)原理綜述(二)-BitFit、Prefix Tuning、Prompt Tuning

    隨著,ChatGPT 迅速爆火,引發(fā)了大模型的時代變革。然而對于普通大眾來說,進行大模型的預(yù)訓練或者全量微調(diào)遙不可及。由此,催生了各種參數(shù)高效微調(diào)技術(shù),讓科研人員或者普通開發(fā)者有機會嘗試微調(diào)大模型。 因此,該技術(shù)值得我們進行深入分析其背后的機理,本系列大

    2024年02月09日
    瀏覽(19)
  • AIGC|FineTune工程之LoRa高效參數(shù)微調(diào)

    AIGC|FineTune工程之LoRa高效參數(shù)微調(diào)

    徐輝? |?后端開發(fā)工程師 隨著深度學習和自然語言處理技術(shù)的快速發(fā)展,大型預(yù)訓練語言模型(如GPT、Vicuna、Alpaca、Llama、ChatGLM等)在各種應(yīng)用場景中取得了顯著的成果。然而,從零開始訓練這些模型需要大量的計算資源和時間,這對于許多研究者和開發(fā)者來說是不現(xiàn)實的。

    2024年02月15日
    瀏覽(23)
  • QLoRA:量化 LLM 的高效微調(diào)

    QLoRA:量化 LLM 的高效微調(diào)

    此 repo 支持論文“QLoRA:量化 LLM 的高效微調(diào)”,旨在使對 LLM 研究的訪問民主化。 QLoRA 使用bitsandbytes進行量化,并與 Hugging Face 的PEFT和transformers庫集成。QLoRA 由華盛頓大學 UW NLP 小組的成員開發(fā)。 我們介紹了 QLoRA,這是一種有效的微調(diào)方法,可以減少內(nèi)存使用量,足以在單個

    2024年02月08日
    瀏覽(25)
  • LLM微調(diào) | LoRA: Low-Rank Adaptation of Large Language Models

    ?? 發(fā)表于論文:(2021) LoRA: Low-Rank Adaptation of Large Language Models ?? 目的:大模型預(yù)訓練+微調(diào)范式,微調(diào)成本高。LoRA只微調(diào)新增的小部分參數(shù)。 adapter增加了模型層數(shù),引入了額外的推理延遲; prefix-tuning比較難訓練,效果不如直接finetune。 LoRA不會引入額外的延遲,甚至原文中

    2024年02月17日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包