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

人工智能大語言模型微調技術:SFT 監(jiān)督微調、LoRA 微調方法、P-tuning v2 微調方法、Freeze 監(jiān)督微調方法

這篇具有很好參考價值的文章主要介紹了人工智能大語言模型微調技術:SFT 監(jiān)督微調、LoRA 微調方法、P-tuning v2 微調方法、Freeze 監(jiān)督微調方法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

人工智能大語言模型微調技術:SFT 監(jiān)督微調、LoRA 微調方法、P-tuning v2 微調方法、Freeze 監(jiān)督微調方法

1.SFT 監(jiān)督微調

1.1 SFT 監(jiān)督微調基本概念

SFT(Supervised Fine-Tuning)監(jiān)督微調是指在源數據集上預訓練一個神經網絡模型,即源模型。然后創(chuàng)建一個新的神經網絡模型,即目標模型。目標模型復制了源模型上除了輸出層外的所有模型設計及其參數。這些模型參數包含了源數據集上學習到的知識,且這些知識同樣適用于目標數據集。源模型的輸出層與源數據集的標簽緊密相關,因此在目標模型中不予采用。微調時,為目標模型添加一個輸出大小為目標數據集類別個數的輸出層,并隨機初始化該層的模型參數。在目標數據集上訓練目標模型時,將從頭訓練到輸出層,其余層的參數都基于源模型的參數微調得到。

1.2 監(jiān)督微調的步驟

具體來說,監(jiān)督式微調包括以下幾個步驟:

  • 預訓練 首先在一個大規(guī)模的數據集上訓練一個深度學習模型,例如使用自監(jiān)督學習或者無監(jiān)督學習算法進行預訓練;
  • 微調 使用目標任務的訓練集對預訓練模型進行微調。通常,只有預訓練模型中的一部分層被微調,例如只微調模型的最后幾層或者某些中間層。在微調過程中,通過反向傳播算法對模型進行優(yōu)化,使得模型在目標任務上表現更好;
  • 評估 使用目標任務的測試集對微調后的模型進行評估,得到模型在目標任務上的性能指標。

1.3 監(jiān)督微調的特點

監(jiān)督式微調能夠利用預訓練模型的參數和結構,避免從頭開始訓練模型,從而加速模型的訓練過程,并且能夠提高模型在目標任務上的表現。監(jiān)督式微調在計算機視覺、自然語言處理等領域中得到了廣泛應用。然而監(jiān)督也存在一些缺點。首先,需要大量的標注數據用于目標任務的微調,如果標注數據不足,可能會導致微調后的模型表現不佳。其次,由于預訓練模型的參數和結構對微調后的模型性能有很大影響,因此選擇合適的預訓練模型也很重要。

1.4 常見案例

  • 樣例 1

在計算機視覺中,低層的網絡主要學習圖像的邊緣或色斑,中層的網絡主要學習物體的局部和紋理,高層的網絡識別抽象的語義,如下圖所示。因此,可以把一個神經網絡分成兩塊:

  • 低層的網絡進行特征抽取,將原始信息變成容易被后面任務使用的特征;

  • 輸出層的網絡進行具體任務的預測。輸出層因為涉及到具體任務沒辦法在不同任務中復用,但是低層的網絡是具有通用型的,可以應用到其他任務上。

    人工智能大語言模型微調技術:SFT 監(jiān)督微調、LoRA 微調方法、P-tuning v2 微調方法、Freeze 監(jiān)督微調方法,AI前沿技術匯總,人工智能,自然語言處理,大語言模型,LoRA,SFT,P-tuning V2,Freeze

    下圖表示的是將預訓練模型的前 L-1 層的參數復制到微調模型,而微調模型的輸出層參數隨機初始化。在訓練過程中,通過設置很小的學習率,從而達到微調的目的。

    人工智能大語言模型微調技術:SFT 監(jiān)督微調、LoRA 微調方法、P-tuning v2 微調方法、Freeze 監(jiān)督微調方法,AI前沿技術匯總,人工智能,自然語言處理,大語言模型,LoRA,SFT,P-tuning V2,Freeze

  • 樣例 2

BERT 模型是 Google AI 研究院提出的一種預訓練模型,通過預訓練 + 微調的方式于多個 NLP 下游任務達到當時最先進水平,如實體識別、文本匹配、閱讀理解等。與樣例 1 一樣,BERT 模型微調時,將預訓練好的模型參數復制到微調模型,而輸出層參數隨機初始化。

人工智能大語言模型微調技術:SFT 監(jiān)督微調、LoRA 微調方法、P-tuning v2 微調方法、Freeze 監(jiān)督微調方法,AI前沿技術匯總,人工智能,自然語言處理,大語言模型,LoRA,SFT,P-tuning V2,Freeze

1.5 SFT 監(jiān)督微調的主流方法

隨著技術的發(fā)展,涌現出越來越多的大語言模型,且模型參數越來越多,比如 GPT3 已經達到 1750 億的參數量,傳統(tǒng)的監(jiān)督微調方法已經不再能適用現階段的大語言模型。為了解決微調參數量太多的問題,同時也要保證微調效果,急需研發(fā)出參數高效的微調方法(Parameter Efficient Fine Tuning, PEFT)。目前,已經涌現出不少參數高效的微調方法,其中主流的方法包括:

  • LoRA
  • P-tuning v2
  • Freeze

2. LoRA 微調方法

2.1 LoRA 微調方法的基本概念

LoRA(Low-Rank Adaptation of Large Language Models),直譯為大語言模型的低階自適應。LoRA 的基本原理是凍結預訓練好的模型權重參數,在凍結原模型參數的情況下,通過往模型中加入額外的網絡層,并只訓練這些新增的網絡層參數。由于這些新增參數數量較少,這樣不僅 finetune 的成本顯著下降,還能獲得和全模型參數參與微調類似的效果。

隨著大語言模型的發(fā)展,模型的參數量越來越大,比如 GPT-3 參數量已經高達 1750 億,因此,微調所有模型參數變得不可行。LoRA 微調方法由微軟提出,通過只微調新增參數的方式,大大減少了下游任務的可訓練參數數量。

2.2 LoRA 微調方法的基本原理

神經網絡的每一層都包含矩陣的乘法。這些層中的權重矩陣通常具有滿秩。當適應特定任務時,預訓練語言模型具有低的 “內在維度”,將它們隨機投影到更小的子空間時,它們仍然可以有效地學習。

在大語言模型微調的過程中,LoRA 凍結了預先訓練好的模型權重,并將可訓練的秩的分解矩陣注入到 Transformer 體系結構的每一層。例如,對于預訓練的權重矩陣W0?,可以讓其更新受到用低秩分解表示后者的約束:

W 0 ? + △ W = W 0 ? + B A W0?+△W=W0?+BA W0?+W=W0?+BA

其中:

W 0 ? ∈ R d × k , B ∈ R d × r , A ∈ R r × k W0?∈Rd×k,B∈Rd×r,A∈Rr×k W0?Rd×k,BRd×r,ARr×k

而且,秩r?min(d,k),
此時,修正后的正向傳播計算公式就變成:

h = W 0 ? x + △ W x = W 0 ? x + B A x h=W0?x+△Wx=W0?x+BAx h=W0?x+Wx=W0?x+BAx

在模型微調時,W0?被凍結,不接受梯度更新,只微調參數AB。與所有參數參與模型微調相比,此時該步驟模型微調的參數量由d×k變成d×r+r×k,而r?min(d,k),因此微調參數量大量減少了。

如下圖所示,LoRA 微調時,對A使用隨機高斯初始化,對B使用零初始化,因此ΔW=BA在訓練開始時為零。

人工智能大語言模型微調技術:SFT 監(jiān)督微調、LoRA 微調方法、P-tuning v2 微調方法、Freeze 監(jiān)督微調方法,AI前沿技術匯總,人工智能,自然語言處理,大語言模型,LoRA,SFT,P-tuning V2,Freeze

對 Transformer 的每一層結構都采用 LoRA 微調的方式,最終可以使得模型微調參數量大大減少。當部署到生產環(huán)境中時,只需要計算和存儲W=W0?+BA,并像往常一樣執(zhí)行推理。與其它方法相比,沒有額外的延遲,因為不需要附加更多的層。

在 Transformer 體系結構中,自注意力機制模塊中有四個權重矩陣 (Wq?Wk?、Wv?Wo?), MLP 模塊中有兩個權重矩陣。LoRA 在下游任務微調時,只調整自注意力機制模塊的權重,并凍結 MLP 模塊。所以對于大型 Transformer,使用 LoRA 可減少高達 2/3 的顯存(VRAM)使用量。比如在 GPT-3 175B 上,使用 LoRA 可以將訓練期間的 VRAM 消耗從 1.2TB 減少到 350GB。

2.3 LoRA 微調方法的主要優(yōu)勢

  1. 預訓練模型參數可以被共享,用于為不同的任務構建許多小的 LoRA 模塊。凍結共享模型,并通過替換矩陣 A 和 B 可以有效地切換任務,從而顯著降低存儲需求和多個任務切換的成本。

  2. 當使用自適應優(yōu)化器時,由于不需要計算梯度以及保存太多模型參數,LoRA 使得微調效果更好,并將微調的硬件門檻降低了 3 倍。

  3. 低秩分解采用線性設計的方式使得在部署時能夠將可訓練的參數矩陣與凍結的參數矩陣合并,與完全微調的方法相比,不引入推理延遲。

  4. LoRA 與其它多種微調方法不沖突,可以與其它微調方法相結合,比如下節(jié)實訓將要介紹的前綴調優(yōu)方法等。

3. P-tuning v2 微調方法

3.1 P-tuning v2 微調方法的相關技術

傳統(tǒng)的微調方法需要微調整個預訓練語言模型,對于大語言模型的微調需要大量的資源和時間,急需更加高效的微調方法。理解 P-tuning v2 微調方法,首先需要了解 prefix-tuning 微調方法和 P-tuning v1 微調方法。

3.1.1 Prefix-tuning 微調方法

Prefix-tuning 微調方法在模型中加入 prefix,即連續(xù)的特定任務向量,微調時只優(yōu)化這一小段參數。對于條件生成任務,如下圖所示,其輸入是文本x,輸出是序列y。

人工智能大語言模型微調技術:SFT 監(jiān)督微調、LoRA 微調方法、P-tuning v2 微調方法、Freeze 監(jiān)督微調方法,AI前沿技術匯總,人工智能,自然語言處理,大語言模型,LoRA,SFT,P-tuning V2,Freeze

在上圖中,z=[x;y]xy的拼接,Xidx?Yidx?表示序列的索引,hi?∈Rd表示每個時刻i下的激活值,hi?=[hi?(1);...;hi?(n)]表示當前時刻所有層輸出向量的拼接,hi?(j)是時刻i的第j層 Transformer 的輸出,于是自回歸語言模型計算每一時刻的輸出hi?即:

h i ? = L M ? ? ( z i ? , h < i ? ) hi?=LM??(zi?,h<i?) hi?=LM??(zi?,h<i?)

hi?的最后一層用來計算下一個詞的分布:

p ? ? ( z i + 1 ? ∣ h ≤ i ? ) = s o f t m a x ( W ? ? h i ? ( n ) ) p??(zi+1?∣h≤i?)=softmax(W??hi?(n)) p??(zi+1?hi?)=softmax(W??hi?(n))

其中?是語言模型的參數。在自回歸語言模型前添加 prefix 后,z=[PREFIX;x;y]或者z=[PREFIX;x;PREFIX;y],Pidx?表示 prefix 的索引,|Pidx?|表示 prefix 的長度。Prefix-tuning 通過初始化可訓練矩陣Pθ?(維度為∣Pidx?×dim(hi?)∣) 來存儲 prefix 參數:

KaTeX parse error: Expected '}', got 'EOF' at end of input: …<i?),otherwise?

訓練對象與 Fine-tuning 相同,但語言模型的參數?固定,僅 prefix 參數θ是可訓練的參數。因此hi?是可訓練的Pθ?的函數。

3.1.2 P-tuning v1 微調方法

P-tuning v1 微調方法是將 Prompt 加入到微調過程中,只對 Prompt 部分的參數進行訓練,而語言模型的參數固定不變。如下圖所示:

人工智能大語言模型微調技術:SFT 監(jiān)督微調、LoRA 微調方法、P-tuning v2 微調方法、Freeze 監(jiān)督微調方法,AI前沿技術匯總,人工智能,自然語言處理,大語言模型,LoRA,SFT,P-tuning V2,Freeze

P-tuning v1 設計一個自動的生成連續(xù) prompt 的方法來提升模型的微調效果。由上圖,P-tuning v1 的模版可以用下面公式表示:

h 0 ? , . . . , h i ? , e ( x ) , h i + 1 ? , . . . , h m ? , e ( y ) {h0?,...,hi?,e(x),hi+1?,...,hm?,e(y)} h0?,...,hi?,e(x),hi+1?,...,hm?,e(y)

其中h代表 P-tuning v1 的連續(xù) prompt 表征,e代表一個預訓練的語言模型,x代表數據的原始輸入,y代表數據的標簽。在面對下游任務微調是,通過優(yōu)化h的參數來進行模型微調:

h 0 : m ? = a r g h m i n ? L ( M ( x , y ) ) h^0:m?=arghmin?L(M(x,y)) h0:m?=arghmin?L(M(x,y))

3.1.3 存在不足

P-tuning v1 微調方法缺少普遍性。實驗表明,當模型規(guī)模超過 100 億個參數時,P-tuning v1 可以與全參數微調方法相媲美,但對于那些較小的模型,P-tuning v1 方法和全參數微調方法的表現有很大差異,效果很差。同時,P-tuning v1 缺少跨任務的通用性,在序列標注任務中的有效性沒有得到驗證。序列標注需要預測一連串的標簽,而且大都是無實際意義的標簽,對于 P-tuning v1 微調方法極具挑戰(zhàn)。此外,當模型層數很深時,微調時模型的穩(wěn)定性難以保證。模型層數越深,第一層輸入的 prompt 對后面的影響難以預估。

3.2 P-tuning v2 微調方法的原理

P-tuning v2 微調方法是 P-tuning v1 微調方法的改進版,同時借鑒了 prefix-tuning 微調的方法。如下圖所示:

人工智能大語言模型微調技術:SFT 監(jiān)督微調、LoRA 微調方法、P-tuning v2 微調方法、Freeze 監(jiān)督微調方法,AI前沿技術匯總,人工智能,自然語言處理,大語言模型,LoRA,SFT,P-tuning V2,Freeze

與 P-tuning v1 微調方法相比,P-tuning v2 微調方法采用了 prefix-tuning 的做法,在輸入前面的每一層都加入可微調的參數。在 prefix 部分,每一層的 transformer 的 embedding 輸入都需要被微調,而 P-tuning v1 只在第一層進行微調。同時,對于 prefix 部分,每一層 transformer 的輸入不是從上一層輸出,而是隨機初始化的 embedding 作為輸入。

此外,P-Tuning v2 還包括以下改進:

  • 移除 Reparamerization 加速訓練方式;
  • 采用多任務學習優(yōu)化:基于多任務數據集的 Prompt 進行預訓練,然后再適配的下游任務。
  • 舍棄詞匯 Mapping 的 Verbalizer 的使用,重新利用 [CLS] 和字符標簽,跟傳統(tǒng)微調方法一樣利用 cls 或者 token 的輸出做自然語言理解,以增強通用性,可以適配到序列標注任務。

3.3 P-tuning v2 微調方法優(yōu)點

P-tuning v2 微調方法解決了 P-tuning v1 方法的缺陷,是一種參數高效的大語言模型微調方法。

  • P-tuning v2 微調方法僅精調 0.1% 參數量(固定 LM 參數),在各個參數規(guī)模語言模型上,均取得和 Fine-tuning 相比肩的性能,解決了 P-tuning v1 在參數量不夠多的模型中微調效果很差的問題。如下圖所示(橫坐標表示模型參數量,縱坐標表示微調效果):

    人工智能大語言模型微調技術:SFT 監(jiān)督微調、LoRA 微調方法、P-tuning v2 微調方法、Freeze 監(jiān)督微調方法,AI前沿技術匯總,人工智能,自然語言處理,大語言模型,LoRA,SFT,P-tuning V2,Freeze

  • 將 Prompt tuning 技術首次拓展至序列標注等復雜的 NLU 任務上,而 P-tuning v1 在此任務上無法運作。

4. Freeze 監(jiān)督微調方法

4.1 Freeze 微調方法的概念

Freeze 方法,即參數凍結,對原始模型部分參數進行凍結操作,僅訓練部分參數,以達到在單卡或不進行 TP 或 PP 操作,就可以對大模型進行訓練。在語言模型模型微調中,Freeze 微調方法僅微調 Transformer 后幾層的全連接層參數,而凍結其它所有參數。

4.2 Freeze 微調方法的原理

Freeze 微調方法為什么只微調 Transformer 后幾層的全連接層參數呢?下面對其原因進行展開講述。

Transformer 模型主要由自注意力層和全連接層(FF 層)構成。對于 Transformer 的每一層結構,自注意力層的參數量為4?d2,即WQWQ、WQWQ ∈Rd×d;FF 層的參數量為8?d2,即W1?∈Rd×4d,W2?∈Rd×4d。因此 FF 層占據了模型的32?的參數,具有重要的研究價值。Transformer 的全連接層網絡結構圖如下圖所示:

人工智能大語言模型微調技術:SFT 監(jiān)督微調、LoRA 微調方法、P-tuning v2 微調方法、Freeze 監(jiān)督微調方法,AI前沿技術匯總,人工智能,自然語言處理,大語言模型,LoRA,SFT,P-tuning V2,Freeze

Transformer 的 FF 層可以視為一個 key-value memory,其中每一層的 key 用于捕獲輸入序列的特征,value 可以基于 key 捕獲的特征,給出下一個 token 的詞表分布。Transformer 每一層的 FF 層是由多個 key-value 組合而成,然后結合殘差連接對每層結果細化,最終產生模型的預測結果。FF 層的公式可以表示為:

F F ( x ) = f ( x ? K T ) ? V FF(x)=f(x?KT)?V FF(x)=f(x?KT)?V

其中K,V∈Rdm?×d是可訓練的參數矩陣,f是非線性激活函數,如 ReLU。

此外,實驗表明,Transformer 的淺層傾向于提取出淺層特征,深層傾向于提取語義特征,如下圖所示。層數越深提取的語義特征所占的比例越重。

人工智能大語言模型微調技術:SFT 監(jiān)督微調、LoRA 微調方法、P-tuning v2 微調方法、Freeze 監(jiān)督微調方法,AI前沿技術匯總,人工智能,自然語言處理,大語言模型,LoRA,SFT,P-tuning V2,Freeze

對于各類不同的 NLP 任務,淺層特征往往是具有 “共性”,而主要區(qū)別在于各自深層次的語義特征。因此,通過僅微調 Transformer 后幾層的全連接層參數,在保證參數高效微調的前提下,可以最大程度的發(fā)揮大語言模型的微調作用。

4.3 Freeze 微調方法的優(yōu)勢

  • 大量減少了大語言模型的微調參數,是一種參數高效的微調方法;
  • 由于只需微調高層特征,加快了模型的收斂,節(jié)約了微調的時間;
  • 最大程度地保留了大語言模型預訓練所學習到的語言的 “共性”,可解釋性較強。

5.關鍵知識點總結

  1. SFT監(jiān)督微調時監(jiān)督微調時,學習率通常會設置得很小

常見誤區(qū):1.監(jiān)督微調需要大量的訓練時間和數據 2.監(jiān)督微調將復制源模型的所有參數至目標模型 3.監(jiān)督微調只需要幾十條監(jiān)督數據即可

  1. 監(jiān)督微調常見任務:1.用中文預訓練BERT模型完成中文實體識別任務 2.訓練語言模型GPT3 3.UIE模型在垂直領域的數據集上微調

常見誤區(qū):在ImageNet上的預訓練的模型再來訓練目標檢測任務 (則不是)

  1. 目前,主流的SFT監(jiān)督方法包括:LoRA、P-tuning v2、Freeze

  2. LoRA微調方法預訓練的模型參數不參與微調,LoRA微調方法一般會在各層新增參數,LoRA微調方法的核心思想是利用高階矩陣秩的分解來減少微調參數量

  3. LoRA微調方法的優(yōu)勢:減少大語言預訓練模型微調的參數量、節(jié)省成本、能取得與全模型微調類似的效果

  4. LoRA微調方法不會 對Transformer的每個權重矩陣采用秩分解。

  5. P-tuning v2微調方法是在P-tuning v1的基礎上引入了prefix-tuning的思想

常見誤區(qū):1.P-tuning v1微調方法能微調實體識別的任務、2.P-tuning v1微調方法在效果上可以媲美全參數微調的方式 3.P-tuning v2微調方法在自然語言理解任務上表現不佳

  1. P-tuning v2微調方法原理方面:1.P-tuning v2微調方法在transformer的每一層都加入了prefix、2.P-tuning v2微調方法采用了多任務學習、3.P-tuning v2微調方法prefix部分的參數不是由上一層的prefix輸出來輸入

常見誤區(qū):P-tuning v2微調方法微調的參數對象是每一層離散表示的prefix

  1. P-tuning v2微調方法解決了P-tuning v1微調方法中序列標注任務不佳、普遍性很差等問題。

  2. Freeze微調優(yōu)點:1.Freeze微調方法是一種參數高效的微調方法 2.大語言模型的后幾層網絡主要提取的是語義特征,前幾層主要提取的是文本的表層特征 3.Transformer的全連接層參數量多于自注意力層參數量

refix輸出來輸入

常見誤區(qū):P-tuning v2微調方法微調的參數對象是每一層離散表示的prefix

  1. P-tuning v2微調方法解決了P-tuning v1微調方法中序列標注任務不佳、普遍性很差等問題。

  2. Freeze微調優(yōu)點:1.Freeze微調方法是一種參數高效的微調方法 2.大語言模型的后幾層網絡主要提取的是語義特征,前幾層主要提取的是文本的表層特征 3.Transformer的全連接層參數量多于自注意力層參數量

人工智能大語言模型微調技術:SFT 監(jiān)督微調、LoRA 微調方法、P-tuning v2 微調方法、Freeze 監(jiān)督微調方法,AI前沿技術匯總,人工智能,自然語言處理,大語言模型,LoRA,SFT,P-tuning V2,Freeze文章來源地址http://www.zghlxwxcb.cn/news/detail-615469.html

到了這里,關于人工智能大語言模型微調技術:SFT 監(jiān)督微調、LoRA 微調方法、P-tuning v2 微調方法、Freeze 監(jiān)督微調方法的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

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

領支付寶紅包贊助服務器費用

相關文章

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包