本文參考的博客鏈接:
https://franxyao.github.io/blog.html
作者:符堯彪蓬,yao.fu@ed.ac.uk评抚,愛丁堡大學(xué) (University of Edinburgh) 博士生盯腌,本科畢業(yè)于北京大學(xué)
https://mp.weixin.qq.com/s/60_h5biTOlBAa3Rt2tMn6A
https://mp.weixin.qq.com/s/VYv8BRgGnp9ZTuXxaSuFwg
chatGPT的出現(xiàn)給大家?guī)砹撕芏囿@喜涨共,展示了很多語言能力:
- 文本生成的能力prompt learning
- in-context learning(上下文學(xué)習(xí)) 根據(jù)給定任務(wù)的幾個(gè)樣例饵婆,然后為新的測(cè)試用例生成解決方案伍宦。這個(gè)是GPT3的重點(diǎn)给猾。而不是去關(guān)注語言模型 的能力
- 常識(shí)和世界知識(shí)
- chain-of-thought(思維鏈)的能力
這些能力一方面來源大模型的參數(shù)規(guī)模丙号,另一方面來源于GPT3系列模型采用了除了自監(jiān)督語言預(yù)訓(xùn)練任務(wù)外的一些開發(fā)模型思維推理能力的預(yù)訓(xùn)練任務(wù)先朦。個(gè)人感覺chatGPT之所以有這么驚人的表現(xiàn),是把預(yù)訓(xùn)練任務(wù)從關(guān)注語言轉(zhuǎn)移到了思維能力上犬缨,不單單只是傳統(tǒng)語言模型的字符補(bǔ)全喳魏,上下文。
一怀薛、初代GPT-3
初代GPT-3的參數(shù)規(guī)模達(dá)到了1750億刺彩,它在在有3000億單詞的語料上進(jìn)行了預(yù)訓(xùn)練。
初代的GPT-3展示了三種能力:
(1)語言生成:遵循提示詞(prompt)枝恋,然后生成補(bǔ)全提示詞的句子创倔,這個(gè)語言生成的能力來源于語言預(yù)訓(xùn)練任務(wù)中對(duì)語言的建模。
(2)世界知識(shí):包括事實(shí)性知識(shí) (factual knowledge) 和常識(shí) (commonsense)焚碌。GPT3系列模型的參數(shù)規(guī)模是 1750 億畦攘,給了模型存儲(chǔ)龐大預(yù)訓(xùn)練語料中各種知識(shí)的能力。
(3)上下文學(xué)習(xí) (in-context learning): 遵循給定任務(wù)的幾個(gè)示例十电,然后為新的測(cè)試用例生成解決方案知押。GPT-3雖然是個(gè)語言模型,但它的論文幾乎沒有談到“語言建木槁睿”台盯,而作者將他們?nèi)康膶懽骶Χ纪度氲搅藢?duì)上下文學(xué)習(xí)的愿景上,這才是 GPT-3的真正重點(diǎn)畏线。
雖然GPT-3已經(jīng)足夠龐大爷恳,但是從其論文實(shí)驗(yàn)結(jié)果中看出,在一些任務(wù)上的表現(xiàn)還不如T5(參數(shù)量110 億)象踊,可以說遠(yuǎn)遠(yuǎn)不及chatGPT展示出的能力温亲。OpenAI則在GPT-3的基礎(chǔ)之上,設(shè)計(jì)了新的訓(xùn)練任務(wù)杯矩,使得GPT-3一步步演化到chatGPT栈虚。
1.1數(shù)據(jù)
1.1.1 Common Crawl數(shù)據(jù)集
Common Crawl數(shù)據(jù)集提供了包含上百億網(wǎng)頁數(shù)據(jù)的免費(fèi)數(shù)據(jù)庫(kù),包含原始網(wǎng)頁數(shù)據(jù)、元數(shù)據(jù)提取和文本提取史隆。常見的爬行數(shù)據(jù)存儲(chǔ)在Amazon Web服務(wù)的公共數(shù)據(jù)集和遍布全球的多個(gè)學(xué)術(shù)云平臺(tái)上,擁有PB級(jí)規(guī)模魂务,常用于學(xué)習(xí)詞嵌入。但原始的Common Crawl數(shù)據(jù)集存在著很多噪音,會(huì)印象模型的訓(xùn)練質(zhì)量粘姜, 所以O(shè)penAI對(duì)數(shù)據(jù)集進(jìn)行過濾清洗之后才用于GPT-3的訓(xùn)練鬓照。使用common crawl 2016年到2019年的數(shù)據(jù),這些數(shù)據(jù)清洗前有45TB的壓縮明文孤紧,經(jīng)過過濾后數(shù)據(jù)集大小為570GB豺裆,包含4000億個(gè)字節(jié)對(duì)級(jí)別的token。(另外谷歌對(duì)于Common Crawl數(shù)據(jù)集進(jìn)行清洗后得到的數(shù)據(jù)集稱為“Colossal Clean Crawled Corpus”(C4)數(shù)據(jù)集号显,用于T5模型的訓(xùn)練)臭猜。Common Crawl
1.1.2 WebText2數(shù)據(jù)集
WebText2數(shù)據(jù)集是一個(gè)多樣化的文本集合,它從互聯(lián)網(wǎng)收集了的大約 800 萬個(gè)網(wǎng)頁押蚤,包括各種各樣的來源蔑歌,如新聞文章、網(wǎng)站和在線論壇揽碘。是 OpenAI 專門為訓(xùn)練語言模型而創(chuàng)建次屠。論元鏈接: Language Models are Unsupervised Multitask Learners
1.1.3 Books數(shù)據(jù)集
關(guān)于Books部分?jǐn)?shù)據(jù)來源沒有進(jìn)行描述,不過可以看到雳刺,總體來說GPT-3的訓(xùn)練數(shù)據(jù)來源十分多樣帅矗,接觸了廣泛的語言風(fēng)格和寫作風(fēng)格,能夠更好的理解和模仿人類語言煞烫。
1.2 模型規(guī)模
GPT系列模型的大參數(shù)量,給了模型具有思考能力的可能性累颂。在chain-of-thought開山論文中有張圖滞详,對(duì)于GSM8K數(shù)學(xué)應(yīng)用題任務(wù),chain-of-thought的任務(wù)模式紊馏,只有在當(dāng)模型參數(shù)量到達(dá)了一定規(guī)模之后料饥,才會(huì)對(duì)最終的任務(wù)性能有所提升。說明這種chain-of-thought的能力朱监,只能在大模型中才能夠獲得岸啡,而不會(huì)在小模型中存在。從圖中看出赫编,只有當(dāng)模型參數(shù)量大到一定程度之后巡蘸,才具備chain-of-thought的能力,稱為Emergent Ability擂送,涌現(xiàn)能力
二、演化歷程
GPT-3初代發(fā)布于2020.07嘹吨。在GPT-3后續(xù)的訓(xùn)練中搬味,主要使用了三種類型的訓(xùn)練,分別是:代碼訓(xùn)練、指令微調(diào) (instruction tuning)和基于人類反饋的強(qiáng)化學(xué)習(xí) (reinforcement learning with human feedback, RLHF)碰纬。初代GPT-3分別經(jīng)過代碼訓(xùn)練和指令微調(diào)得到了初代Codex(2021年7月)和初代instructionGPT模型(2022年3月)萍聊。code-davinci-002則是經(jīng)過語言訓(xùn)練、代碼訓(xùn)練和指令微調(diào)得到的模型悦析,從此GPT模型進(jìn)入了GPT-3.5系列寿桨;code-davinci-002再經(jīng)過有監(jiān)督指令微調(diào)訓(xùn)練得到了text-davinci-002模型,二者的區(qū)別在于她按,text-davinci-002模型降低了模型的上下文學(xué)習(xí)能力牛隅,但增強(qiáng)的模型的零樣本學(xué)習(xí)能力。最后是在2022年11月發(fā)布的text-davinci-003和 ChatGPT酌泰,是使用的RLHF訓(xùn)練得到的兩種變體媒佣,他們犧牲了上下文學(xué)習(xí)能力換來了更好的零樣本學(xué)習(xí)能力和建模對(duì)話歷史的能力。
初代GPT3,在一些任務(wù)上很強(qiáng)陵刹,但是在另外一些任務(wù)上甚至不如T5默伍,但是具有很大的潛力(模型參數(shù)量大)。后續(xù)通過代碼訓(xùn)練衰琐、指令微調(diào) (instruction tuning) 和基于人類反饋的強(qiáng)化學(xué)習(xí) (reinforcement learning with human feedback, RLHF) 解鎖也糊,具備上述強(qiáng)大的4種語言能力。
(1) 初代GPT-3模型通過預(yù)訓(xùn)練獲得生成能力羡宙、世界知識(shí)和in-context learning上下文學(xué)習(xí)狸剃。
(2) 然后通過instruction tuning的模型分支獲得了遵循指令和能泛化到?jīng)]有見過的任務(wù)的能力。
(3) 經(jīng)過代碼訓(xùn)練的分支模型則獲得了代碼理解的能力狗热,作為代碼訓(xùn)練的副產(chǎn)品钞馁,模型同時(shí)潛在地獲得了復(fù)雜推理的能力。結(jié)合這兩個(gè)分支匿刮,code-davinci-002似乎是具有所有強(qiáng)大能力的最強(qiáng)GPT-3.5模型僧凰。
(4) 接下來通過有監(jiān)督的instruction tuning和 RLHF通過犧牲模型能力換取與人類對(duì)齊,即對(duì)齊稅熟丸。 RLHF 使模型能夠生成更翔實(shí)和公正的答案训措,同時(shí)拒絕其知識(shí)范圍之外的問題。
三光羞、代碼訓(xùn)練绩鸣、指令微調(diào) (instruction tuning)
經(jīng)過代碼訓(xùn)練和指令微調(diào)后的幾個(gè)模型,相比初代GPT-3,表現(xiàn)除了4種和初代模型不同的重要能力:
(1)準(zhǔn)確響應(yīng)人類指令:現(xiàn)在的模型會(huì)針對(duì)指令 / 提示詞生成更合理的答案纱兑,而不是相關(guān)但無用的句子全闷。這個(gè)能力是指令微調(diào)的直接產(chǎn)物。
(2)泛化到?jīng)]有見過的任務(wù):當(dāng)用于模型微調(diào)的指令數(shù)量超過一定的規(guī)模時(shí)萍启,模型就可以自動(dòng)在從沒見過的新指令上也能生成有效的回答总珠。這點(diǎn)也能在其他大模型T0屏鳍、Flan 和 FlanPaLM的論文中得到驗(yàn)證。
(3)代碼生成和代碼理解:這個(gè)能力很顯然局服,因?yàn)槟P陀么a訓(xùn)練過钓瞭。
(4)利用思維鏈 (chain-of-thought) 進(jìn)行復(fù)雜推理:思維鏈?zhǔn)窃谏纱鸢钢埃蓡栴}的解決思路和步驟淫奔,最后再生成答案山涡,提升解決復(fù)雜推理問題的能力。這個(gè)能力很有可能是經(jīng)過代碼訓(xùn)練得到的唆迁,初代 GPT-3和 經(jīng)過指令微調(diào)的text-davinci-001模型思維鏈推理的能力很弱甚至沒有鸭丛。而經(jīng)過代碼訓(xùn)練的Codex和PaLM(有5%的代碼訓(xùn)練數(shù)據(jù))具有思維鏈能力。從直覺上來說唐责,面向過程的編程跟人類逐步解決任務(wù)的過程很類似鳞溉,面向?qū)ο缶幊谈祟悓?fù)雜任務(wù)分解為多個(gè)簡(jiǎn)單任務(wù)的過程很類似,這一定程度上提升了模型的推理能力鼠哥。
3.1 代碼訓(xùn)練
codex或者稱text-davinci-002熟菲,是通過GPT3在代碼上訓(xùn)練得到的模型,同時(shí)CodeX也是Github Copilot代碼補(bǔ)全工具背后的語言模型朴恳。
論文鏈接:
Evaluating Large Language Models Trained on Code
博客鏈接:
OpenAI CodeX
3.1.1 數(shù)據(jù)來源
數(shù)據(jù)來源是截至2020年5月以來在GitHub上公開托管的5400萬個(gè)項(xiàng)目文件抄罕,其中包含179GB大小的1MB以下的Python文件。在最終使用過程中過濾掉了自動(dòng)生成于颖、平均代碼行長(zhǎng)度超過100或者最大行長(zhǎng)度超過100的代碼文件呆贿。最終用于訓(xùn)練的數(shù)據(jù)量有159GB。
評(píng)估數(shù)據(jù)集human-eval 164個(gè)用于測(cè)試手寫編程問題森渐,每個(gè)問題包括一個(gè)函數(shù)簽名做入、文檔字符串、正文和幾個(gè)單元測(cè)試章母,平均每個(gè)問題有7.7個(gè)測(cè)試單元。
3.1.2 輸入輸出
在訓(xùn)練時(shí)翩剪,通過注釋作為輸入乳怎,代碼作為輸出進(jìn)行。
3.1.3 評(píng)價(jià)指標(biāo)
評(píng)價(jià)生成的代碼是否正確前弯,不能像其他文本生成任務(wù)一樣通過BLEU得分蚪缀,來判斷和標(biāo)準(zhǔn)答案之間的文字差距,而是通過一個(gè)測(cè)試單元恕出,判斷生成代碼的輸出是否正確询枚。
四、基于人類反饋的強(qiáng)化學(xué)習(xí) (reinforcement learning with human feedback, RLHF)
加入基于人類反饋的強(qiáng)化學(xué)習(xí)浙巫,讓模型的對(duì)話能力得到進(jìn)一步提升金蜀,RLHF 觸發(fā)的能力有:
(1)翔實(shí)的回應(yīng):text-davinci-003 的生成通常比 text-davinci-002長(zhǎng)刷后。ChatGPT 的回應(yīng)則更加冗長(zhǎng),以至于用戶必須明確要求“用一句話回答我”渊抄,才能得到更加簡(jiǎn)潔的回答尝胆。這是 RLHF 的直接產(chǎn)物。
(2)公正的回應(yīng):ChatGPT 通常對(duì)涉及多個(gè)實(shí)體利益的事件(例如政治事件)給出非常平衡的回答护桦。這也是RLHF的產(chǎn)物含衔。
(3)拒絕不當(dāng)問題:這是內(nèi)容過濾器和由 RLHF 觸發(fā)的模型自身能力的結(jié)合,過濾器過濾掉一部分二庵,然后模型再拒絕一部分贪染。
(4)拒絕其知識(shí)范圍之外的問題:例如,拒絕在2021 年 6 月之后發(fā)生的新事件(因?yàn)樗鼪]在這之后的數(shù)據(jù)上訓(xùn)練過)催享。這是 RLHF 最神奇的部分杭隙,因?yàn)樗鼓P湍軌螂[式地區(qū)分哪些問題在其知識(shí)范圍內(nèi),哪些問題不在其知識(shí)范圍內(nèi)睡陪。