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

大模型PEFT技術(shù)原理(一):BitFit、Prefix Tuning、Prompt Tuning

這篇具有很好參考價值的文章主要介紹了大模型PEFT技術(shù)原理(一):BitFit、Prefix Tuning、Prompt Tuning。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

? ? ? ?隨著預(yù)訓(xùn)練模型的參數(shù)越來越大,尤其是175B參數(shù)大小的GPT3發(fā)布以來,讓很多中小公司和個人研究員對于大模型的全量微調(diào)望而卻步,近年來研究者們提出了各種各樣的參數(shù)高效遷移學(xué)習(xí)方法(Parameter-efficient Transfer Learning),即固定住Pretrain Language model(PLM)的大部分參數(shù),僅調(diào)整模型的一小部分參數(shù)來達到與全部參數(shù)的微調(diào)接近的效果(調(diào)整的可以是模型自有的參數(shù),也可以是額外加入的一些參數(shù))。本文將介紹一些常見的參數(shù)高效微調(diào)技術(shù),比如:BitFit、Prefix Tuning、Prompt Tuning、P-Tuning、P-Tuning v2、Adapter Tuning及其變體、LoRA、AdaLoRA、QLoRA、MAM Adapter、UniPELT等。

1、BitFit

論文地址:https://aclanthology.org/2022.acl-short.1.pdf

代碼地址:https://github.com/benzakenelad/BitFit

? ? ? ?BitFIt只對模型的bias進行微調(diào)。在小規(guī)模-中等規(guī)模的訓(xùn)練數(shù)據(jù)上,BitFit的性能與全量微調(diào)的性能相當,甚至有可能超過,在大規(guī)模訓(xùn)練數(shù)據(jù)上,與其他fine-tuning方法也差不多。在大模型中bias存在Q,K,V,MLP,LayerNorm中,具體公式如下:

大模型PEFT技術(shù)原理(一):BitFit、Prefix Tuning、Prompt Tuning,ChatGPT,筆記,prompt,人工智能

大模型PEFT技術(shù)原理(一):BitFit、Prefix Tuning、Prompt Tuning,ChatGPT,筆記,prompt,人工智能

大模型PEFT技術(shù)原理(一):BitFit、Prefix Tuning、Prompt Tuning,ChatGPT,筆記,prompt,人工智能

? ? ? 在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。

大模型PEFT技術(shù)原理(一):BitFit、Prefix Tuning、Prompt Tuning,ChatGPT,筆記,prompt,人工智能

? ? ? ?通過Bitfit訓(xùn)練前后的參數(shù)對比,發(fā)現(xiàn)很多bias參數(shù)沒有太多變化,例如跟計算key所涉及到的bias參數(shù)。發(fā)現(xiàn)其中計算query與中間MLP層的bias(將特征維度從N放大到4N的FFN層——將輸入從768d轉(zhuǎn)化為到3072d)變化最為明顯,只更新這兩類bias參數(shù)也能達到不錯的效果,反之,固定其中任何一者,模型的效果都有較大損失。

大模型PEFT技術(shù)原理(一):BitFit、Prefix Tuning、Prompt Tuning,ChatGPT,筆記,prompt,人工智能

作者給出了Hugging Face與BitFit參數(shù)的映射關(guān)系表,如下所示:

大模型PEFT技術(shù)原理(一):BitFit、Prefix Tuning、Prompt Tuning,ChatGPT,筆記,prompt,人工智能

2、Prefix?Tuning

論文地址:https://arxiv.org/pdf/2101.00190.pdf

代碼地址:https://github.com/XiangLi1999/PrefixTuning

??? ? ?prefix-tuning方法是一個輕量級的fine-tuning方法用于自然語言處理的生成任務(wù)。該方法可以保持預(yù)訓(xùn)練語言模型參數(shù)固定(frozen),而只需要在task-specific vector(稱為prefix)上進行優(yōu)化。即只需要少量(約0.1%)的優(yōu)化參數(shù),即可以在量和小量數(shù)據(jù)上達到不錯的效果。

針對不同的模型結(jié)構(gòu),需要構(gòu)造不同的Prefix。

  • 針對自回歸架構(gòu)模型:在句子前面添加前綴,得到?z = [PREFIX; x; y],合適的上文能夠在固定 LM 的情況下去引導(dǎo)生成下文(比如:GPT3的上下文學(xué)習(xí))。

  • 針對編碼器-解碼器架構(gòu)模型:Encoder和Decoder都增加了前綴,得到?z = [PREFIX1; x; PREFIX2; y]。Encoder端增加前綴是為了引導(dǎo)輸入部分的編碼,Decoder 端增加前綴是為了引導(dǎo)后續(xù)token的生成。

大模型PEFT技術(shù)原理(一):BitFit、Prefix Tuning、Prompt Tuning,ChatGPT,筆記,prompt,人工智能

? ? ? ? 如上圖所示,??表示prefix indices序列,??表示prefix的長度。Prefix-tuning通過初始化可訓(xùn)練矩陣??(維度為??)來存儲prefix參數(shù):

?

? ? ? ?training objective與Fine-tuning相同,但語言模型的參數(shù)?固定,僅僅prefix參數(shù)是可訓(xùn)練參數(shù)。因此是可訓(xùn)練的的函數(shù),當時,???由??直接復(fù)制得到,對于??, 由于prefix activations始終在left context因此可以影響到????。

? ? ? ?在實驗上,直接更新??的參數(shù)會導(dǎo)致優(yōu)化的不穩(wěn)定以及表現(xiàn)上的極具下降。因此通過使用較小的矩陣??通過大型前饋神經(jīng)網(wǎng)絡(luò)(??)來reparametrize矩陣??:

??

? ? ? ? 其中,??和??在相同的行維度(也就是相同的prefix length), 但不同的列維度。當訓(xùn)練完成后,reparametrization參數(shù)被丟掉,僅僅??需要被保存下來。

? ? ? ? 實驗中對比了Fine Tuning和Prefix Tuning在E2E、WebNLG和DART三個table-to-text任務(wù)上的效果:

大模型PEFT技術(shù)原理(一):BitFit、Prefix Tuning、Prompt Tuning,ChatGPT,筆記,prompt,人工智能

大模型PEFT技術(shù)原理(一):BitFit、Prefix Tuning、Prompt Tuning,ChatGPT,筆記,prompt,人工智能

3、Prompt?Tuning

論文地址:https://arxiv.org/pdf/2104.08691.pdf

代碼地址:https://github.com/google-research/prompt-tuning

? ? ? ?Prompt Tuning可以看作是Prefix Tuning的簡化版本,面向NLU任務(wù),進行了更全面的效果對比,并且在大模型上成功打平了LM微調(diào)的效果,它給每個任務(wù)定義了自己的Prompt,然后拼接到數(shù)據(jù)上作為輸入,但只在輸入層加入prompt tokens,并且不需要加入 MLP 進行調(diào)整來解決難訓(xùn)練的問題。通過反向傳播更新參數(shù)來學(xué)習(xí)prompts,而不是人工設(shè)計prompts;同時凍結(jié)模型原始權(quán)重,只訓(xùn)練prompts參數(shù),訓(xùn)練完以后,用同一個模型可以做多任務(wù)推理。

大模型PEFT技術(shù)原理(一):BitFit、Prefix Tuning、Prompt Tuning,ChatGPT,筆記,prompt,人工智能

對比Prefix-Tunning,prompt-tuning的主要差異如下,

? ? ? 論文使用100個prefix token作為默認參數(shù),大于以上prefix-tuning默認的10個token,不過差異在于prompt-Tunning只對輸入層(Embedding)進行微調(diào),而Prefix是對虛擬Token對應(yīng)的上游layer全部進行微調(diào)。因此Prompt-Tunning的微調(diào)參數(shù)量級要更小,且不需要修改原始模型結(jié)構(gòu),這是“簡化”的來源。相同的prefix長度,Prompt-Tunning(<0.01%)微調(diào)的參數(shù)量級要比Prefix-Tunning(0.1%~1%)小10倍以上,如下圖所示

大模型PEFT技術(shù)原理(一):BitFit、Prefix Tuning、Prompt Tuning,ChatGPT,筆記,prompt,人工智能

? ? ? 為什么上面prefix-tuning只微調(diào)embedding層效果就不好,放在prompt-tuning這里效果就好了呢?因為評估的任務(wù)不同無法直接對比,個人感覺有兩個因素,一個是模型規(guī)模,另一個是繼續(xù)預(yù)訓(xùn)練,前者的可能更大些,在下面的消融實驗中會提到???

效果&消融實驗

? ? ? 在SuperGLUE任務(wù)上,隨著模型參數(shù)的上升,PromptTunning快速拉近和模型微調(diào)的效果,110億的T5模型(上面prefix-tuning使用的是15億的GPT2),已經(jīng)可以打平在下游多任務(wù)聯(lián)合微調(diào)的LM模型,并且遠遠的甩開了Prompt Design(GPT3 few-shot)

大模型PEFT技術(shù)原理(一):BitFit、Prefix Tuning、Prompt Tuning,ChatGPT,筆記,prompt,人工智能

? ? ? 作者也做了全面的消融實驗,包括以下4個方面,最核心的感受就是只要模型足夠夠大一切都好說

  1. prompt長度(a):固定其他參數(shù),作者嘗試了{1,5,20,100,150},?Prompt token?的長度在20左右時的表現(xiàn)已經(jīng)不錯(超過20之后,提升Prompt token長度,對模型的性能提升不明顯了),同樣的,這個gap也會隨著模型參數(shù)規(guī)模的提升而減?。磳τ诔笠?guī)模模型而言,即使 Prompt token 長度很短,對性能也不會有太大的影響);

  2. Prompt初始化(b): 作者嘗試了隨機uniform初始化,用標簽文本空間初始化,和用Top5K高頻詞采樣初始化,在10^8規(guī)模,類標簽詞初始化效果最好。作者發(fā)現(xiàn)預(yù)測label也會在對應(yīng)prompt空間內(nèi)。不過到百億規(guī)模后,初始化帶來的影響就會消失;

  3. T5繼續(xù)預(yù)訓(xùn)練(c):作者認為T5本身的Span Corruption預(yù)訓(xùn)練目標和掩碼詞,并不適合凍結(jié)LM的場景,因為在微調(diào)中模型可以調(diào)整預(yù)訓(xùn)練目標和下游目標的差異,而只使用prompt可能無法彌合差異。其實這里已經(jīng)能看出En-Dn框架在生成場景下沒有GPT這樣的Decoder來的自然。因此作者基于LM目標對T5進行繼續(xù)預(yù)訓(xùn)練;

  4. 繼續(xù)預(yù)訓(xùn)練step(d):以上的繼續(xù)預(yù)訓(xùn)練steps,繼續(xù)預(yù)訓(xùn)練步數(shù)越高,模型效果在不同模型規(guī)模上越單調(diào);

大模型PEFT技術(shù)原理(一):BitFit、Prefix Tuning、Prompt Tuning,ChatGPT,筆記,prompt,人工智能

可解釋性

? ? ? 考慮Prompt-Tunning使用Embedding來表征指令,可解釋性較差。作者使用cosine距離來搜索prompt embedding對應(yīng)的Top5近鄰。發(fā)現(xiàn)如下:

  • embedding的近鄰出現(xiàn)語義相似的cluster,例如{ Technology / technology / Technologies/ technological / technologies }, 說明連續(xù)prompt實際可能是相關(guān)離散prompt詞的聚合語義

  • 當連續(xù)prompt較長(len=100), 存在多個prompt token的KNN相同:個人認為這和prefix-tuning使用MLP那里我的猜測相似,prompt應(yīng)該是一個整體

  • 使用標簽詞初始化,微調(diào)后標簽詞也大概率會出現(xiàn)在prompt的KNN中,說明初始化可以提供更好的prior信息加速收斂文章來源地址http://www.zghlxwxcb.cn/news/detail-822664.html

到了這里,關(guān)于大模型PEFT技術(shù)原理(一):BitFit、Prefix Tuning、Prompt Tuning的文章就介紹完了。如果您還想了解更多內(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)文章

  • 大語言模型LLM微調(diào)技術(shù):Prompt Tuning

    大語言模型LLM微調(diào)技術(shù):Prompt Tuning

    截止23年3月底,語言模型發(fā)展走過了三個階段: 第一階段 :設(shè)計一系列的自監(jiān)督訓(xùn)練目標(MLM、NSP等),設(shè)計新穎的模型架構(gòu)(Transformer),遵循Pre-training和Fine-tuning范式。典型代表是BERT、GPT、XLNet等; 第二階段 :逐步擴大模型參數(shù)和訓(xùn)練語料規(guī)模,探索不同類型的架構(gòu)。

    2024年02月03日
    瀏覽(16)
  • 一文讀懂大型語言模型參數(shù)高效微調(diào):Prefix Tuning與LLaMA-Adapter

    一文讀懂大型語言模型參數(shù)高效微調(diào):Prefix Tuning與LLaMA-Adapter

    芝士AI吃魚 在快速發(fā)展的人工智能領(lǐng)域中,高效、有效地使用大型語言模型變得日益重要,參數(shù)高效微調(diào)是這一追求的前沿技術(shù),它允許研究人員和實踐者在最小化計算和資源占用的同時,重復(fù)使用預(yù)訓(xùn)練模型。這還使我們能夠在更廣泛的硬件范圍內(nèi)訓(xùn)練AI模型,包括計算能

    2024年01月17日
    瀏覽(26)
  • 【提示學(xué)習(xí)論文七】Visual Prompt Tuning論文原理

    【提示學(xué)習(xí)論文七】Visual Prompt Tuning論文原理

    這篇文章于2022年發(fā)表在ECCV(European Conference on Computer Vision),作者是Menglin Jia, Luming Tang,Bor-Chun Chen, Claire Cardie, Serge Belongie,Bharath Hariharan, Ser-Nam Lim。 VPT是一種有效的用于大規(guī)模Transformer的視覺微調(diào),只需要在輸入空間引入少量可訓(xùn)練參數(shù),同時凍結(jié)backbone。 目前適應(yīng)預(yù)訓(xùn)練模

    2024年01月17日
    瀏覽(28)
  • 【LLM】Prompt tuning大模型微調(diào)實戰(zhàn)

    【LLM】Prompt tuning大模型微調(diào)實戰(zhàn)

    prompt tuning可看做是prefix tuning的簡化版本,在輸入層加入prompt tokens,并不需要加入MLP進行調(diào)整來解決難訓(xùn)練的問題,作者實驗表明隨著預(yù)訓(xùn)練模型參數(shù)量的增加,prompt tuning效果逼近fine tuning效果 之前提到過可以借助 peft 庫(Parameter-Efficient Fine-Tuning)進行微調(diào),支持如下tuni

    2024年02月13日
    瀏覽(26)
  • 【論文極速讀】Prompt Tuning——一種高效的LLM模型下游任務(wù)適配方式

    【論文極速讀】Prompt Tuning——一種高效的LLM模型下游任務(wù)適配方式

    【論文極速讀】Prompt Tuning——一種高效的LLM模型下游任務(wù)適配方式 FesianXu 20230928 at Baidu Search Team Prompt Tuning是一種PEFT方法(Parameter-Efficient FineTune),旨在以高效的方式對LLM模型進行下游任務(wù)適配,本文簡要介紹Prompt Tuning方法,希望對讀者有所幫助。如有謬誤請見諒并聯(lián)系指

    2024年02月07日
    瀏覽(20)
  • 【論文解讀】Prefix-Tuning: Optimizing Continuous Prompts for Generation

    【論文解讀】Prefix-Tuning: Optimizing Continuous Prompts for Generation

    一.介紹 1.1 前置知識 1.1.1?in-context learning At the limit, GPT-3 (Brown et al, 2020) can be deployed using in-context learning, which is a form of prompting, without modifying any LM parameters. \\\"部署\\\" 指的是將 GPT-3 模型用于實際應(yīng)用或特定任務(wù)的過程。 \\\"In-context learning\\\" 是一種 通過提供上下文或附加信息來指導(dǎo)

    2024年02月07日
    瀏覽(24)
  • 【LLM微調(diào)范式1】Prefix-Tuning: Optimizing Continuous Prompts for Generation

    【LLM微調(diào)范式1】Prefix-Tuning: Optimizing Continuous Prompts for Generation

    論文標題:Prefix-Tuning: Optimizing Continuous Prompts for Generation 論文作者:Xiang Lisa Li, Percy Liang 論文原文:https://arxiv.org/abs/2101.00190 論文出處:ACL 2021 論文被引:1588(2023/10/14) 論文代碼:https://github.com/XiangLi1999/PrefixTuning 傳統(tǒng)的預(yù)訓(xùn)練+微調(diào)范式的問題:下游任務(wù)微調(diào)時,需要更新

    2024年02月07日
    瀏覽(13)
  • ChatGPT技術(shù)原理 第四章:Transformer模型

    目錄 4.1 什么是Transformer 4.2 Transformer結(jié)構(gòu)詳解 4.3 Self-Attention機制 4.4 Multi-Head Attention機制

    2024年02月02日
    瀏覽(30)
  • Prefix-tuning、Adapter、LLaMA-Adapter的流程圖與偽代碼實現(xiàn)

    Prefix-tuning、Adapter、LLaMA-Adapter的流程圖與偽代碼實現(xiàn)

    流程圖: 代碼: 流程圖: 代碼: 流程圖: 代碼:

    2024年02月11日
    瀏覽(19)
  • ChatGPT進階:利用Fine-tuning訓(xùn)練自己的模型

    ChatGPT是“大力出奇跡”的經(jīng)典表現(xiàn),大模型給ChatGPT帶來了驚人的智能,但是要訓(xùn)練這樣的大模型,可是十分燒錢的,根據(jù)OpenAI給出的數(shù)據(jù),1700億參數(shù)的Davinci模型從頭訓(xùn)練一遍,大概需要耗時3個月,耗資150萬美元。那我們普通人或者小公司面對這個高門檻,對自定義模型是

    2024年02月17日
    瀏覽(24)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包