前言
本文簡(jiǎn)要介紹了GPT-3的背景,模型架構(gòu),訓(xùn)練數(shù)據(jù)以及訓(xùn)練方式部分。具體訓(xùn)練細(xì)節(jié),實(shí)驗(yàn)結(jié)果很多,可以在用到的時(shí)候再看
Intro
本文剖析了pretrain-finetune架構(gòu)存在的問題:
- 對(duì)于每個(gè)新的任務(wù),都需要大量的標(biāo)注數(shù)據(jù)
- 將表達(dá)能力更強(qiáng)的模型(預(yù)訓(xùn)練階段要求用大模型)在比較窄的數(shù)據(jù)(微調(diào)階段是在narrow數(shù)據(jù)分布上進(jìn)行的)上訓(xùn)練是不合理的。大模型的效果并不能泛化到OOD數(shù)據(jù)上
- 人類在接觸一個(gè)下游任務(wù)時(shí)不需要大量的訓(xùn)練樣本,只需要對(duì)任務(wù)的描述或者幾個(gè)例子就可以。我們希望NLP模型也能有這種多任務(wù)之間無縫銜接的能力
解決上述問題可行的方案:
-
meta-learning:模型在預(yù)訓(xùn)練階段就學(xué)到了一系列方法,具備一系列能力。在預(yù)測(cè)階段,我們利用這種能力來快速適配到下游任務(wù)中。
- 已經(jīng)有人通過in-context learning這樣做過了,但是效果不好
-
LLM: Transformer語言模型參數(shù)的每一次增大都會(huì)讓文本理解能力和其他的NLP下游任務(wù)的性能得到提升,而且有證據(jù)顯示,log損失函數(shù),在模型規(guī)模增大后,保持平穩(wěn)趨勢(shì)。我們認(rèn)為:in-context learning的能力也會(huì)隨著模型參數(shù)的增大而增強(qiáng)
我們訓(xùn)練了一個(gè)175B的模型GPT-3,在3種設(shè)定下測(cè)試GPT-3的性能:
- few-shot learning(in-context learning): 允許一些樣例(一般10到100個(gè))出現(xiàn)在模型輸入中
- one-shot learning: 只允許一個(gè)樣例
- zero-shot learning: 不允許提供樣例,只提供一個(gè)自然語言形式的指令
下圖展示了在移除單詞中多余符號(hào)任務(wù)
上,模型的表現(xiàn)
- GPT-3在zero-shot和one-shot設(shè)置下能取得不錯(cuò)的結(jié)果,在few-shot設(shè)定下有時(shí)能比得上甚至超過微調(diào)的SOTA模型
- zero-shot和one-shot設(shè)置的GPT-3能在快速適應(yīng)和即時(shí)推理任務(wù)(單詞整理、代數(shù)運(yùn)算和利用只出現(xiàn)過一次的單詞)中擁有卓越表現(xiàn)。
- few-shot設(shè)定下,GPT-3能生成人類難以區(qū)分的新聞稿
- few-shot設(shè)定下,GPT-3在一些自然語言推理任務(wù)(ANLI dataset),閱讀理解(RACE, QuAC)上的性能有待提高
- 不同benchmark上的整體表現(xiàn)如下圖所示
我們還訓(xùn)練了一些小模型(從125 million到13 billion),用于與GPT-3對(duì)比。對(duì)于大多數(shù)任務(wù),在3種設(shè)定下,模型性能隨大小相對(duì)平滑地增加。但是隨著模型容量增大,few-shot相較于one,zero-shot的領(lǐng)先幅度變得更大,這說明大模型可能更適合作為meta-learners(larger models are more proficient meta-learners)。
Approach
本文的預(yù)訓(xùn)練方式GPT-2類似,只不過用了更大的模型,數(shù)據(jù)量,多樣性以及訓(xùn)練時(shí)長(zhǎng),in-context learning的方式也相似。不過本文系統(tǒng)分析了不同設(shè)置對(duì)利用上下文學(xué)習(xí)的影響,這些設(shè)置可以看作對(duì)任務(wù)相關(guān)數(shù)據(jù)的依賴程度。
- Fine-tuning:本文并沒有訓(xùn)練GPT-3的微調(diào)版本,因?yàn)橹饕P(guān)注的是task-agnostic性能
- Few-shot:在預(yù)測(cè)階段提供一些樣本,但并不進(jìn)行參數(shù)更新。樣本的數(shù)量是10到100(window size內(nèi)可容納的樣本數(shù)目)
- One-shot:僅提供一個(gè)樣本
- Zero-shot:不提供樣本,只給一個(gè)用于描述任務(wù)的自然語言指令
下圖是一個(gè)將英文翻譯成法語任務(wù)的不同設(shè)定下的輸入形式展示
本文的不同設(shè)定并不是為了相互比較,相互替代。而是在特定基準(zhǔn)上,提供性能與采樣效率之間權(quán)衡的不同問題設(shè)定。
Model and Architectures
模型結(jié)構(gòu),初始化方法,預(yù)歸一化方法,tokenize方法與GPT-2相同,但在transformer中使用與Sparse Transformer中類似的注意力模式,不同模型參數(shù)設(shè)定如下表所示
- 所有模型的上下文窗口大小都是2048個(gè)tokens
Training Dataset
Common Crawl dataset包含近萬億單詞,遍歷一遍數(shù)據(jù)集就足夠訓(xùn)練我們最大的模型。
- 然而,不進(jìn)行數(shù)據(jù)清洗的數(shù)據(jù)集質(zhì)量不高,采用以下三步清洗數(shù)據(jù)
- 下載數(shù)據(jù)集的一個(gè)版本,根據(jù)與一系列高質(zhì)量參考語料庫(kù)的相似性過濾了掉部分語料
- 在文檔級(jí)別、數(shù)據(jù)集內(nèi)部和數(shù)據(jù)集之間執(zhí)行了模糊重復(fù)數(shù)據(jù)消除,以防止冗余,并保持我們的作為過擬合的準(zhǔn)確度量的驗(yàn)證集的完整性。
- 將已知的高質(zhì)量參考語料庫(kù)添加到訓(xùn)練組合中,以增強(qiáng)Common Crawl并增加其多樣性
使用訓(xùn)練數(shù)據(jù)的比例入下表所示
- 訓(xùn)練時(shí)數(shù)據(jù)不是按比列采樣的,高質(zhì)量的數(shù)據(jù)集會(huì)被采樣更多次
- CommonCrawl和Books2采樣少于一次,其他數(shù)據(jù)集被采樣2-3次
Training Process
-
有研究表明,更大的模型通常用更大的batch size,但是需要更小的學(xué)習(xí)率。本文在訓(xùn)練中評(píng)估梯度噪音的大小來選擇batch size
-
利用矩陣乘法與網(wǎng)絡(luò)不同層的并行性來進(jìn)行分布式訓(xùn)練文章來源:http://www.zghlxwxcb.cn/news/detail-619907.html
-
在V100上訓(xùn)練文章來源地址http://www.zghlxwxcb.cn/news/detail-619907.html
到了這里,關(guān)于【論文閱讀】Language Models are Few-Shot Learners(GPT-3)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!