總結(jié):
- 論文:gpt2不需要fine-tuning階段,探索多任務(wù)學(xué)習(xí),即gpt2在zero-shot learning的效果。
- 模型結(jié)構(gòu):在gpt1的基礎(chǔ)上,將layernorm前移,再經(jīng)過(guò)了所有層之后,在最后另加了一個(gè)線性層。
Abstract
語(yǔ)言模型在沒(méi)有任何明確監(jiān)督的情況下開(kāi)始學(xué)習(xí)廣泛的nlp下游任務(wù)。
1 Introduction
現(xiàn)在的機(jī)器學(xué)習(xí)系統(tǒng)都是使用大型數(shù)據(jù)集、高容量模型和監(jiān)督學(xué)習(xí)來(lái)完成訓(xùn)練的任務(wù)。這種都是針對(duì)單任務(wù)進(jìn)行的,我們希望轉(zhuǎn)向更通用的系統(tǒng),這些系統(tǒng)可以執(zhí)行許多任務(wù)——最終無(wú)需為每個(gè)任務(wù)手動(dòng)創(chuàng)建和標(biāo)記訓(xùn)練數(shù)據(jù)集。
創(chuàng)建 ML 系統(tǒng)的主要方法是收集訓(xùn)練示例數(shù)據(jù)集,以展示所需任務(wù)的正確行為,訓(xùn)練系統(tǒng)模仿這些行為,然后在獨(dú)立且相同分布 (IID) 的保留示例上測(cè)試其性能。這種是缺乏泛化性,需要在廣泛的領(lǐng)域和任務(wù)上進(jìn)行訓(xùn)練和評(píng)估效果。
多任務(wù)學(xué)習(xí),就是在多個(gè)(數(shù)據(jù)集,目標(biāo)函數(shù))對(duì)上進(jìn)行多任務(wù)訓(xùn)練,在NLP領(lǐng)域發(fā)展比較緩慢。
當(dāng)前在語(yǔ)言任務(wù)上表現(xiàn)最好的系統(tǒng)是使用兩階段學(xué)習(xí)的方法:使用預(yù)訓(xùn)練和監(jiān)督微調(diào),代表的就是BERT、GPT模型。這個(gè)方法也是有一定的成本或缺陷:
- 針對(duì)不同的任務(wù),仍然需要進(jìn)行微調(diào)
- 需要收集任務(wù)對(duì)應(yīng)的有標(biāo)號(hào)的數(shù)據(jù)集
在本文中,作者證明了語(yǔ)言模型可以在zero-shot設(shè)置中執(zhí)行下游任務(wù)——無(wú)需任何參數(shù)或架構(gòu)修改;通過(guò)強(qiáng)調(diào)語(yǔ)言模型在zero-shot環(huán)境中執(zhí)行各種任務(wù)的能力來(lái)證明這種方法顯示出潛力。
2 Approach
2.1 Traning Dataset
GPT2認(rèn)為common crawl數(shù)據(jù)集是非常有前景的數(shù)據(jù)集;雖然這些檔案比當(dāng)前的語(yǔ)言建模數(shù)據(jù)集大許多數(shù)量級(jí),但它們存在重大的數(shù)據(jù)質(zhì)量問(wèn)題。
GPT2構(gòu)建了一個(gè)WebText數(shù)據(jù)集。
從Reddit抓取了所有的karma大于等3的出站鏈接,構(gòu)造了用于訓(xùn)練的45 millions個(gè)鏈接。為了從html抽取文本,使用了 Dragnet(Peters & Lecocq,2013)和 Newspaper1 內(nèi)容提取器的組合,在重復(fù)數(shù)據(jù)刪除和一些基于啟發(fā)式的清理后包含略多于800萬(wàn)個(gè)文檔,總共40 GB的文本。
Input representation
使用的是BBPE, 是BPE的變體,對(duì)序列進(jìn)行分詞,把BPE的步驟從字符集擴(kuò)展到了字節(jié)級(jí),具體內(nèi)容詳見(jiàn)NLP的tokenizer---分詞器.
| GPT2 | GPT1 | |
|---|---|---|
| vocabulary size | 50257 | 40387 |
| 分詞算法 | BBPE | BPE |
2.3 model


GPT2和GPT1架構(gòu)類似,使用的都是基于transformer decoder的架構(gòu),GPT2和GPT1不同的點(diǎn)在于:
- layernorm 被放到每個(gè)子塊的輸入,也就是提前了
- 在最終的(圖中是第十二個(gè)之后)自注意力塊之后添加了一個(gè)額外的layernorm
- 在初始化時(shí)將殘差層的權(quán)重縮放為 1/√ N,其中 N 是殘差層的數(shù)量。
- 詞匯量擴(kuò)大到 50,257 個(gè)。
我們還將上下文大小從 512 個(gè)標(biāo)記增加到 1024 個(gè)標(biāo)記,并使用更大的 512 個(gè)批處理大小
6 Discussion
無(wú)監(jiān)督任務(wù)學(xué)習(xí)是一個(gè)值得探索的另一個(gè)有前途的研究領(lǐng)域,其中一種預(yù)訓(xùn)練技術(shù)開(kāi)始學(xué)習(xí)直接執(zhí)行任務(wù),而無(wú)需監(jiān)督調(diào)整或修改。
在閱讀理解方面,GPT-2 的性能在zero-shot設(shè)置中與監(jiān)督基線具有競(jìng)爭(zhēng)力。
Conclusion
當(dāng)大型語(yǔ)言模型在足夠大且多樣化的數(shù)據(jù)集上進(jìn)行訓(xùn)練時(shí),它能夠在許多領(lǐng)域和數(shù)據(jù)集中表現(xiàn)良好。
GPT-2 在 8 個(gè)測(cè)試語(yǔ)言建模數(shù)據(jù)集中的 7 個(gè)上實(shí)現(xiàn)了最先進(jìn)的性能。該模型能夠在零樣本設(shè)置中執(zhí)行的任務(wù)的多樣性表明,經(jīng)過(guò)訓(xùn)練以最大限度地提高文本語(yǔ)料庫(kù)足夠多樣化的可能性的高容量模型開(kāi)始學(xué)習(xí)如何在不需要明確監(jiān)督的情況下執(zhí)行數(shù)量驚人的任務(wù)。