日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

prompt范式

發(fā)布時間:2023/12/8 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 prompt范式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1-范式發(fā)展歷程:

  • P1. 非神經(jīng)網(wǎng)絡(luò)時代的完全監(jiān)督學(xué)習(xí) (Fully Supervised Learning, Non-Neural Network)--特征工程
  • P2. 基于神經(jīng)網(wǎng)絡(luò)的完全監(jiān)督學(xué)習(xí) (Fully Supervised Learning, Neural Network)--架構(gòu)工程
  • P3. 預(yù)訓(xùn)練,精調(diào)范式 (Pre-train, Fine-tune)--目標(biāo)工程
  • P4. 預(yù)訓(xùn)練,提示,預(yù)測范式(Pre-train, Prompt, Predict)--prompt挖掘工程

從 2017-2019 年開始,NLP 模型發(fā)生了翻天覆地的變化,這種全監(jiān)督范式發(fā)揮的作用越來越小。具體而言,研究重點開始轉(zhuǎn)向預(yù)訓(xùn)練、微調(diào)范式。在這一范式下,一個具有固定架構(gòu)的模型通過預(yù)訓(xùn)練作為語言模型(LM),用來預(yù)測觀測到的文本數(shù)據(jù)的概率。由于訓(xùn)練 LM 所需的原始文本數(shù)據(jù)需要足夠豐富,因此,這些 LM 都是在比較大的數(shù)據(jù)集上訓(xùn)練完成。之后,通過引入額外的參數(shù),并使用特定任務(wù)的目標(biāo)函數(shù)對模型進(jìn)行微調(diào),將預(yù)訓(xùn)練 LM 適應(yīng)于不同的下游任務(wù)。在這種范式下,研究重點轉(zhuǎn)向了目標(biāo)工程,設(shè)計在預(yù)訓(xùn)練和微調(diào)階段使用的訓(xùn)練目標(biāo)(損失函數(shù))。

「預(yù)訓(xùn)練、微調(diào)」過程被稱為「預(yù)訓(xùn)練、prompt 和預(yù)測」的過程所取代。在這種范式中,不是通過目標(biāo)工程使預(yù)訓(xùn)練的語言模型(LM)適應(yīng)下游任務(wù),而是重新形式化(Reformulate)下游任務(wù),使其看起來更像是在文本 prompt 的幫助下在原始 LM 訓(xùn)練期間解決的任務(wù)。通過這種方式,選擇適當(dāng)?shù)?prompt,該方法可以操縱模型的行為,以便預(yù)訓(xùn)練的 LM 本身可以用于預(yù)測所需的輸出,有時甚至無需任何額外的特定任務(wù)訓(xùn)練。這種方法的優(yōu)點是給定一組合適的 prompt,以完全無監(jiān)督的方式訓(xùn)練的單個 LM 就能夠用于解決大量任務(wù)。然而該方法也存在一個問題——這種方法引入了 prompt 挖掘工程的必要性,即需要找出最合適的 prompt 來讓 LM 解決面臨的任務(wù)。

不同范式之間存在一定的規(guī)律

1.1-每個范式都會涉及繁瑣的,需要人來參與(提供先驗)的工程(engineering)

  • 特征工程:研究者要進(jìn)行無聊的特征模版定義環(huán)節(jié)---不就是我們的pattern
  • 結(jié)構(gòu)工程:神經(jīng)網(wǎng)絡(luò)雖然解放手動配置特征模板所需要的人力,但是是以需要人工去設(shè)計合適網(wǎng)絡(luò)結(jié)構(gòu)為代價的。因此,在這樣的研究范式下,研究人員花了很多時間在探究最適配下游任務(wù)的結(jié)構(gòu)偏置(Structural Bias)。比如是使用Rnn、Transformer。
  • 目標(biāo)函數(shù)挖掘:這個過程研究者往往是通過引入額外的目標(biāo)函數(shù)到預(yù)訓(xùn)練語言模型上,以便讓其更適配下游任務(wù)。這個過程有時候也需要些網(wǎng)絡(luò)結(jié)構(gòu)的挖掘,但相比較而言,不是這個范式的主旋律,一個實際的原因在于:(1)預(yù)訓(xùn)練過程本身費時,過度的結(jié)構(gòu)偏置(structural bias)探索開銷過大;(2)精調(diào)的過程中,很多時候 預(yù)訓(xùn)練語言模型本身提供的知識已經(jīng)可以讓大家“忘記”使用卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)的差異。
  • Prompt挖掘工程:在這個過程我們往往不對預(yù)訓(xùn)練語言模型改動太多,我們希望是通過對合適prompt的利用將下游任務(wù)建模的方式重新定義。

1.2-新范式帶來的收益可以讓我們暫時忽略那些額外需要的人力代價

  • P1-P2:總是吐槽神經(jīng)網(wǎng)絡(luò)調(diào)參就是煉丹,但是享受著不用人工配置模版,就能收獲還不錯甚至更好的結(jié)果
  • P2-P3:研究哪一種損失函數(shù)效果更好總比排列組合網(wǎng)絡(luò)結(jié)構(gòu)看起來更好
  • P3-P4:prompt learning激活了類似于小樣本學(xué)習(xí)等場景

2-什么是Prompting Learning:

在傳統(tǒng)的用于 NLP 任務(wù)的監(jiān)督學(xué)習(xí)系統(tǒng)中,輸入 x 通常是文本數(shù)據(jù),并基于模型 P(y|x; θ) 預(yù)測輸出 y。但是,監(jiān)督學(xué)習(xí)面臨的一個主要問題是,即為了訓(xùn)練模型 P(y|x; θ),必須要有用于訓(xùn)練任務(wù)的監(jiān)督數(shù)據(jù),但找到這種適用數(shù)據(jù)是比較困難的。

在 NLP 中,基于 Prompt 的學(xué)習(xí)方法試圖通過學(xué)習(xí) LM 來規(guī)避這一問題,該 LM 對文本 x 本身的概率 P(x; θ) 進(jìn)行建模并使用該概率來預(yù)測 y,從而減少或消除了訓(xùn)練模型對大型監(jiān)督數(shù)據(jù)集的需求。

舉個case-分類任務(wù):

輸入:我喜歡這個電影

輸出:“正面" 或者 "負(fù)面"

而如果用Prompt Learning去解決的話,任務(wù)可以變成“完形填空",

輸入:我喜歡這個電影,整體上來看,這是一個 __ 的電影

輸出:“有趣的" 或者 "無聊的"

說到底,就是為了迎合預(yù)訓(xùn)練模型而去重構(gòu)我們的網(wǎng)絡(luò),這樣做的一個前提是預(yù)訓(xùn)練語言模型的知識已經(jīng)很豐富了

  • Fine-tuning中:是預(yù)訓(xùn)練語言模型“遷就“各種下游任務(wù)。具體體現(xiàn)就是上面提到的通過引入各種輔助任務(wù)loss,將其添加到預(yù)訓(xùn)練模型中,然后繼續(xù)pre-training,以便讓其更加適配下游任務(wù)??傊?#xff0c;這個過程中,預(yù)訓(xùn)練語言模型做出了更多的犧牲。
  • Prompting中:是各種下游任務(wù)“遷就“預(yù)訓(xùn)練語言模型。具體體現(xiàn)也是上面介紹的,我們需要對不同任務(wù)進(jìn)行重構(gòu),使得它達(dá)到適配預(yù)訓(xùn)練語言模型的效果??傊?#xff0c;這個過程中,是下游任務(wù)做出了更多的犧牲。

3-other

prompt learning現(xiàn)在主要用于一些簡單的任務(wù),如分類,而如何應(yīng)用在ner任務(wù)中是值得探索的,不過可以借鑒這篇2021文章--https://arxiv.org/pdf/2106.01760.pdf

下面會從預(yù)訓(xùn)練模型+提示工程+答案工程等多個方面詳細(xì)介紹

4-預(yù)訓(xùn)練模型

4.1-預(yù)訓(xùn)練目標(biāo)-Training Objectives

  • Standard Language Model:自回歸模式預(yù)測每個token的概率,如GPT\ELMO等。一個可替換的方式是denoising objectives,通過給輸入x加入噪聲預(yù)測原句x,有下面兩種形式:
  • Corrupted Text Reconstruction:計算輸入句子中噪聲部分的損失來重塑原句
  • Full Text Reconstruction:計算整個句子的損失來重塑原句

不同訓(xùn)練目標(biāo)對不同下游任務(wù)有不同的適應(yīng)性,如從左到右的自回歸形式適用于prefix prompt;噪聲文本重建適用于cloze prompt;基于SLM和FTR的預(yù)訓(xùn)練適用于文本生成;像文本分類任務(wù)被適用于上述的所有

4.2-不同的噪聲形式-noising functions

不同的噪聲形式對算法會有不同的效果,對實體加噪聲就會對下游實體識別任務(wù)效果更好。

Masking:用mask來代替token,mask實體可以增強(qiáng)實體識別的下游任務(wù)

Replacement:用相近詞來代替原詞,這樣可以增強(qiáng)魯棒性

Deletion:刪除某個token,一般與FTR一起使用

Permutation:對text進(jìn)行拆分,再隨機(jī)排列組合

4.3-表示的方向性-directionality of representations

  • Left-to-Righ:從左到右的模式,更加適合用在計算SLM或計算FTR的輸出
  • Bidirectional:每個token的描述受上下文的影響
  • 把兩種策略融合或以隨機(jī)排列的方式對表示進(jìn)行調(diào)節(jié),盡管很少使用這種策略。當(dāng)在網(wǎng)絡(luò)中使用這些策略時,這種調(diào)節(jié)通常通過attention mask來實現(xiàn),attention mask是來掩蓋某些節(jié)點的值,使得在decoder預(yù)測y時不能看到之后的信息,與XLNET的mask形式相似。-- 相關(guān)博客--https://blog.csdn.net/yeziyezi210/article/details/103864518?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control

4.4-四種經(jīng)典預(yù)訓(xùn)練模式

  • Left-to-Right Language Model:GPT-3、GPT-Neo
  • Masked Language Models:Bert、ERNIE
  • Prefix and Encoder-Decoder:對于文本生成任務(wù)如翻譯和摘要提取,需要預(yù)訓(xùn)練模型能夠編碼輸入x和生成輸出y,以下兩種結(jié)構(gòu)使用fully-connected mask來encoder輸入x,自回歸來decode輸出y
    Prefix Language Model:共享編碼與解碼參數(shù),同時采用CTR來更好的描述x,使用SLM來輸出y,經(jīng)典模 型有:UniLM、ERNIE-M
    Encoder-decoder:編碼和解碼的參數(shù)不共享,其他都類似,經(jīng)典模型有:T5、BART、MASS
  • 5-提示工程-prompt engineering

    5.1-prompt shape

  • clozeprompts-完形填空,使用MLM模型、FTR模型
  • prefixprompts-前綴提示,更適用于生成任務(wù),使用自回歸模型、FTR模型
  • 5.2-人工提示工程-manual template engineering

    基于人的直覺去產(chǎn)生提示模版。Brown人工生成一批前綴提示模版來處理多個任務(wù),如問答,翻譯;Schick使用預(yù)先定義好的模版解決分類和文本生成的小樣本問題

    5.3-automated template learning

    可以解決人工模版的兩個問題:1、對于一些復(fù)雜任務(wù)如語義分析來說,構(gòu)造提示模版是一種藝術(shù);2、即使是很有經(jīng)驗的行業(yè)專家也很難找到最優(yōu)的提示模版。自動生成的模版又可以分為兩種,一種是discrete prompt-離散提示,即字符串;另一種是continuous prompt-連續(xù)提示,即向量;后者顯然更有難度但是更有優(yōu)勢,一是離散提示必須是自然語言空間的token,而連續(xù)提示不必;二是連續(xù)模版不必依賴預(yù)訓(xùn)練的參數(shù),可以有自己單獨的參數(shù)。

    template可以分為兩種:static-靜態(tài)的,對每個輸入都是相同的tempalte;dynamic-動態(tài)的,為每個輸入產(chǎn)生一個template,顯然動態(tài)的更好,但設(shè)計更復(fù)雜

    5.3.1-discrete prompts

  • prompt mining:使用包含訓(xùn)練數(shù)據(jù)x和y的語料庫,找到x到y(tǒng)在預(yù)料中的中間詞或依賴路徑,那么這個詞或依賴路徑就可以作為模版,[X],middle words,[Z]
  • prompt paraphrasing:構(gòu)建一個seed prompt,通過回譯、重寫器、同義詞替換去生成更多的prompt,選擇指標(biāo)最高的
  • gradient-based search:基于梯度搜索以找到可以trigger預(yù)訓(xùn)練來生成所需目標(biāo)的短序列
  • prompt generation:當(dāng)作一個文本生成任務(wù),使用SLM。如使用T5為每個輸出產(chǎn)生獨有的template供下游使用
  • prompt scoring:沒看懂咋整的
  • 5.3.2-continuous prompts:提示并不一定要滿足人們的常規(guī)文本模式,可以使用語義表示

  • Prefix Tuning:freeze 預(yù)訓(xùn)練模型參數(shù),單純調(diào)參前綴提示向量參數(shù)
  • Tuning initialized with discrete promopts:使用離散提示進(jìn)行輔助初始化調(diào)參
  • Hard-soft prompt hybrid tuning:軟硬模式混合調(diào)參
  • 6-answer engineering

    6.1-answer shape

    tokens+span+sentence。tokens和span廣泛應(yīng)用于分類、關(guān)系提取和實體識別任務(wù);sentence廣泛應(yīng)用于文本生成、問答任務(wù)

    6.2-answer space design methods-z空間和y空間之間的映射

  • manual design:unconstrained spaces + constrained spaces。前者一般使用identity mapping來進(jìn)行兩個空間的映射。
  • discrete answer search:answer paraphrasing-初始化一個答案空間z,使用語義信息(如回譯)擴(kuò)展空間z。prune-then-search-對可信答案空間進(jìn)行修剪,再來找到最后的空間z。label decomposition-對關(guān)系提取任務(wù),分解關(guān)系到word,如per:city_of_death---{person,city,death},每個token的probability的sum作為answer的probability
  • continuous answer search:幾乎沒有相關(guān)研究
  • 7-multi-prompt learning

    我們上面討論了為輸入構(gòu)造單一的prompt,但是實踐證明,為輸入構(gòu)建多重prompt會有更好的收益

    prompt ensembling:可以使用均值、加權(quán)平均、投票等多種方案得到最后答案z

    prompt augmentation:數(shù)據(jù)增強(qiáng),影響因素有樣例的選擇及排序

    prompt composition:數(shù)據(jù)合成,把兩個pr進(jìn)行合并

    prompt decomposition:數(shù)據(jù)分解,實體識別中,把pr分解成多個

    8-training strategies for prompting methods

    上面介紹了如何構(gòu)造prompt和answer mapping,有些任務(wù)可能是不需要訓(xùn)練的,如利用預(yù)訓(xùn)練的model直接進(jìn)行預(yù)測,但是也有一些訓(xùn)練的方法,使模型向著正確方向優(yōu)化。full-data-learning:使用大量樣本進(jìn)行訓(xùn)練;few shot learning:使用少量樣本進(jìn)行訓(xùn)練。

    基于prompt的下游任務(wù)訓(xùn)練中,有兩種參數(shù):1-預(yù)訓(xùn)練模型參數(shù);2-prompts參數(shù)。下表列舉了參數(shù)更新的方法,主要基于:預(yù)訓(xùn)練參數(shù)是否不變+是否有額外的prompt參數(shù)+如果有額外的paompt參數(shù),是否不變

  • Promptless Fine-tuning:直接使用下游任務(wù)進(jìn)行訓(xùn)練,不實用prompt,更新預(yù)訓(xùn)練參數(shù);優(yōu)點-簡單,不需要設(shè)計prompt;缺點-小數(shù)據(jù)集上容易過擬合或者不穩(wěn)定
  • Tuning-free Prompting:基于prompt直接生成答案,無需調(diào)參。優(yōu)點-簡單高效;缺點-需要較重的prompt設(shè)計
  • Fixed-LM Prompt Tuning:固定預(yù)訓(xùn)練參數(shù),調(diào)整prompt參數(shù),使下游任務(wù)更好作用于prompt的產(chǎn)生;優(yōu)點-適合小樣本學(xué)習(xí);缺點-不適合零樣本學(xué)習(xí),prompt模版通常不再是人工設(shè)計的
  • Fixed-Prompt LM Tunin:固定prompt參數(shù),調(diào)整預(yù)訓(xùn)練參數(shù)
  • Prompt+LM Fine-tuning:調(diào)整prompt參數(shù),調(diào)整預(yù)訓(xùn)練參數(shù)。適合大數(shù)據(jù)集,小數(shù)據(jù)集易過擬合
  • 9-applications

    分類:X,the topic of the document is Z

    自然語言推理:X,the relation of the sentences is Z

    關(guān)系抽取:X,the relation of the entity1 and entity2 is Z

    實體識別:X,the type of the entity1 is Z

    常識推理:i want to drive my car to city,then i relaized i did not have a Z

    文本生成:X,Z

    除偏-debiasing:the following text contains violence,X,Z(Z = {yes,no})

    數(shù)據(jù)集構(gòu)建:write two sentences that mean the same thing,X,Z

    10-相關(guān)結(jié)果

    P-tuning在superGLUE數(shù)據(jù)集上取得了最優(yōu)效果

    -- SuperGLUE 包含的任務(wù): WSD 是詞義消岐、NLI 是自然語言推理、coref. 是共指消解、SC 是句子完成、QA 是問答,較之前的GLUE難度更高

    思考點:

  • NER:不像文本分類任務(wù)那樣,ner需要預(yù)測每一個token或者span是否是一個實體;token label之間存在潛在的關(guān)系。相關(guān)工作很少,2021有人做了一種形式,“mike went to New York yerterday” --"mike went to New York yerterday, mike is a Z entity",Z的空間是{person,organization},這樣的話運算量會很大,如果改成“Mike went to New York yerterday,Z is a person entity”;“Mike went to New York yerterday,Z is a organization entity”變成兩個,但是句子中存在多個同一類型實體 就會漏掉
  • CLS
  • 相關(guān)資料:論文📎prompt.pdf

    知乎 prompt相關(guān)-https://zhuanlan.zhihu.com/p/395795968

    -https://zhuanlan.zhihu.com/p/391606045

    superGLUE數(shù)據(jù)集介紹-https://zhuanlan.zhihu.com/p/181706541

    總結(jié)

    以上是生活随笔為你收集整理的prompt范式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。