GPT-1,GPT-2,GPT-3三兄弟

前段時(shí)間大火的工具Github Copilot想必大家都略有耳聞,我們只需要輸入一些注釋說明你需要的函數(shù)功能,AI就會(huì)自動(dòng)幫你編寫完整的函數(shù)代碼,代碼邏輯、規(guī)范甚至比自己寫的都好,可謂是讓人瑟瑟發(fā)抖的結(jié)對(duì)編程好兄弟。

而這個(gè)工具背后的大boss就是參數(shù)量讓人瑟瑟發(fā)抖的GPT-3語言模型。本文不僅介紹大哥大GPT-3,還對(duì)他的同胞兄弟GPT-1, GPT-2也進(jìn)行介紹,講解他們之間的演化過程。強(qiáng)烈推薦李沐老師的b站講解視頻,本文內(nèi)容與之強(qiáng)相關(guān),算是李沐老師講解視頻的一個(gè)筆記。

github copilot

首先,簡要介紹下,孕育這三兄弟的機(jī)構(gòu)是OpenAI

GPT-1:Improving Language Understanding by Generative Pre-Training
GPT-2:Language Models are Unsupervised Multitask Learners
GPT-3:Language Models are Few-Shot Learners

GPT-1 (生于2018年)

在自然語言處理任務(wù)中,存在大量無標(biāo)簽的語料數(shù)據(jù),而有標(biāo)簽的語料數(shù)據(jù)相對(duì)較少,因此基于有監(jiān)督訓(xùn)練的模型性能的提升大大受限于數(shù)據(jù)集。為了解決這個(gè)問題,作者提出先在大量的無標(biāo)簽數(shù)據(jù)上訓(xùn)練一個(gè)語言模型,然后再在下游具體任務(wù)的有標(biāo)簽數(shù)據(jù)集上進(jìn)行fine-tune。

利用無標(biāo)簽數(shù)據(jù)的難點(diǎn)
  • 設(shè)計(jì)何種目標(biāo)函數(shù)來學(xué)習(xí)文本表示。已有的各種目標(biāo)函數(shù)和子任務(wù)的相關(guān)度比較高,沒有說哪一種目標(biāo)函數(shù)特別好。
  • 如何有效地把語言模型學(xué)到的文本表示遷移到下游子任務(wù)上。因?yàn)镹LP領(lǐng)域的各種任務(wù)差別比較大,沒有一個(gè)統(tǒng)一有效的方式使得一種文本表示能夠很好地遷移到各種子任務(wù)上。
算法關(guān)鍵
  • 無監(jiān)督訓(xùn)練的模型采用Transformer的decoder,目標(biāo)函數(shù)采用標(biāo)準(zhǔn)的語言模型的目標(biāo)函數(shù),即通過前文預(yù)測下一個(gè)詞。
    這個(gè)目標(biāo)函數(shù)其實(shí)是比BERT模型那種完形填空式的語言模型目標(biāo)函數(shù)要難,因?yàn)?strong>預(yù)測未來要比預(yù)測中間難。這可能也是導(dǎo)致GPT在訓(xùn)練和效果上比BERT差一些的一個(gè)原因。反過來說,如果你的模型真能預(yù)測未來,那么要比BERT這種通過完形填空訓(xùn)練的模型的強(qiáng)大很多,這也是作者一直將GPT模型不斷做大,誕生三兄弟的一個(gè)原因吧。
  • 有監(jiān)督fine-tune采用標(biāo)準(zhǔn)的分類目標(biāo)函數(shù)。此外,作者發(fā)現(xiàn)在有監(jiān)督訓(xùn)練時(shí)額外加上語言模型的目標(biāo)函數(shù)更好,能夠提高模型的泛化性和加速模型收斂。
輸入形式

對(duì)于不同的下游任務(wù),將數(shù)據(jù)轉(zhuǎn)換成統(tǒng)一的形式送入預(yù)訓(xùn)練好的語言模型,再接一層線性層進(jìn)行分類等。可以發(fā)現(xiàn),在fine-tune時(shí),僅需要對(duì)預(yù)訓(xùn)練的語言模型做很小的結(jié)構(gòu)改變,即加一層線性層,即可方便地應(yīng)用于下游各種任務(wù)。

圖1:在不同下游任務(wù)上輸入數(shù)據(jù)的形式

GPT-2 (生于2019年)

GPT-2模型依舊使用Transformer模型的decoder,但相比于GPT-1,數(shù)據(jù)和模型參數(shù)變得更大,大約是之前的10倍,主打zero-shot任務(wù)。

現(xiàn)有基于監(jiān)督學(xué)習(xí)訓(xùn)練的模型的泛化性不是很好,在一個(gè)任務(wù)上訓(xùn)練好的模型也很難遷移到下一個(gè)任務(wù)上。多任務(wù)學(xué)習(xí)(Multitask learning)是指在訓(xùn)練一個(gè)模型時(shí),同時(shí)看多個(gè)任務(wù)的數(shù)據(jù)集,而且可能通過多個(gè)損失函數(shù)來達(dá)到一個(gè)模式在多個(gè)任務(wù)上都能用的效果,但是在NLP領(lǐng)域用的不多。NLP領(lǐng)域主流的做法還是像GPT-1或BERT那樣先在大量無標(biāo)簽數(shù)據(jù)上預(yù)訓(xùn)練語言模型,然后在每個(gè)下游任務(wù)上進(jìn)行有監(jiān)督的fine-tune,但是這樣也有兩個(gè)問題:

  • 對(duì)于下游的每個(gè)任務(wù),還是要重新訓(xùn)練模型
  • 需要收集有標(biāo)簽的數(shù)據(jù)

這樣導(dǎo)致在拓展到新任務(wù)上時(shí)還是有一定的成本。因此,GPT-2提出利用語言模型做下游任務(wù)時(shí),不需要下游任務(wù)的任何標(biāo)注信息,即zero-shot設(shè)定,也不用訓(xùn)練模型。因此基本實(shí)現(xiàn)一勞永逸,訓(xùn)練一個(gè)模型,在多個(gè)任務(wù)上都能用。

此時(shí),我們需要考慮一個(gè)問題,如圖1所示,GPT-1在做下游任務(wù)時(shí)會(huì)對(duì)輸入進(jìn)行構(gòu)造,引入了一些模型在預(yù)訓(xùn)練時(shí)沒見過的符號(hào)(預(yù)訓(xùn)練時(shí)見到的是自然文本),比如Start、Delim、Extract,但因?yàn)橛衒ine-tune的環(huán)節(jié),所以模型會(huì)去認(rèn)識(shí)這些符號(hào)。
然而,現(xiàn)在要做zero-shot,也就是在做下游任務(wù)時(shí),模型不能被調(diào)整了,如果還引入一些模型之前沒見過的符號(hào)的話,模型就會(huì)很困惑。因此,在構(gòu)造下游任務(wù)的輸入時(shí),我們就不能引入模型未見過的符號(hào),而要使得輸入像模型預(yù)訓(xùn)練時(shí)見到的自然文本一樣,比如:

  • 機(jī)器翻譯任務(wù):translate to french, english text, french text。“translate to french”這三個(gè)詞可以被認(rèn)為是一個(gè)特殊的分隔符,后面叫Prompt
  • 閱讀理解任務(wù):answer the question, document, question, answer

下圖所示為GPT-2在不同任務(wù)上進(jìn)行預(yù)測時(shí)采用的Prompt:


圖來自李宏毅老師機(jī)器學(xué)習(xí)課件

GPT-3 (生于2020年)

GPT-3結(jié)構(gòu)和GPT-2一樣,但是數(shù)據(jù)約為GPT-2的1000倍,模型參數(shù)約為GPT-2的100倍,暴力出奇跡,使得效果很驚艷。

GPT-3不再追求極致的zero-shot學(xué)習(xí),即不給你任何樣例去學(xué)習(xí),而是利用少量樣本去學(xué)習(xí)。因?yàn)槿祟愐膊皇遣豢慈魏螛永龑W(xué)習(xí)的,而是通過少量樣例就能有效地舉一反三。
由于GPT-3龐大的體量,在下游任務(wù)進(jìn)行fine-tune的成本會(huì)很大。因此GPT-3作用到下游子任務(wù)時(shí),不進(jìn)行任何的梯度更新或fine-tune

evaluate GPT-3

這里=>可以看成是一個(gè)Prompt

GPT-3可以生成人類都很難分辨的新聞文章,瞎扯起來像模像樣,比如:

news articles generated by GPT-3
局限性
  • 雖然效果比GPT-2好很多,但是在文本生成上還是比較弱的。假如讓GPT-3生成一個(gè)很長的文本,可能給了幾段之后,就會(huì)重復(fù)起來
  • 結(jié)構(gòu)和算法的局限性。GPT-3是語言模型,不能像bert那樣雙向看。
  • 均勻地預(yù)測下一個(gè)詞。不能判斷哪個(gè)詞重要,哪個(gè)詞不重要,導(dǎo)致語言模型可能會(huì)花很長時(shí)間去學(xué)習(xí)一些常見的虛詞,不像人類學(xué)習(xí)的劃重點(diǎn)。
  • 樣本有效性不夠。基本上把整個(gè)網(wǎng)絡(luò)上的文章下載下來了。
  • 做few-shot時(shí),模型真的是根據(jù)你給的樣本從頭學(xué)習(xí)的嗎?這樣碰到訓(xùn)練樣本上沒有出現(xiàn)的任務(wù),也能夠泛化過去;還是根據(jù)這些樣本,從訓(xùn)練記憶里找出相關(guān)的,認(rèn)出了這個(gè)任務(wù),那拼的就是訓(xùn)練數(shù)據(jù)的大小了。
  • 不具有可解釋性

Improving Language Understanding by Generative Pre-Training
Language Models are Unsupervised Multitask Learners
Language Models are Few-Shot Learners
https://www.bilibili.com/video/BV1AF411b7xQ

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,882評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,208評(píng)論 3 414
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,746評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,666評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,477評(píng)論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,960評(píng)論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,047評(píng)論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,200評(píng)論 0 288
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,726評(píng)論 1 333
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,617評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,807評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,327評(píng)論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,049評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,425評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,674評(píng)論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,432評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,769評(píng)論 2 372

推薦閱讀更多精彩內(nèi)容