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

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

這篇具有很好參考價值的文章主要介紹了AIGC|FineTune工程之LoRa高效參數(shù)微調(diào)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

徐輝?|?后端開發(fā)工程師

一、引言

隨著深度學(xué)習(xí)和自然語言處理技術(shù)的快速發(fā)展,大型預(yù)訓(xùn)練語言模型(如GPT、Vicuna、Alpaca、Llama、ChatGLM等)在各種應(yīng)用場景中取得了顯著的成果。然而,從零開始訓(xùn)練這些模型需要大量的計算資源和時間,這對于許多研究者和開發(fā)者來說是不現(xiàn)實的。因此,F(xiàn)ineTune工程就顯得格外重要,它允許我們在預(yù)訓(xùn)練模型的基礎(chǔ)上進(jìn)行定制化調(diào)整,以適應(yīng)下游的任務(wù)和場景。本文將介紹LoRa的微調(diào)技術(shù),并詳細(xì)闡述如何使用LoRa微調(diào)大型預(yù)訓(xùn)練語言模型(以下統(tǒng)稱為LLM)。

二、LoRa如何工作

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

圖1

之前在基地的ChatGPT分享中提到過LLM的工作原理是根據(jù)輸入文本通過模型神經(jīng)網(wǎng)絡(luò)中各個節(jié)點來預(yù)測下一個字,以自回歸生成的方式完成回答。

實際上,模型在整個自回歸生成過程中決定最終答案的神經(jīng)網(wǎng)絡(luò)節(jié)點只占總節(jié)點的極少一部分。如圖1所示為多級反饋神經(jīng)網(wǎng)絡(luò),以輸入鷸蚌相爭為例,真正參與運算的節(jié)點如下圖2藍(lán)色節(jié)點所示,實際LLM的節(jié)點數(shù)有數(shù)億之多,我們稱之為參數(shù)量。

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

圖2

神經(jīng)網(wǎng)絡(luò)包含許多稠密層,執(zhí)行矩陣乘法運算。這些層中的權(quán)重矩陣通常具有滿秩。LLM具有較低的“內(nèi)在維度”,即使在隨機(jī)投影到較小子空間時,它們?nèi)匀豢梢杂行У貙W(xué)習(xí)。

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

圖3

假設(shè)權(quán)重的更新在適應(yīng)過程中也具有較低的“內(nèi)在秩”。對于一個預(yù)訓(xùn)練的權(quán)重矩陣W0?∈ Rd×k,我們通過低秩分解W0?+??W = W0?+ BA來表示其更新,其中B ∈ Rd×r,A ∈ Rr×k,且秩r ≤ min(d,k)。在訓(xùn)練過程中,W0被凍結(jié),不接收梯度更新,而A和B包含可訓(xùn)練參數(shù)。需要注意的是,W0和?W = BA都與相同的輸入進(jìn)行乘法運算,它們各自的輸出向量在坐標(biāo)上求和。前向傳播公式如下:h?=?W0x?+??Wx?=?W0x?+?BAx

在圖3中我們對A使用隨機(jī)高斯隨機(jī)分布初始化,對B使用零初始化,因此在訓(xùn)練開始時?W = BA為零。然后,通過αr對?Wx進(jìn)行縮放,其中α是r中的一個常數(shù)。在使用Adam優(yōu)化時,適當(dāng)?shù)乜s放初始化,調(diào)整α的過程與調(diào)整學(xué)習(xí)率大致相同。因此,只需將α設(shè)置為我們嘗試的第一個r,并且不對其進(jìn)行調(diào)整。這種縮放有助于在改變r時減少重新調(diào)整超參數(shù)的需求。

四、LoRa微調(diào)ChatGLM-6B

有時候我們想讓模型幫我們完成一些特定任務(wù)或改變模型說話的方式和自我認(rèn)知。作為定制化交付中心的一員,我需要讓“他”加入我們。先看一下模型原本的輸出。

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

圖4

接下來我將使用LoRa微調(diào)將“他”變成定制化交付中心的一員。具體的LoRa微調(diào)及微調(diào)源碼請前往Confluence查看LoRa高效參數(shù)微調(diào)

  • 準(zhǔn)備數(shù)據(jù)集

我們要準(zhǔn)備的數(shù)據(jù)集是具有針對性的,例如你是誰?你叫什么?誰是你的設(shè)計者?等等有關(guān)目標(biāo)身份的問題,答案則按照我們的需求進(jìn)行設(shè)計,這里列舉一個例子

Q:你是誰?

A:我叫小州,是定制化交付中心部門的一名員工,我主要負(fù)責(zé)解答用戶的疑問并提供幫助。請問有什么可以幫您?

  • 設(shè)置參數(shù)進(jìn)行微調(diào)

CUDA_VISIBLE_DEVICES=0?python ../src/train_sft.py \
????--do_train \
????--dataset self \
????--dataset_dir ../data \
????--finetuning_type lora \
????--output_dir path_to_sft_checkpoint \
????--overwrite_cache \
????--per_device_train_batch_size?4?\
????--gradient_accumulation_steps?4?\
????--lr_scheduler_type cosine \
????--logging_steps?10?\
????--save_steps?1000?\
????--learning_rate?5e-5?\
????--num_train_epochs?3.0?\
????--plot_loss \
????--fp16
影響模型訓(xùn)練效果的參數(shù)主要有下面幾個
lora_rank(int,optional): LoRA 微調(diào)中的秩大小。這里并不是越大越好,對于小型數(shù)據(jù)集如果r=1就可以達(dá)到很不錯的效果,即便增加r得到的結(jié)果也沒有太大差別。

lora_alpha(float,optional): LoRA 微調(diào)中的縮放系數(shù)。

lora_dropout(float,optional): LoRA 微調(diào)中的 Dropout 系數(shù)。

learning_rate(float,optional): AdamW 優(yōu)化器的初始學(xué)習(xí)率。如果設(shè)置過大會出現(xiàn)loss值無法收斂或過擬合現(xiàn)象即過度適應(yīng)訓(xùn)練集而喪失泛化能力,對非訓(xùn)練集中的數(shù)據(jù)失去原本的計算能力。

num_train_epochs(float,optional): 訓(xùn)練輪數(shù),如果loss值沒有收斂到理想值可以增加訓(xùn)練輪數(shù)或適當(dāng)降低學(xué)習(xí)率。
  • 微調(diào)評估

我們再次詢問模型身份

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

圖5

? ?當(dāng)我們詢問不包含在數(shù)據(jù)集中的身份問題時

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

圖6

很好,我們得到了理想的回答,這說明“小州”的人設(shè)已經(jīng)建立成功了,換句話說,圖二中藍(lán)色節(jié)點(身份信息)的權(quán)重已經(jīng)改變了,之后任何關(guān)于身份的問題都會是以“小州”的人設(shè)進(jìn)行回答。

五、總結(jié)

針對LLM的主流微調(diào)方式有P-Tuning、Freeze、LoRa等等。由于LoRa的并行低秩矩陣幾乎沒有推理延遲被廣泛應(yīng)用于transformers模型微調(diào),另一個原因是ROI過低,對LLM的FineTune所需要的計算資源不是普通開發(fā)者或中小型企業(yè)愿意承擔(dān)的。而LoRa將訓(xùn)練參數(shù)減少到原模型的千萬分之一的級別使得在普通計算資源下也可以實現(xiàn)FineTune。?

參考文獻(xiàn):LoRA: Low-Rank Adaptation of Large Language Models

版權(quán)聲明:本文由神州數(shù)碼云基地團(tuán)隊整理撰寫,若轉(zhuǎn)載請注明出處。

公眾號搜索神州數(shù)碼云基地,了解更多技術(shù)干貨。文章來源地址http://www.zghlxwxcb.cn/news/detail-608699.html

到了這里,關(guān)于AIGC|FineTune工程之LoRa高效參數(shù)微調(diào)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包