最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

還在 Fine-tune 大規(guī)模預(yù)訓(xùn)練模型? 該了解下最新玩法 Prompt-tuning 啦!

2021-11-04 18:36 作者:深藍(lán)學(xué)院  | 我要投稿

由于預(yù)訓(xùn)練模型經(jīng)過(guò)了預(yù)訓(xùn)練的學(xué)習(xí),因此其本身已經(jīng)擁有了一定的特征抽取(挖掘)能力,是個(gè)“三好學(xué)生”;而大規(guī)模預(yù)訓(xùn)練模型在此基礎(chǔ)上由于參數(shù)量眾多,因此結(jié)合大規(guī)模數(shù)據(jù)預(yù)訓(xùn)練后,其已經(jīng)不僅僅是“三好學(xué)生”的程度,可謂是“大師”級(jí)別了。

大規(guī)模預(yù)訓(xùn)練模型的知識(shí)面比較廣泛,我們可將其看作是“知識(shí)庫(kù)”、“百科全書(shū)”。而知識(shí)的廣度與深度在一定程度上是存在矛盾關(guān)系的,為了讓其在實(shí)際應(yīng)用中(某些領(lǐng)域)發(fā)揮出更好地表現(xiàn),我們會(huì)要求它對(duì)某些領(lǐng)域的知識(shí)有更深的認(rèn)知。

針對(duì)這些特定領(lǐng)域而提出的任務(wù),叫作“下游任務(wù)”;相對(duì)地,模型在預(yù)訓(xùn)練學(xué)習(xí)時(shí)要解決的任務(wù)就叫作“上游任務(wù)”。

上、下游任務(wù)之間通常存在一定的“隔閡”,即目標(biāo)不一致。于是,我們通常會(huì)針對(duì)下游任務(wù)為模型重新設(shè)計(jì)目標(biāo)函數(shù),讓模型在擁有廣泛知識(shí)面的基礎(chǔ)下對(duì)特定領(lǐng)域方面的知識(shí)進(jìn)一步地學(xué)習(xí),加深其在這方面知識(shí)的深度。這種做法,就是我們常說(shuō)的?'fine-tune',中文叫作“微調(diào)”。

之所以叫作微調(diào),是因?yàn)檫@次的學(xué)習(xí)可能并不會(huì)大幅度地改變模型參數(shù),亦或不需要改變模型的全量參數(shù),而是僅僅訓(xùn)練頭部(輸出預(yù)測(cè)結(jié)果的部分)即可,所以這個(gè)詞還是蠻形象的——“微微地調(diào)整”(你細(xì)品~)。

微調(diào)這種玩法已經(jīng)玩很久了,時(shí)至當(dāng)下2021年,它也該面臨退役的情境了(遭嫌棄了..)。其實(shí),退役與否非由其存在的時(shí)間長(zhǎng)短決定,更多地是由它到底“好不好”來(lái)決定的,而這個(gè)好或不好的評(píng)估維度又包含多個(gè)方面,比如:可實(shí)施性(是否可行)、實(shí)施難度/代價(jià)(算力、空間、時(shí)間,甚至人力) 和 最終可達(dá)到的效果(模型的性能) 等等…

因此,它之所以會(huì)面臨退役的問(wèn)題,是因?yàn)樗旧淼娜毕菀呀?jīng)日益顯現(xiàn)出來(lái)了。然而,一個(gè)方法被貼上過(guò)時(shí)的標(biāo)簽,有一個(gè)必要條件就是有新的方法被提出來(lái)。而這個(gè)方法,就是本文的主角—— NLP領(lǐng)域最近異?;鸨摹?strong>Prompt”!

雖然目前是在NLP領(lǐng)域開(kāi)啟了新篇章(其實(shí)多模態(tài)也已經(jīng)有了許多相關(guān)工作,但還比較稚嫩,暫且不談),但CW相信prompt在CV領(lǐng)域也有機(jī)會(huì)玩起來(lái),因?yàn)槲沂冀K堅(jiān)信CV和NLP最終會(huì)趨于統(tǒng)一的范式,從近年來(lái)Transformer在CV 界“大肆廝殺”就可感受到這種趨勢(shì)。

zhihu.com/question/4870

我偶像老子也告訴大家:“道生一,一生二,二生三,三生萬(wàn)物”。只有找到那個(gè)“一”,才是尋找到了本質(zhì),從而得到“道”。當(dāng)然,這必然是個(gè)螺旋上升的過(guò)程,我們先要針對(duì)“萬(wàn)物”進(jìn)行各種嘗試,然后抵達(dá)“三”、接著是“二”、最終到“一”… 這是需要很多代人共同努力才能完成的,甚至可能永遠(yuǎn)不能完成,但這個(gè)過(guò)程卻是有意義的,因?yàn)樗诓粩嘈拚祟?lèi)對(duì)世界的認(rèn)知,同時(shí)也實(shí)實(shí)在在地影響著我們的實(shí)際生活。

不好意思,可能是 CW 有段時(shí)間沒(méi)寫(xiě)文了,禁不住有點(diǎn)嘮叨.. 接下來(lái)就開(kāi)始講下 prompt 的玩法。首先從它產(chǎn)生的背景與動(dòng)機(jī)說(shuō)起,然后結(jié)合例子介紹下它的概念,進(jìn)而具體闡述它的方法,接著提出它當(dāng)前面臨的一些困難與挑戰(zhàn),最后談?wù)勛约旱?strong>理解與總結(jié)

1.背景與動(dòng)機(jī):這可能是NLP的第四范式——Prompt

首先,回顧下NLP發(fā)展至今的范式(玩法):

I. 非神經(jīng)網(wǎng)絡(luò)時(shí)代的完全監(jiān)督學(xué)習(xí)(Fully Supervised Learning, Non-Neural Network)

這時(shí)候還沒(méi)有神經(jīng)網(wǎng)絡(luò),大家都在玩特征工程(Feature Engineering)。

II. 基于神經(jīng)網(wǎng)絡(luò)的完全監(jiān)督學(xué)習(xí)(Fully Supervised Learning, Neural Network)

這時(shí)候有了神經(jīng)網(wǎng)絡(luò),大家對(duì)其結(jié)構(gòu)設(shè)計(jì)著了迷,大玩結(jié)構(gòu)工程(Architecture Engineering)。

III. 預(yù)訓(xùn)練 & 精調(diào)?(Pre-train & Fine-tune)

如 CW 在前言所說(shuō)(別告訴我你沒(méi)認(rèn)真看),我們通常會(huì)為預(yù)訓(xùn)練模型設(shè)計(jì)針對(duì)下游任務(wù)的目標(biāo)函數(shù),這時(shí)候大家玩的是目標(biāo)函數(shù)挖掘(Objective Engineering)

IV. 預(yù)訓(xùn)練、提示、預(yù)測(cè)(Pre-train, Prompt, Predict)

這是當(dāng)下最in的玩法,而主要玩的東西就是Prompt挖掘

以上參考了劉鵬飛大佬的觀點(diǎn),也歡迎大家前去學(xué)習(xí):zhuanlan.zhihu.com/p/39

那么為何會(huì)有prompt這種新玩法呢?到底什么是prompt?如今在玩的prompt挖掘又是什么鬼?不急不急,接下來(lái) CW 將為您逐一揭曉。

我們先來(lái)總結(jié)下 fine-tune 存在的一些問(wèn)題:

(以下 'PLM' 代表 Pre-trained Language Model,即預(yù)訓(xùn)練模型)

  • PLM 規(guī)模不斷增大,對(duì)其進(jìn)行 fine-tune 的硬件要求數(shù)據(jù)需求都在不斷上漲;

  • 豐富多樣的下游任務(wù)使得 PLM 在 fine-tune 階段的目標(biāo)設(shè)計(jì)非常繁瑣復(fù)雜

  • 由于上、下游任務(wù)之間目標(biāo)不一致,往往存在著“隔閡”,因此 PLM 無(wú)法直接適配下游任務(wù),輸入和輸出之間存在結(jié)構(gòu)偏差(structure bias),優(yōu)化成本高;

可以看到,fine-tune 是個(gè)問(wèn)題多多的家伙,不是“好學(xué)生”。為了變得更加優(yōu)秀,我們必須找個(gè)“三好學(xué)生”來(lái)做榜樣,于是我們把目光轉(zhuǎn)向了 prompt 這個(gè)家伙。

以上是當(dāng)下需要攻克的難點(diǎn),但請(qǐng)不要忘了我們的核心目標(biāo)——讓大規(guī)模PLM 更“好”地應(yīng)對(duì)下游任務(wù)。這個(gè)“好”主要包含兩方面:

  1. 首先,理所當(dāng)然是要有更好的性能

  2. 同時(shí),以更低的代價(jià)實(shí)現(xiàn)目標(biāo)

于是,我們可以圍繞著核心目標(biāo)出發(fā),在設(shè)計(jì)過(guò)程中結(jié)合以上需要攻克的難點(diǎn)去思考,那么,怎么做呢?

我偶像老子又告訴大家了:“反者,道之動(dòng)”!

既然fine-tune這種玩法已經(jīng)不太好玩下去了,那么就要走向反面,才能繼續(xù)發(fā)展。Fine-tune是讓預(yù)訓(xùn)練模型去適配下游任務(wù),于是我們就應(yīng)該反過(guò)來(lái)——讓下游任務(wù)去適配預(yù)訓(xùn)練模型。

具體一點(diǎn),就是:將下游任務(wù)的輸入建模成適配預(yù)訓(xùn)練模型處理的形式,從而更充分地利用預(yù)訓(xùn)練模型已有的知識(shí)、以更低的成本進(jìn)行二次學(xué)習(xí)。

形象來(lái)看,猶如下圖:

左邊是fine-tune的玩法,右邊則是prompt的玩法。

最后,綜合前文提到的四個(gè)范式的“名片”一起來(lái)比較下:

2.概念與例子:Prompt是什么呢?

OK,背景和動(dòng)機(jī)了解后,那么 prompt 到底是什么呢?

直觀來(lái)解釋?zhuān)琾rompt 就是給預(yù)訓(xùn)練模型的一些線索和提示,讓它更好地理解我們提出的問(wèn)題(下游任務(wù)),這是比較intuitive的定義。

更technical地來(lái)說(shuō),prompt是這么一項(xiàng)技術(shù):通過(guò)在輸入端額外添加一些文本,從而更好地利用?PLM 已有的知識(shí),進(jìn)而更好地應(yīng)對(duì)下游任務(wù)。

比如最常見(jiàn)的文本分類(lèi)問(wèn)題,輸入:'I love this movie.',模型會(huì)輸出:'positive' / 'negative'。然而,對(duì)于本身是做文本生成的 PLM,它是不懂得分類(lèi)的,但我們可以對(duì)原始輸入進(jìn)行適當(dāng)?shù)剞D(zhuǎn)換,構(gòu)造成適合它處理的方式,讓它輸出 'positive' / 'negative' 這些詞,從而應(yīng)用到文本分類(lèi)這種下游任務(wù)。

具體來(lái)說(shuō),我們將 ‘I love this movie.’構(gòu)造成:

‘I love this movie.?Overall, it was a _____ movie.

其中,前面的虛下劃線用于填入原始的輸入文本,后面的實(shí)下劃線則用于給模型預(yù)測(cè)答案文本,至于其余部分則作為提供給模型的線索。

于是,這個(gè)做文本生成的 PLM 就可能會(huì)預(yù)測(cè)出一些諸如 'fantastic', 'boring'.. 等等這些詞匯作為答案。最終,我們?cè)賹?duì)這個(gè)模型的預(yù)測(cè)('fantastic', 'boring'.. 這些)結(jié)果映射到所需的答案空間,比如:

fantastic -> positive;

boring -> negative

這么一來(lái),通過(guò) prompt 的方式,就可以讓原本做文本生成的PLM也可以handle文本分類(lèi)任務(wù)了。怎樣,很好玩有木有?。?/p>

對(duì)于輸入文本的構(gòu)建,更正經(jīng)(數(shù)學(xué))地描述如下:

將原始x輸入文本f_%7Bprompt%7D%20送入函數(shù)構(gòu)造成x%5E%7B'%7D,即:?

就上述提到的例子來(lái)說(shuō),這里x就是 'I love this movie.',而x%5E%7B'%7D就是:

'I love this movie. Overall, it was a _____ movie.'

函數(shù)f_%7Bprompt%7D%20主要實(shí)施的操作是:使用一個(gè)“模板”,這個(gè)模板通常是一段文字描述,并且留出兩個(gè)空位[X]和[Z],其中[X]填入原始的輸入文本,[Z]則預(yù)留給模型填入預(yù)測(cè)答案。還是拿以上的例子來(lái)說(shuō),函數(shù)f_%7Bprompt%7D%20構(gòu)建的模板就是:

[X], Overall, it was a [Z] movie.

其中,[X] 是 'I love this movie.'。于是,模型就會(huì)根據(jù)這段描述在 [Z] 位置上預(yù)測(cè)出文本,答案可能是 'fantastic' 或者 'boring' 之類(lèi)的,具體和模型的表現(xiàn)相關(guān)。

至此,你或許會(huì)問(wèn):除了文本分類(lèi),其它 NLP 任務(wù)上可以用 prompt 來(lái)玩嗎?

當(dāng)然!畢竟是被稱為新范式的家伙,怎可能這么弱~喏,一些常見(jiàn)的例子可參考下圖:

3.設(shè)計(jì)與方法:Prompt怎么玩?

Prompt作為一種新范式,有它獨(dú)特的玩法,這部分來(lái)講講它的游戲規(guī)則。



PLM Choice

當(dāng)然,無(wú)論怎么玩,模型還是得有的,而且選擇與下游任務(wù)更適配的預(yù)訓(xùn)練模型?會(huì)更有利,也就是模型本身的處理形式與下游任務(wù)形式更貼近的就會(huì)更好。

Prompt Construction

這部分對(duì)應(yīng)上一節(jié)提到的模板構(gòu)建,也就是怎樣構(gòu)建合適的模板為預(yù)訓(xùn)練模型提供更好的提示,從而更好地激發(fā)它利用學(xué)到的知識(shí),可謂是 prompt 游戲環(huán)節(jié)的重中之重。

Prediction

這個(gè)貌似有點(diǎn)廢話,模型確定了,輸入形式也構(gòu)造好了,總該干活(預(yù)測(cè))了吧~

Label -> Answer Mapping

前文也提到過(guò),預(yù)訓(xùn)練模型的預(yù)測(cè)輸出可能并非是下游任務(wù)所需要的形式,因此我們通常還需要構(gòu)建預(yù)測(cè)結(jié)果與下游任務(wù)標(biāo)簽的映射關(guān)系

(你們:咦..似乎還少了點(diǎn)什么?CW:少了訓(xùn)練對(duì)不對(duì)!你們:哦哦,對(duì)哦!)

Training Strategies

雖說(shuō)prompt這種范式能夠更好地利用模型已學(xué)到的知識(shí),但終歸還是要訓(xùn)練的,這樣才能加深模型關(guān)于下游任務(wù)知識(shí)的深度。那么,在prompt這種玩法中,模型是怎樣訓(xùn)練的呢?

這里涉及到多種多樣的訓(xùn)練策略,可以從兩個(gè)維度來(lái)歸納:

·?從數(shù)據(jù)的視角來(lái)看

根據(jù)下游任務(wù)數(shù)據(jù)集的規(guī)模,可以分為zero-shot,?few-shot?以及full-data,根據(jù)不同數(shù)據(jù)集規(guī)模選擇不同的訓(xùn)練策略是值得考慮的一件事情。

·?從參數(shù)的視角來(lái)看

PLM 可以是frozen或是tuned的,同時(shí)prompt構(gòu)建的模板(簡(jiǎn)稱prompt)也可以是可學(xué)習(xí)的(而并非是 hand-craft、 不可學(xué)習(xí)的),它可以是embedding vector 的形式。當(dāng)然,如上述所示的那些例子般,在最傳統(tǒng)的玩法中,prompt 模板都是固定的自然語(yǔ)言描述,本身是不可學(xué)習(xí)的。

以上兩個(gè)維度通常需要互相結(jié)合考慮來(lái)選擇合適的訓(xùn)練策略,比如:在 few-shot場(chǎng)景,通常就比較適合fix住PLM、僅對(duì)prompt進(jìn)行tuning(如果是可學(xué)習(xí)的prompt);而在zero-shot場(chǎng)景,你甚至可以將prompt也fix住;然而,當(dāng)下游任務(wù)擁有大量數(shù)據(jù)時(shí),僅僅tune prompt可能會(huì)欠擬合(畢竟 prompt 的參數(shù)量也就那么點(diǎn)兒~),這時(shí)候?qū)LM一起tune就會(huì)比較合適。

4.困難與挑戰(zhàn):Prompt好像很麻煩

現(xiàn)在,大家對(duì)prompt應(yīng)該有個(gè)基本了解了。但是,讀完上一節(jié)的內(nèi)容,不少朋友應(yīng)該會(huì)覺(jué)得prompt這種玩法還是挺麻煩的,有點(diǎn)回歸到上世紀(jì)構(gòu)造特征工程的感覺(jué),尤以構(gòu)建prompt 模板標(biāo)簽與預(yù)測(cè)之間的映射為重。

并且,不少大佬經(jīng)過(guò)實(shí)驗(yàn)發(fā)現(xiàn),模型對(duì)于自然語(yǔ)言形式的prompt模板十分敏感,模型對(duì)于擁有相同語(yǔ)義但表述形式不同的模板會(huì)有很大差異的表現(xiàn),這同時(shí)也可預(yù)知到模型對(duì)于噪聲也會(huì)異常敏感,畢竟大規(guī)模PLM參數(shù)量巨多,擬合能力賊6…因此,精心設(shè)計(jì)prompt模板似乎成了一門(mén)藝術(shù)。

另外,標(biāo)簽與預(yù)測(cè)之間的映射也同樣重要,這直接決定了PLM是否能handle下游任務(wù),所以在這方面也需要我們花不少心思。

當(dāng)前,針對(duì)這兩部分已經(jīng)有了各種各樣的做法(由于本文主要作為對(duì)prompt的概述,因此不詳細(xì)介紹),花里胡哨的paper也不少,但至今仍沒(méi)有一個(gè)比較通用且簡(jiǎn)潔的方式,路漫漫其修遠(yuǎn)兮…

5.理解與總結(jié)

啰嗦了這么多,最后 CW 就從幾方面來(lái)談?wù)勛约簩?duì) prompt 的理解,作為本文的總結(jié)。

首先,prompt是將輸入文本建模成適合預(yù)訓(xùn)練模型處理的方式,相比于fine-tune 那種強(qiáng)行讓模型去適配另一種形式的任務(wù),在下游任務(wù)上的學(xué)習(xí)成本更低、同時(shí)更能充分地利用模型已學(xué)到的知識(shí)。

其次,由于prompt的做法是將下游任務(wù)轉(zhuǎn)換成預(yù)訓(xùn)練任務(wù)的方式,這在很大程度上消除了兩者之間的“隔閡”,“歸根溯本”。

再者,prompt的做法可以看作是“考驗(yàn)”模型,有種知識(shí)檢索的feel:給出具體問(wèn)題和相關(guān)提示,看你能否答對(duì),答錯(cuò)了就繼續(xù)學(xué)習(xí)!

另外,由于大規(guī)模預(yù)訓(xùn)練模型本身已學(xué)到了非常豐富的知識(shí),可被看作是一個(gè)巨大的“百科全書(shū)”,因此輸入樣本的每個(gè)類(lèi)別分布在其中應(yīng)當(dāng)是比較稀疏的(畢竟在 PLM 的知識(shí)庫(kù)里,預(yù)訓(xùn)練時(shí)類(lèi)別和樣本眾多,通常不會(huì)有哪類(lèi)樣本在其中占據(jù)特別大的優(yōu)勢(shì)),從而有handle類(lèi)別不均衡以及few-shot、zero-shot 的潛力。

最后,從本質(zhì)上來(lái)看,prompt更加依賴先驗(yàn),這種玩法能夠生效在很大程度上依賴于預(yù)訓(xùn)練模型已經(jīng)學(xué)到了非常豐富的語(yǔ)料知識(shí)。

作者:CW

還在 Fine-tune 大規(guī)模預(yù)訓(xùn)練模型? 該了解下最新玩法 Prompt-tuning 啦!的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
临安市| 观塘区| 华池县| 丽水市| 广饶县| 金溪县| 调兵山市| 宜川县| 正安县| 红安县| 弋阳县| 全椒县| 高碑店市| 措美县| 鄱阳县| 稻城县| 庆元县| 紫云| 河池市| 东山县| 怀柔区| 高台县| 治县。| 嘉荫县| 呼图壁县| 潞西市| 陕西省| 绥江县| 二手房| 繁峙县| 独山县| 丰都县| 那曲县| 吉林市| 樟树市| 兴城市| 柳林县| 奎屯市| 海宁市| 青铜峡市| 邢台县|