成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

大規(guī)模語言模型高效參數(shù)微調(diào)--BitFit/Prefix/Prompt 微調(diào)系列

人工智能
Prompt Tuning 可以看作是 Prefix Tuning 的簡化版本,它給每個任務(wù)定義了自己的 Prompt,然后拼接到數(shù)據(jù) 上作為輸入,但只在輸入層加入 prompt tokens,并且不需要加入 MLP 進行調(diào)整來解決難訓(xùn)練的問題。

2018 年谷歌發(fā)布了 BERT,一經(jīng)面世便一舉擊敗 11 個 NLP 任務(wù)的 State-of-the-art (Sota) 結(jié)果,成為了 NLP 界新的里程碑; BERT 的結(jié)構(gòu)如下圖所示, 左邊是 BERT 模型預(yù)訓(xùn)練過程, 右邊是對于具體任務(wù)的微調(diào)過程。其中, 微調(diào) 階段是后續(xù)用于一些下游任務(wù)的時候進行微調(diào), 例如: 文本分類, 詞性標注, 問答系統(tǒng)等, BERT 無需調(diào)整結(jié)構(gòu) 就可以在不同的任務(wù)上進行微調(diào)。通過”預(yù)訓(xùn)練語言模型 + 下游任務(wù)微調(diào)”的任務(wù)設(shè)計, 帶來了強大的模型效 果。從此,“預(yù)訓(xùn)練語言模型 + 下游任務(wù)微調(diào)”便成為了 NLP 領(lǐng)域主流訓(xùn)練范式。

BERT 結(jié)構(gòu)圖,左邊是預(yù)訓(xùn)練過程,右邊是具體任務(wù)微調(diào)過程BERT 結(jié)構(gòu)圖,左邊是預(yù)訓(xùn)練過程,右邊是具體任務(wù)微調(diào)過程

但是, 以 GPT3 為代表的大規(guī)模語言模型(LLM) 參數(shù)規(guī)模變得越來越大, 這使得在消費級硬件上進行全量 微調(diào)變得不可行。下表展示了在一張 A100 GPU  (80G 顯存) 以及 CPU 內(nèi)存 64GB 以上的硬件上進行模型全量 微調(diào)以及參數(shù)高效微調(diào)對于 CPU/GPU 內(nèi)存的消耗情況。

全量參數(shù)微調(diào)與參數(shù)高效微調(diào)顯存占用對比全量參數(shù)微調(diào)與參數(shù)高效微調(diào)顯存占用對比

除此之外, 模型全量微調(diào)還會損失多樣性, 存在災(zāi)難性遺忘的問題。因此, 如何高效的進行模型微調(diào)就成了業(yè)界研究的重點,這也為參數(shù)高效微調(diào)技術(shù)的快速發(fā)展帶來了研究空間。

參數(shù)高效微調(diào)是指微調(diào)少量或額外的模型參數(shù), 固定大部分預(yù)訓(xùn)練模型(LLM) 參數(shù), 從而大大降低了計 算和存儲成本, 同時, 也能實現(xiàn)與全量參數(shù)微調(diào)相當?shù)男阅?。參?shù)高效微調(diào)方法甚至在某些情況下比全量微調(diào) 效果更好,可以更好地泛化到域外場景。

高效微調(diào)技術(shù)可以粗略分為以下三大類,如下圖所示:增加額外參數(shù)(A)、選取一部分參數(shù)更新(S)、引入重參數(shù)化(R)。 而在增加額外參數(shù)這類方法中,又主要分為類適配器(Adapter-like)方法和軟提示(Soft prompts)兩個小類。

常見的參數(shù)高效微調(diào)技術(shù)有 BitFit 、Prefix Tuning 、Prompt Tuning 、P-Tuning 、Adapter Tuning 、LoRA 等, 后 面章節(jié)將對一些主流的參數(shù)高效微調(diào)方法進行講解。

常見的參數(shù)高效微調(diào)技術(shù)和方法常見的參數(shù)高效微調(diào)技術(shù)和方法

BitFit/Prefix/Prompt 微調(diào)系列

BitFit

雖然對每個任務(wù)進行全量微調(diào)非常有效, 但它也會為每個預(yù)訓(xùn)練任務(wù)生成一個獨特的大型模型, 這使得很 難推斷微調(diào)過程中發(fā)生了什么變化,也很難部署,特別是隨著任務(wù)數(shù)量的增加,很難維護。

理想狀況下,我們希望有一種滿足以下條件的高效微調(diào)方法:

上述的問題取決于微調(diào)過程能多大程度引導(dǎo)新能力的學(xué)習(xí)以及暴露在預(yù)訓(xùn)練 LM 中學(xué)到的能力。雖然, 之 前的高效微調(diào)方法 Adapter-Tuning 、Diff-Pruning 也能夠部分滿足上述的需求。一種參數(shù)量更小的稀疏的微調(diào)方 法 BitFit 可以滿足上述所有需求。

BitFit 是一種稀疏的微調(diào)方法, 它訓(xùn)練時只更新 bias 的參數(shù)或者部分 bias 參數(shù)。對于 Transformer 模型而言, 凍結(jié)大部分 transformer-encoder 參數(shù), 只更新 bias 參數(shù)跟特定任務(wù)的分類層參數(shù)。涉及到的 bias 參數(shù)有 attention  模塊中計算 query,key,value 跟合并多個 attention 結(jié)果時涉及到的bias,MLP 層中的bias,Layernormalization 層的 bias 參數(shù),預(yù)訓(xùn)練模型中的bias參數(shù)如下圖所示。

圖片圖片

PLM 模塊代表了一個特定的 PLM 子層, 例如注意力或 FFN,圖中橙色塊表示可訓(xùn)練的提示向量, 藍色 塊表示凍結(jié)的預(yù)訓(xùn)練模型參數(shù)

在 Bert-Base/Bert-Large 這種模型里, bias 參數(shù)僅占模型全部參數(shù)量的 0.08%~0.09%。但是通過在 Bert-Large  模型上基于 GLUE 數(shù)據(jù)集進行了 BitFit、Adapter 和 Diff-Pruning 的效果對比發(fā)現(xiàn), BitFit 在參數(shù)量遠小于Adapter、 Diff-Pruning 的情況下,效果與 Adapter 、Diff-Pruning 想當,甚至在某些任務(wù)上略優(yōu)于 Adapter 、Diff-Pruning。

通過實驗結(jié)果還可以看出, BitFit 微調(diào)結(jié)果相對全量參數(shù)微調(diào)而言, 只更新極少量參數(shù)的情況下, 在多個數(shù) 據(jù)集上都達到了不錯的效果, 雖不及全量參數(shù)微調(diào), 但是遠超固定全部模型參數(shù)的 Frozen 方式。同時, 通過對 比 BitFit 訓(xùn)練前后的參數(shù), 發(fā)現(xiàn)很多 bias 參數(shù)并沒有太多變化(例如:跟計算 key 所涉及到的 bias 參數(shù))。發(fā)現(xiàn) 計算 query 和將特征維度從 N 放大到 4N 的 FFN 層(intermediate) 的 bias 參數(shù)變化最為明顯, 只更新這兩類 bias 參數(shù)也能達到不錯的效果,反之,固定其中任何一者,模型的效果都有較大損失。

Prefix Tuning

在 Prefix Tuning 之前的工作主要是人工設(shè)計離散的模版或者自動化搜索離散的模版。對于人工設(shè)計的模版, 模版的變化對模型最終的性能特別敏感, 加一個詞、少一個詞或者變動位置都會造成比較大的變化。而對于自動 化搜索模版, 成本也比較高;同時, 以前這種離散化的 token 搜索出來的結(jié)果可能并不是最優(yōu)的。除此之外, 傳 統(tǒng)的微調(diào)范式利用預(yù)訓(xùn)練模型去對不同的下游任務(wù)進行微調(diào), 對每個任務(wù)都要保存一份微調(diào)后的模型權(quán)重, 一 方面微調(diào)整個模型耗時長;另一方面也會占很多存儲空間?;谏鲜鰞牲c, Prefix Tuning 提出固定預(yù)訓(xùn)練 LM,為LM 添加可訓(xùn)練, 任務(wù)特定的前綴, 這樣就可以為不同任務(wù)保存不同的前綴, 微調(diào)成本也??; 同時, 這種 Prefix  實際就是連續(xù)可微的 Virtual Token  (Soft Prompt/Continuous Prompt),相比離散的 Token ,更好優(yōu)化,效果更好。

那么 prefix 的含義是什么呢?prefix 的作用是引導(dǎo)模型提取 x 相關(guān)的信息, 進而更好地生成 y。例如, 我們 要做一個 summarization 的任務(wù), 那么經(jīng)過微調(diào)后, prefix 就能領(lǐng)悟到當前要做的是個“總結(jié)形式”的任務(wù), 然后 引導(dǎo)模型去 x 中提煉關(guān)鍵信息;如果我們要做一個情感分類的任務(wù), prefix 就能引導(dǎo)模型去提煉出 x 中和情感相 關(guān)的語義信息,以此類推。這樣的解釋可能不那么嚴謹,但大家可以大致體會一下 prefix 的作用。

Prefix Tuning 是在輸入 token 之前構(gòu)造一段任務(wù)相關(guān)的 virtual tokens 作為 Prefix,然后訓(xùn)練的時候只更新 Prefix 部分的參數(shù),而 PLM 中的其他部分參數(shù)固定。針對不同的模型結(jié)構(gòu),需要構(gòu)造不同的 Prefix:

  • 針對自回歸架構(gòu)模型:在句子前面添加前綴, 得到 z = [PREFIX; x; y],合適的上文能夠在固定 LM 的情況 下去引導(dǎo)生成下文(比如:GPT3 的上下文學(xué)習(xí))。
  • 針對編碼器-解碼器架構(gòu)模型:Encoder 和 Decoder 都增加了前綴,得到 z = [PREFIX; x; PREFIX0; y]。Encoder 端增加前綴是為了引導(dǎo)輸入部分的編碼, Decoder 端增加前綴是為了引導(dǎo)后續(xù) token 的生成。

圖片圖片

上部分的微調(diào)更新所有 Transformer 參數(shù)(紅色框),并且需要為每個任務(wù)存儲完整的模型副本。下部分 的 Prefix Tuning 凍結(jié)了 Transformer 參數(shù)并且只優(yōu)化前綴(紅色框)

該方法其實和構(gòu)造 Prompt 類似, 只是 Prompt 是人為構(gòu)造的“顯式”的提示, 并且無法更新參數(shù), 而 Prefix 則是可以學(xué)習(xí)的“隱式”的提示。同時,為了防止直接更新 Prefix 的參數(shù)導(dǎo)致訓(xùn)練不穩(wěn)定和性能下降的情況,在 Prefix 層前面加了 MLP 結(jié)構(gòu), 訓(xùn)練完成后, 只保留 Prefix 的參數(shù)。除此之外, 通過消融實驗證實, 只調(diào)整 embedding 層的表現(xiàn)力不夠,將導(dǎo)致性能顯著下降,因此,在每層都加了 prompt 的參數(shù),改動較大。

Prefix Tuning 雖然看起來方便,但也存在以下兩個顯著劣勢:

Prompt Tuning

大模型全量微調(diào)對每個任務(wù)訓(xùn)練一個模型, 開銷和部署成本都比較高。同時, 離散的 prompts  (指人工設(shè)計 prompts 提示語加入到模型) 方法, 成本比較高, 并且效果不太好。Prompt Tuning 通過反向傳播更新參數(shù)來學(xué)習(xí) prompts,而不是人工設(shè)計 prompts;同時凍結(jié)模型原始權(quán)重, 只訓(xùn)練 prompts 參數(shù), 訓(xùn)練完以后, 用同一個模型 可以做多任務(wù)推理。

圖片圖片

模型調(diào)整需要為每個任務(wù)制作整個預(yù)訓(xùn)練模型的特定任務(wù)副本下游任務(wù)和推理必須在分開批次。Prompt Tuning 只需要為每個任務(wù)存儲一個小的特定于任務(wù)的提示,并且使用原始預(yù)訓(xùn)練模型啟用混合任務(wù)推理。

Prompt Tuning 可以看作是 Prefix Tuning 的簡化版本,它給每個任務(wù)定義了自己的 Prompt,然后拼接到數(shù)據(jù) 上作為輸入,但只在輸入層加入 prompt tokens,并且不需要加入 MLP 進行調(diào)整來解決難訓(xùn)練的問題。

通過實驗發(fā)現(xiàn),隨著預(yù)訓(xùn)練模型參數(shù)量的增加,Prompt Tuning 的方法會逼近全參數(shù)微調(diào)的結(jié)果。同時, Prompt Tuning 還提出了 Prompt Ensembling,也就是在一個批次(Batch) 里同時訓(xùn)練同一個任務(wù)的不同 prompt  (即采用 多種不同方式詢問同一個問題) ,這樣相當于訓(xùn)練了不同模型, 比模型集成的成本小多了。除此之外, Prompt Tuning 論文中還探討了 Prompt token 的初始化方法和長度對于模型性能的影響。通過消融實驗結(jié)果發(fā)現(xiàn), 與隨機 初始化和使用樣本詞匯表初始化相比, Prompt Tuning 采用類標簽初始化模型的效果更好。不過隨著模型參數(shù)規(guī) 模的提升, 這種 gap 最終會消失。Prompt token 的長度在 20 左右時的表現(xiàn)已經(jīng)不錯(超過 20 之后, 提升Prompt token 長度, 對模型的性能提升不明顯了),同樣的, 這個 gap 也會隨著模型參數(shù)規(guī)模的提升而減小(即對于超大 規(guī)模模型而言,即使 Prompt token 長度很短,對性能也不會有太大的影響)。

責任編輯:武曉燕 來源: AI大模型咨訊
相關(guān)推薦

2025-05-08 05:00:00

2024-01-18 15:38:17

語言模型大型語言模型

2023-06-09 08:00:00

QLoRa語言模型微調(diào)

2025-04-10 07:59:51

2024-07-22 08:17:00

模型性能

2024-03-18 13:36:36

大型語言模型個人可識別信息

2023-03-06 13:59:38

模型參數(shù)

2024-04-15 12:50:00

大型語言模型ReFT

2024-05-07 08:00:00

自然語言處理機器學(xué)習(xí)

2024-11-21 08:22:45

2023-06-07 08:22:59

LLM微調(diào)技術(shù)

2025-06-26 09:06:59

2025-02-24 14:15:00

模型訓(xùn)練AI

2025-01-14 10:56:14

2023-06-02 15:47:49

2024-12-10 09:07:17

2023-12-18 13:37:44

天翼云天池大語言模型

2024-09-09 07:46:16

2023-04-06 16:29:18

模型AI
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲色在线视频 | 黄色在线免费观看视频 | 久久久久久国产精品免费 | 日韩精品一区二区三区中文在线 | 99在线免费观看 | 在线观看中文字幕视频 | 欧美日本韩国一区二区 | 国产精品九九视频 | 在线播放一区二区三区 | 亚洲精品久久久一区二区三区 | 51ⅴ精品国产91久久久久久 | 日韩视频一区二区在线 | 欧美成人在线免费 | 亚洲福利网| 国产一区二区三区在线观看免费 | 亚洲欧美日韩精品 | 伊人久久精品一区二区三区 | 日韩午夜 | 国产精品国产三级国产aⅴ中文 | 一级黄色录像毛片 | 中文字幕国产精品 | 日韩欧美国产精品一区 | 久久9热 | 欧美综合一区 | 久久天堂 | 亚洲高清视频在线 | 国产精品1区2区3区 欧美 中文字幕 | 国产一区二区在线播放 | 国产精品毛片 | 欧美成人精品欧美一级 | 精品乱子伦一区二区三区 | 色伊人久久 | 久久黄色精品视频 | 亚洲欧美精品 | 国产亚洲欧美另类一区二区三区 | 日韩国产一区 | 91就要激情| 成人不卡视频 | 天天精品综合 | 在线观看中文字幕 | 成年无码av片在线 |