《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 人工智能 > 業(yè)界動(dòng)態(tài) > 【ChatGPT專(zhuān)題】萬(wàn)字拆解!追溯ChatGPT各項(xiàng)能力的起源

【ChatGPT專(zhuān)題】萬(wàn)字拆解!追溯ChatGPT各項(xiàng)能力的起源

2023-02-15
來(lái)源:李rumor
關(guān)鍵詞: ChatGPT OpenAI GPT-3

  最近,OpenAI的預(yù)訓(xùn)練模型ChatGPT給人工智能領(lǐng)域的研究人員留下了深刻的印象和啟發(fā),。毫無(wú)疑問(wèn),它又強(qiáng)又聰明,且跟它說(shuō)話(huà)很好玩,,還會(huì)寫(xiě)代碼。它在多個(gè)方面的能力遠(yuǎn)遠(yuǎn)超過(guò)了自然語(yǔ)言處理研究者們的預(yù)期,。于是我們自然就有一個(gè)問(wèn)題:ChatGPT 是怎么變得這么強(qiáng)的,?它的各種強(qiáng)大的能力到底從何而來(lái)?在這篇文章中,,我們?cè)噲D剖析 ChatGPT 的突現(xiàn)能力(Emergent Ability),,追溯這些能力的來(lái)源,希望能夠給出一個(gè)全面的技術(shù)路線(xiàn)圖,,來(lái)說(shuō)明 GPT-3.5 模型系列以及相關(guān)的大型語(yǔ)言模型是如何一步步進(jìn)化成目前的強(qiáng)大形態(tài),。

  我們希望這篇文章能夠促進(jìn)大型語(yǔ)言模型的透明度,成為開(kāi)源社區(qū)共同努力復(fù)現(xiàn) GPT-3.5 的路線(xiàn)圖,。

  致國(guó)內(nèi)的同胞們:

  在國(guó)際學(xué)術(shù)界看來(lái),,ChatGPT / GPT-3.5 是一種劃時(shí)代的產(chǎn)物,它與之前常見(jiàn)的語(yǔ)言模型 (Bert/ Bart/ T5) 的區(qū)別,,幾乎是導(dǎo)彈與弓箭的區(qū)別,,一定要引起最高程度的重視。

  在我跟國(guó)際同行的交流中,,國(guó)際上的主流學(xué)術(shù)機(jī)構(gòu) (如斯坦福大學(xué),,伯克利加州大學(xué)) 和主流業(yè)界研究院(如谷歌大腦,微軟研究院)都已經(jīng)全面擁抱大模型,。

  在當(dāng)前這個(gè)階段,,國(guó)內(nèi)的技術(shù)水準(zhǔn),學(xué)術(shù)視野,,治學(xué)理念和國(guó)際前沿的差距似乎并沒(méi)有減少,,反而正在擴(kuò)大,如果現(xiàn)狀持續(xù)下去,,極有可能出現(xiàn)技術(shù)斷代,。

  此誠(chéng)危急存亡之秋。

  多年以后,,面對(duì)行刑隊(duì),,奧雷里亞諾·布恩迪亞上校將會(huì)回想起父親帶他去見(jiàn)識(shí)冰塊的那個(gè)遙遠(yuǎn)的下午?!?《百年孤獨(dú)》 加西亞·馬爾克斯

  一,、2020 版初代 GPT-3 與大規(guī)模預(yù)訓(xùn)練

  初代GPT-3展示了三個(gè)重要能力:

  語(yǔ)言生成:遵循提示詞(prompt),,然后生成補(bǔ)全提示詞的句子。這也是今天人類(lèi)與語(yǔ)言模型最普遍的交互方式,。

  上下文學(xué)習(xí) (in-context learning):  遵循給定任務(wù)的幾個(gè)示例,,然后為新的測(cè)試用例生成解決方案。很重要的一點(diǎn)是,,GPT-3雖然是個(gè)語(yǔ)言模型,,但它的論文幾乎沒(méi)有談到“語(yǔ)言建模” (language modeling) —— 作者將他們?nèi)康膶?xiě)作精力都投入到了對(duì)上下文學(xué)習(xí)的愿景上,,這才是 GPT-3的真正重點(diǎn),。

  世界知識(shí):包括事實(shí)性知識(shí) (factual knowledge) 和常識(shí) (commonsense)。

  那么這些能力從何而來(lái)呢,?

  基本上,,以上三種能力都來(lái)自于大規(guī)模預(yù)訓(xùn)練:在有3000億單詞的語(yǔ)料上預(yù)訓(xùn)練擁有1750億參數(shù)的模型( 訓(xùn)練語(yǔ)料的60%來(lái)自于 2016 - 2019 的 C4 + 22% 來(lái)自于 WebText2 + 16% 來(lái)自于Books + 3%來(lái)自于Wikipedia)。其中:

  語(yǔ)言生成的能力來(lái)自于語(yǔ)言建模的訓(xùn)練目標(biāo) (language modeling),。

  世界知識(shí)來(lái)自 3000 億單詞的訓(xùn)練語(yǔ)料庫(kù)(不然還能是哪兒呢),。

  模型的 1750 億參數(shù)是為了存儲(chǔ)知識(shí),Liang et al. (2022) 的文章進(jìn)一步證明了這一點(diǎn),。他們的結(jié)論是,,知識(shí)密集型任務(wù)的性能與模型大小息息相關(guān)。

  上下文學(xué)習(xí)的能力來(lái)源及為什么上下文學(xué)習(xí)可以泛化,,仍然難以溯源,。 直覺(jué)上,這種能力可能來(lái)自于同一個(gè)任務(wù)的數(shù)據(jù)點(diǎn)在訓(xùn)練時(shí)按順序排列在同一個(gè) batch 中,。然而,,很少有人研究為什么語(yǔ)言模型預(yù)訓(xùn)練會(huì)促使上下文學(xué)習(xí),以及為什么上下文學(xué)習(xí)的行為與微調(diào) (fine-tuning) 如此不同,。

  令人好奇的是,,初代的GPT-3有多強(qiáng)。其實(shí)比較難確定初代 GPT-3(在 OpenAI API 中被稱(chēng)為davinci)到底是“強(qiáng)”還是“弱”,。一方面,,它合理地回應(yīng)了某些特定的查詢(xún),并在許多數(shù)據(jù)集中達(dá)到了還不錯(cuò)的性能,;另一方面,,它在許多任務(wù)上的表現(xiàn)還不如 T5 這樣的小模型(參見(jiàn)其原始論文)。在今天(2022 年 12 月)ChatGPT 的標(biāo)準(zhǔn)下,,很難說(shuō)初代的 GPT-3 是“智能的”,。Meta 開(kāi)源的 OPT 模型試圖復(fù)現(xiàn)初代 GPT-3,但它的能力與當(dāng)今的標(biāo)準(zhǔn)也形成了尖銳的對(duì)比,。許多測(cè)試過(guò) OPT 的人也認(rèn)為與現(xiàn)在的text-davinci-002相比,,該模型確實(shí) “不咋地”,。盡管如此,OPT 可能是初代 GPT-3 的一個(gè)足夠好的開(kāi)源的近似模型了(根據(jù) OPT 論文和斯坦福大學(xué)的 HELM 評(píng)估),。

  雖然初代的 GPT-3 可能表面上看起來(lái)很弱,但后來(lái)的實(shí)驗(yàn)證明,,初代 GPT-3 有著非常強(qiáng)的潛力,。這些潛力后來(lái)被代碼訓(xùn)練、指令微調(diào) (instruction tuning) 和基于人類(lèi)反饋的強(qiáng)化學(xué)習(xí) (reinforcement learning with human feedback, RLHF) 解鎖,,最終體展示出極為強(qiáng)大的突現(xiàn)能力,。

  二、從 2020 版 GPT-3 到 2022 版 ChatGPT

  從最初的 GPT-3 開(kāi)始,,為了展示 OpenAI 是如何發(fā)展到ChatGPT的,,我們看一下 GPT-3.5 的進(jìn)化樹(shù):

  微信截圖_20230215150148.png

  在 2020 年 7 月,OpenAI 發(fā)布了模型索引為的 davinci 的初代 GPT-3 論文,,從此它就開(kāi)始不斷進(jìn)化,。在 2021 年 7 月,Codex 的論文發(fā)布,,其中初始的 Codex 是根據(jù)(可能是內(nèi)部的)120 億參數(shù)的 GPT-3 變體進(jìn)行微調(diào)的,。后來(lái)這個(gè) 120 億參數(shù)的模型演變成 OpenAI API 中的code-cushman-001。在 2022 年 3 月,,OpenAI 發(fā)布了指令微調(diào) (instruction tuning) 的論文,,其監(jiān)督微調(diào) (supervised instruction tuning) 的部分對(duì)應(yīng)了davinci-instruct-beta和text-davinci-001。在 2022 年 4 月至 7 月的,,OpenAI 開(kāi)始對(duì)code-davinci-002模型進(jìn)行 Beta 測(cè)試,,也稱(chēng)其為 Codex。然后code-davinci-002,、text-davinci-003和ChatGPT 都是從code-davinci-002進(jìn)行指令微調(diào)得到的,。詳細(xì)信息請(qǐng)參閱 OpenAI的模型索引文檔。

  盡管 Codex 聽(tīng)著像是一個(gè)只管代碼的模型,,但code-davinci-002可能是最強(qiáng)大的針對(duì)自然語(yǔ)言的GPT-3.5 變體(優(yōu)于 text-davinci-002和 -003),。code-davinci-002很可能在文本和代碼上都經(jīng)過(guò)訓(xùn)練,然后根據(jù)指令進(jìn)行調(diào)整(將在下面解釋?zhuān)?。然?022 年 5-6 月發(fā)布的text-davinci-002是一個(gè)基于code-davinci-002的有監(jiān)督指令微調(diào) (supervised instruction tuned) 模型,。在text-davinci-002上面進(jìn)行指令微調(diào)很可能降低了模型的上下文學(xué)習(xí)能力,但是增強(qiáng)了模型的零樣本能力(將在下面解釋?zhuān)?。然后是text-davinci-003和 ChatGPT,,它們都在 2022 年 11 月發(fā)布,是使用的基于人類(lèi)反饋的強(qiáng)化學(xué)習(xí)的版本指令微調(diào) (instruction tuning with reinforcement learning from human feedback) 模型的兩種不同變體,。text-davinci-003 恢復(fù)了(但仍然比code-davinci-002差)一些在text-davinci-002 中丟失的部分上下文學(xué)習(xí)能力(大概是因?yàn)樗谖⒄{(diào)的時(shí)候混入了語(yǔ)言建模) 并進(jìn)一步改進(jìn)了零樣本能力(得益于RLHF),。另一方面,,ChatGPT 似乎犧牲了幾乎所有的上下文學(xué)習(xí)的能力來(lái)?yè)Q取建模對(duì)話(huà)歷史的能力。

  總的來(lái)說(shuō),,在 2020 - 2021 年期間,,在code-davinci-002之前,OpenAI 已經(jīng)投入了大量的精力通過(guò)代碼訓(xùn)練和指令微調(diào)來(lái)增強(qiáng)GPT-3,。當(dāng)他們完成code-davinci-002時(shí),,所有的能力都已經(jīng)存在了。很可能后續(xù)的指令微調(diào),,無(wú)論是通過(guò)有監(jiān)督的版本還是強(qiáng)化學(xué)習(xí)的版本,,都會(huì)做以下事情(稍后會(huì)詳細(xì)說(shuō)明):

  指令微調(diào)不會(huì)為模型注入新的能力 —— 所有的能力都已經(jīng)存在了。指令微調(diào)的作用是解鎖 / 激發(fā)這些能力,。這主要是因?yàn)橹噶钗⒄{(diào)的數(shù)據(jù)量比預(yù)訓(xùn)練數(shù)據(jù)量少幾個(gè)數(shù)量級(jí)(基礎(chǔ)的能力是通過(guò)預(yù)訓(xùn)練注入的),。

  指令微調(diào)將 GPT-3.5 的分化到不同的技能樹(shù)。有些更擅長(zhǎng)上下文學(xué)習(xí)**,,如text-davinci-003,,有些更擅長(zhǎng)對(duì)話(huà),如ChatGPT,。

  指令微調(diào)通過(guò)犧牲性能換取與人類(lèi)的對(duì)齊(alignment),。OpenAI 的作者在他們的指令微調(diào)論文中稱(chēng)其為 “對(duì)齊稅” (alignment tax)。許多論文都報(bào)道了code-davinci-002在基準(zhǔn)測(cè)試中實(shí)現(xiàn)了最佳性能(但模型不一定符合人類(lèi)期望),。在code-davinci-002上進(jìn)行指令微調(diào)后,,模型可以生成更加符合人類(lèi)期待的反饋(或者說(shuō)模型與人類(lèi)對(duì)齊),例如:零樣本問(wèn)答,、生成安全和公正的對(duì)話(huà)回復(fù),、拒絕超出模型它知識(shí)范圍的問(wèn)題。

  三,、Code-Davinci-002和 Text-Davinci-002,,在代碼上訓(xùn)練,在指令上微調(diào)

  在code-davinci-002和text-davinci-002之前,,有兩個(gè)中間模型,,分別是 davinci-instruct-beta 和 text-davinci-001。兩者在很多方面都比上述的兩個(gè)-002模型差(例如,,text-davinci-001 鏈?zhǔn)剿季S推理能力不強(qiáng)),。所以我們?cè)诒竟?jié)中重點(diǎn)介紹 -002 型號(hào)。

  3.1 復(fù)雜推理能力的來(lái)源和泛化到新任務(wù)的能力

  我們關(guān)注code-davinci-002和text-davinci-002,,這兩兄弟是第一版的 GPT3.5 模型,,一個(gè)用于代碼,另一個(gè)用于文本,。它們表現(xiàn)出了三種重要能力與初代 GPT-3 不同的能力:

  響應(yīng)人類(lèi)指令:以前,,GPT-3 的輸出主要訓(xùn)練集中常見(jiàn)的句子?,F(xiàn)在的模型會(huì)針對(duì)指令 / 提示詞生成更合理的答案(而不是相關(guān)但無(wú)用的句子)。

  泛化到?jīng)]有見(jiàn)過(guò)的任務(wù):當(dāng)用于調(diào)整模型的指令數(shù)量超過(guò)一定的規(guī)模時(shí),,模型就可以自動(dòng)在從沒(méi)見(jiàn)過(guò)的新指令上也能生成有效的回答,。這種能力對(duì)于上線(xiàn)部署至關(guān)重要,因?yàn)橛脩?hù)總會(huì)提新的問(wèn)題,,模型得答得出來(lái)才行,。

  代碼生成和代碼理解:這個(gè)能力很顯然,因?yàn)槟P陀么a訓(xùn)練過(guò),。

  利用思維鏈 (chain-of-thought) 進(jìn)行復(fù)雜推理:初代 GPT3 的模型思維鏈推理的能力很弱甚至沒(méi)有。code-davinci-002 和 text-davinci-002 是兩個(gè)擁有足夠強(qiáng)的思維鏈推理能力的模型,。

  思維鏈推理之所以重要,,是因?yàn)樗季S鏈可能是解鎖突現(xiàn)能力和超越縮放法則 (scaling laws) 的關(guān)鍵。請(qǐng)參閱上一篇博文,。

  這些能力從何而來(lái),?

  與之前的模型相比,兩個(gè)主要區(qū)別是指令微調(diào)和代碼訓(xùn)練,。具體來(lái)說(shuō)

  能夠響應(yīng)人類(lèi)指令的能力是指令微調(diào)的直接產(chǎn)物,。

  對(duì)沒(méi)有見(jiàn)過(guò)的指令做出反饋的泛化能力是在指令數(shù)量超過(guò)一定程度之后自動(dòng)出現(xiàn)的,T0,、Flan 和 FlanPaLM 論文進(jìn)一步證明了這一點(diǎn)

  使用思維鏈進(jìn)行復(fù)雜推理的能力很可能是代碼訓(xùn)練的一個(gè)神奇的副產(chǎn)物,。對(duì)此,我們有以下的事實(shí)作為一些支持:

  最初的 GPT-3 沒(méi)有接受過(guò)代碼訓(xùn)練,,它不能做思維鏈,。

  text-davinci-001 模型,雖然經(jīng)過(guò)了指令微調(diào),,但第一版思維鏈論文報(bào)告說(shuō),,它的它思維鏈推理的能力非常弱 —— 所以指令微調(diào)可能不是思維鏈存在的原因,代碼訓(xùn)練才是模型能做思維鏈推理的最可能原因,。

  PaLM 有 5% 的代碼訓(xùn)練數(shù)據(jù),,可以做思維鏈。

  Codex論文中的代碼數(shù)據(jù)量為 159G ,,大約是初代 GPT-3 5700 億訓(xùn)練數(shù)據(jù)的28%,。code-davinci-002 及其后續(xù)變體可以做思維鏈推理。

  在 HELM 測(cè)試中,,Liang et al. (2022) 對(duì)不同模型進(jìn)行了大規(guī)模評(píng)估,。他們發(fā)現(xiàn)了針對(duì)代碼訓(xùn)練的模型具有很強(qiáng)的語(yǔ)言推理能力,包括 120億參數(shù)的code-cushman-001.,。

  我們?cè)?AI2 的工作也表明,,當(dāng)配備復(fù)雜的思維鏈時(shí),,code-davinci-002 在 GSM8K 等重要數(shù)學(xué)基準(zhǔn)上是目前表現(xiàn)最好的模型

  直覺(jué)來(lái)說(shuō),面向過(guò)程的編程 (procedure-oriented programming) 跟人類(lèi)逐步解決任務(wù)的過(guò)程很類(lèi)似,,面向?qū)ο缶幊?(object-oriented programming) 跟人類(lèi)將復(fù)雜任務(wù)分解為多個(gè)簡(jiǎn)單任務(wù)的過(guò)程很類(lèi)似,。

  以上所有觀(guān)察結(jié)果都是代碼與推理能力 / 思維鏈之間的相關(guān)性。代碼和推理能力 / 思維鏈之間的這種相關(guān)性對(duì)研究社區(qū)來(lái)說(shuō)是一個(gè)非常有趣的問(wèn)題,,但目前仍未得到很好的理解,。然而,仍然沒(méi)有確鑿的證據(jù)表明代碼訓(xùn)練就是CoT和復(fù)雜推理的原因,。 思維鏈的來(lái)源仍然是一個(gè)開(kāi)放性的研究問(wèn)題,。

  此外, 代碼訓(xùn)練另一個(gè)可能的副產(chǎn)品是長(zhǎng)距離依賴(lài),,正如Peter Liu所指出:“語(yǔ)言中的下個(gè)詞語(yǔ)預(yù)測(cè)通常是非常局部的,,而代碼通常需要更長(zhǎng)的依賴(lài)關(guān)系來(lái)做一些事情,比如前后括號(hào)的匹配或引用遠(yuǎn)處的函數(shù)定義”,。這里我想進(jìn)一步補(bǔ)充的是:由于面向?qū)ο缶幊讨械念?lèi)繼承,,代碼也可能有助于模型建立編碼層次結(jié)構(gòu)的能力。我們將對(duì)這一假設(shè)的檢驗(yàn)留給未來(lái)的工作,。

  另外還要注意一些細(xì)節(jié)差異:

  text-davinci-002 與 code-davinci-002

  Code-davinci-002 是基礎(chǔ)模型,,text-davinci-002 是指令微調(diào) code-davinci-002 的產(chǎn)物(見(jiàn) OpenAI 的文檔)。它在以下數(shù)據(jù)上作了微調(diào):(一)人工標(biāo)注的指令和期待的輸出,;(二)由人工標(biāo)注者選擇的模型輸出,。

  當(dāng)有上下文示例 (in-context example) 的時(shí)候, Code-davinci-002 更擅長(zhǎng)上下文學(xué)習(xí),;當(dāng)沒(méi)有上下文示例 / 零樣本的時(shí)候,, text-davinci-002 在零樣本任務(wù)完成方面表現(xiàn)更好。從這個(gè)意義上說(shuō),,text-davinci-002 更符合人類(lèi)的期待(因?yàn)閷?duì)一個(gè)任務(wù)寫(xiě)上下文示例可能會(huì)比較麻煩),。

  OpenAI 不太可能故意犧牲了上下文學(xué)習(xí)的能力換取零樣本能力 —— 上下文學(xué)習(xí)能力的降低更多是指令學(xué)習(xí)的一個(gè)副作用,OpenAI 管這叫對(duì)齊稅,。

  001 模型(code-cushman-001 和 text-davinci-001)v.s. 002 模型(code-davinci-002 和 text-davinci-002)

  001 模型主要是為了做純代碼 / 純文本任務(wù),;002 模型則深度融合了代碼訓(xùn)練和指令微調(diào),代碼和文本都行,。

  Code-davinci-002 可能是第一個(gè)深度融合了代碼訓(xùn)練和指令微調(diào)的模型,。證據(jù)有:code-cushman-001 可以進(jìn)行推理但在純文本上表現(xiàn)不佳,text-davinci-001 在純文本上表現(xiàn)不錯(cuò)但在推理上不大行,。code-davinci-002 則可以同時(shí)做到這兩點(diǎn),。

  3.2 這些能力是在預(yù)訓(xùn)練之后已經(jīng)存在還是在之后通過(guò)微調(diào)注入?

  在這個(gè)階段,我們已經(jīng)確定了指令微調(diào)和代碼訓(xùn)練的關(guān)鍵作用,。一個(gè)重要的問(wèn)題是如何進(jìn)一步分析代碼訓(xùn)練和指令微調(diào)的影響,?具體來(lái)說(shuō):上述三種能力是否已經(jīng)存在于初代的GPT-3中,只是通過(guò)指令和代碼訓(xùn)練觸發(fā) / 解鎖,?或者這些能力在初代的 GPT-3 中并不存在,,是通過(guò)指令和代碼訓(xùn)練注入?如果答案已經(jīng)在初代的 GPT-3 中,,那么這些能力也應(yīng)該在 OPT 中,。因此,要復(fù)現(xiàn)這些能力,,或許可以直接通過(guò)指令和代碼調(diào)整 OPT,。 但是,code-davinci-002 也可能不是基于最初的 GPT-3 davinci,,而是基于比初代 GPT-3 更大的模型,。如果是這種情況,可能就沒(méi)辦法通過(guò)調(diào)整 OPT 來(lái)復(fù)現(xiàn)了,。研究社區(qū)需要進(jìn)一步弄清楚 OpenAI 訓(xùn)練了什么樣的模型作為 code-davinci-002 的基礎(chǔ)模型。

  我們有以下的假設(shè)和證據(jù):

  code-davinci-002的基礎(chǔ)模型可能不是初代GPT-3 davinci 模型,。以下是證據(jù):

  初代的GPT-3在數(shù)據(jù)集 C4 2016 - 2019 上訓(xùn)練,,而 code-davinci-002 訓(xùn)練集則在延長(zhǎng)到2021年才結(jié)束。因此 code-davinci-002 有可能在 C4 的 2019-2021 版本上訓(xùn)練,。

  初代的 GPT-3 有一個(gè)大小為 2048 個(gè)詞的上下文窗口,。code-davinci-002 的上下文窗口則為 8192。GPT 系列使用絕對(duì)位置嵌入 (absolute positional embedding),,直接對(duì)絕對(duì)位置嵌入進(jìn)行外推而不經(jīng)過(guò)訓(xùn)練是比較難的,,并且會(huì)嚴(yán)重?fù)p害模型的性能(參考 Press et al., 2022)。如果 code-davinci-002 是基于初代GPT-3,,那OpenAI 是如何擴(kuò)展上下文窗口的,?

  另一方面,無(wú)論基礎(chǔ)模型是初代的 GPT-3 還是后來(lái)訓(xùn)練的模型,, 遵循指令和零樣本泛化的能力都可能已經(jīng)存在于基礎(chǔ)模型中,,后來(lái)才通過(guò)指令微調(diào)來(lái)解鎖 (而不是注入)

  這主要是因?yàn)?OpenAI 的論文報(bào)告的指令數(shù)據(jù)量大小只有 77K,比預(yù)訓(xùn)練數(shù)據(jù)少了幾個(gè)數(shù)量級(jí),。

  其他指令微調(diào)論文進(jìn)一步證明了數(shù)據(jù)集大小對(duì)模型性能的對(duì)比,,例如 Chung et al. (2022) 的工作中, Flan-PaLM 的指令微調(diào)僅為預(yù)訓(xùn)練計(jì)算的 0.4%,。一般來(lái)說(shuō),,指令數(shù)據(jù)會(huì)顯著少于預(yù)訓(xùn)練數(shù)據(jù)。

  然而 ,,模型的復(fù)雜推理能力可能是在預(yù)訓(xùn)練階段通過(guò)代碼數(shù)據(jù)注入

  代碼數(shù)據(jù)集的規(guī)模與上述指令微調(diào)的情況不同,。這里的代碼數(shù)據(jù)量足夠大,,可以占據(jù)訓(xùn)練數(shù)據(jù)的重要部分(例如,PaLM 有 8% 的代碼訓(xùn)練數(shù)據(jù))

  如上所述,,在 code-davinci-002 之前的模型 text-davinci-001 大概沒(méi)有在代碼數(shù)據(jù)上面微調(diào)過(guò),,所以它的推理 / 思維鏈能力是非常差的,正如第一版思維鏈論文中所報(bào)告的那樣,,有時(shí)甚至比參數(shù)量更小的 code-cushman-001 還差,。

  區(qū)分代碼訓(xùn)練和指令微調(diào)效果的最好方法可能是比較 code-cushman-001、T5 和 FlanT5

  因?yàn)樗鼈兙哂邢嗨频哪P痛笮,。?10億 和 120億),,相似的訓(xùn)練數(shù)據(jù)集 (C4),它們最大的區(qū)別就是有沒(méi)有在代碼上訓(xùn)練過(guò) / 有沒(méi)有做過(guò)指令微調(diào),。

  目前還沒(méi)有這樣的比較,。我們把這個(gè)留給未來(lái)的研究。

  四,、text-davinci-003 和 ChatGPT,,基于人類(lèi)反饋的強(qiáng)化學(xué)習(xí)(Reinforcement Learning from Human Feedback, RLHF) 的威力

  在當(dāng)前階段(2022 年 12 月), text-davinci-002,、text-davinci-003 和 ChatGPT之間幾乎沒(méi)有嚴(yán)格的統(tǒng)計(jì)上的比較 ,,主要是因?yàn)?/p>

  text-davinci-003 和 ChatGPT 在撰寫(xiě)本文時(shí)才發(fā)布不到一個(gè)月。

  ChatGPT 不能通過(guò) OpenAI API 被調(diào)用,,所以想要在標(biāo)準(zhǔn)基準(zhǔn)上測(cè)試它很麻煩,。

  所以在這些模型之間的比較更多是基于研究社區(qū)的集體經(jīng)驗(yàn) (統(tǒng)計(jì)上不是很?chē)?yán)格)。不過(guò),,我們相信初步的描述性比較仍然可以揭示模型的機(jī)制,。

  我們首先注意到以下 text-davinci-002,text-davinci-003 和 ChatGPT 之間的比較:

  所有三個(gè)模型都經(jīng)過(guò)指令微調(diào),。

  text-davinci-002 是一個(gè)經(jīng)過(guò)監(jiān)督學(xué)習(xí)指令微調(diào) (supervised instruction tuning) 的模型

  text-davinci-003 和 ChatGPT 是基于人類(lèi)反饋的強(qiáng)化學(xué)習(xí)的指令微調(diào) (Instruction tuning with Reinforcement Learning from Human Feedback RLHF),。這是它們之間最顯著的區(qū)別。

  這意味著大多數(shù)新模型的行為都是 RLHF 的產(chǎn)物,。

  那么讓我們看看 RLHF 觸發(fā)的能力:

  翔實(shí)的回應(yīng):text-davinci-003 的生成通常比 text-davinci-002長(zhǎng),。ChatGPT 的回應(yīng)則更加冗長(zhǎng),以至于用戶(hù)必須明確要求“用一句話(huà)回答我”,,才能得到更加簡(jiǎn)潔的回答,。這是 RLHF 的直接產(chǎn)物。

  公正的回應(yīng):ChatGPT 通常對(duì)涉及多個(gè)實(shí)體利益的事件(例如政治事件)給出非常平衡的回答,。這也是RLHF的產(chǎn)物,。

  拒絕不當(dāng)問(wèn)題:這是內(nèi)容過(guò)濾器和由 RLHF 觸發(fā)的模型自身能力的結(jié)合,過(guò)濾器過(guò)濾掉一部分,然后模型再拒絕一部分,。

  拒絕其知識(shí)范圍之外的問(wèn)題:例如,,拒絕在2021 年 6 月之后發(fā)生的新事件(因?yàn)樗鼪](méi)在這之后的數(shù)據(jù)上訓(xùn)練過(guò))。這是 RLHF 最神奇的部分,,因?yàn)樗鼓P湍軌螂[式地區(qū)分哪些問(wèn)題在其知識(shí)范圍內(nèi),,哪些問(wèn)題不在其知識(shí)范圍內(nèi)。

  有兩件事情值得注意:

  所有的能力都是模型本來(lái)就有的,, 而不是通過(guò)RLHF 注入的,。RLHF 的作用是觸發(fā) / 解鎖突現(xiàn)能力。這個(gè)論點(diǎn)主要來(lái)自于數(shù)據(jù)量大小的比較:因?yàn)榕c預(yù)訓(xùn)練的數(shù)據(jù)量相比,,RLHF 占用的計(jì)算量 / 數(shù)據(jù)量要少得多,。

  模型知道它不知道什么不是通過(guò)編寫(xiě)規(guī)則來(lái)實(shí)現(xiàn)的, 而是通過(guò)RLHF解鎖的,。這是一個(gè)非常令人驚訝的發(fā)現(xiàn),,因?yàn)?RLHF 的最初目標(biāo)是讓模型生成復(fù)合人類(lèi)期望的回答,這更多是讓模型生成安全的句子,,而不是讓模型知道它不知道的內(nèi)容,。

  幕后發(fā)生的事情可能是:

  ChatGPT: 通過(guò)犧牲上下文學(xué)習(xí)的能力換取建模對(duì)話(huà)歷史的能力。這是一個(gè)基于經(jīng)驗(yàn)的觀(guān)測(cè)結(jié)果,,因?yàn)?ChatGPT 似乎不像 text-davinci-003 那樣受到上下文演示的強(qiáng)烈影響,。

  text-davinci-003:恢復(fù)了 text-davinci-002 所犧牲的上下文學(xué)習(xí)能力, 提高零樣本的能力,。我們不確定這是否也是 RLHF 或其他東西的副產(chǎn)品,。 根據(jù)instructGPT的論文,,這是來(lái)自于強(qiáng)化學(xué)習(xí)調(diào)整階段混入了語(yǔ)言建模的目標(biāo)(而不是 RLHF 本身),。

  五、總結(jié)當(dāng)前階段 GPT-3.5 的進(jìn)化歷程

  到目前為止,,我們已經(jīng)仔細(xì)檢查了沿著進(jìn)化樹(shù)出現(xiàn)的所有能力,,下表總結(jié)了演化路徑:

  微信截圖_20230215150313.png

  我們可以得出結(jié)論:

  語(yǔ)言生成能力 + 基礎(chǔ)世界知識(shí) + 上下文學(xué)習(xí)都是來(lái)自于預(yù)訓(xùn)練(davinci)

  存儲(chǔ)大量知識(shí)的能力來(lái)自 1750 億的參數(shù)量。

  遵循指令和泛化到新任務(wù)的能力來(lái)自于擴(kuò)大指令學(xué)習(xí)中指令的數(shù)量(Davinci-instruct-beta)

  執(zhí)行復(fù)雜推理的能力很可能來(lái)自于代碼訓(xùn)練(code-davinci-002)

  生成中立,、客觀(guān)的能力,、安全和翔實(shí)的答案來(lái)自與人類(lèi)的對(duì)齊。具體來(lái)說(shuō):

  如果是監(jiān)督學(xué)習(xí)版,,得到的模型是text-davinci-002

  如果是強(qiáng)化學(xué)習(xí)版 (RLHF) ,,得到的模型是text-davinci-003

  無(wú)論是有監(jiān)督還是 RLHF ,模型在很多任務(wù)的性能都無(wú)法超過(guò) code-davinci-002 ,,這種因?yàn)閷?duì)齊而造成性能衰退的現(xiàn)象叫做對(duì)齊稅,。

  對(duì)話(huà)能力也來(lái)自于 RLHF(ChatGPT),具體來(lái)說(shuō)它犧牲了上下文學(xué)習(xí)的能力,來(lái)?yè)Q?。?/p>

  建模對(duì)話(huà)歷史

  增加對(duì)話(huà)信息量

  拒絕模型知識(shí)范圍之外的問(wèn)題

  六,、GPT-3.5 目前不能做什么

  雖然GPT-3.5是自然語(yǔ)言處理研究中的重要一步,但它并沒(méi)有完全包含許多研究人員(包括 AI2)設(shè)想的所有理想屬性,。以下是GPT-3.5不具備的某些重要屬性:

  實(shí)時(shí)改寫(xiě)模型的信念:當(dāng)模型表達(dá)對(duì)某事的信念時(shí),,如果該信念是錯(cuò)誤的,我們可能很難糾正它:

  我最近遇到的一個(gè)例子是:ChatGPT 堅(jiān)持認(rèn)為 3599 是一個(gè)質(zhì)數(shù),,盡管它承認(rèn) 3599 = 59 * 61,。另外,請(qǐng)參閱Reddit上關(guān)于游得最快的海洋哺乳動(dòng)物的例子,。

  然而,,模型信念的強(qiáng)度似乎存在不同的層次。一個(gè)例子是即使我告訴它達(dá)斯·維達(dá)(星球大戰(zhàn)電影中的人物)贏(yíng)得了2020年大選,,模型依舊會(huì)認(rèn)為美國(guó)現(xiàn)任總統(tǒng)是拜登,。但是如果我將選舉年份改為 2024 年,它就會(huì)認(rèn)為總統(tǒng)是達(dá)斯·維達(dá)是 2026 年的總統(tǒng),。

  形式推理:GPT-3.5系列不能在數(shù)學(xué)或一階邏輯等形式嚴(yán)格的系統(tǒng)中進(jìn)行推理:

  一個(gè)例子是嚴(yán)格的數(shù)學(xué)證明,,要求中間步驟中不能跳,不能模糊,,不能錯(cuò),。

  但這種嚴(yán)格推理到底是應(yīng)該讓語(yǔ)言模型做還是讓符號(hào)系統(tǒng)做還有待討論。一個(gè)例子是,,與其努力讓 GPT 做三位數(shù)加法,,不如直接調(diào) Python。

  生成如何做豆腐腦的方法,。做豆腐腦的時(shí)候,,中間很多步驟模糊一點(diǎn)是可以接受的,比如到底是做咸的還是做甜的,。只要整體步驟大致正確,,做出來(lái)的豆腐腦兒就能吃。

  數(shù)學(xué)定理的證明思路,。證明思路是用語(yǔ)言表達(dá)的非正式的逐步解法,,其中每一步的嚴(yán)格推導(dǎo)可以不用太具體。證明思路經(jīng)常被用到數(shù)學(xué)教學(xué):只要老師給一個(gè)大致正確的整體步驟,,學(xué)生就可以大概明白,。然后老師把具體的證明細(xì)節(jié)作為作業(yè)布置給學(xué)生,答案略,。

  在自然語(yǔ)言處理的文獻(xiàn)中,, “推理” 一詞的定義很多時(shí)候不太明確,。但如果我們從模糊性的角度來(lái)看,例如一些問(wèn)題 (a) 非常模棱兩可,,沒(méi)有推理,;(b) 有點(diǎn)兒邏輯在里面,但有些地方也可以模糊,;(c) 非常嚴(yán)謹(jǐn),,不能有任何歧義。那么,,

  模型可以很好地進(jìn)行 (b) 類(lèi)的帶模糊性的推理,,例子有:

  GPT-3.5 不能進(jìn)行類(lèi)型 (c) 的推理(推理不能容忍歧義)。

  從互聯(lián)網(wǎng)進(jìn)行檢索:GPT-3.5 系列(暫時(shí))不能直接搜索互聯(lián)網(wǎng)

  模型的內(nèi)部知識(shí)總是在某個(gè)時(shí)間被切斷,。模型始終需要最新的知識(shí)來(lái)回答最新的問(wèn)題,。

  回想一下,我們已經(jīng)討論過(guò) 1750 億的參數(shù)大量用于存儲(chǔ)知識(shí),。如果我們可以將知識(shí)卸載到模型之外,,那么模型參數(shù)可能會(huì)大大減少,最終它甚至可以在手機(jī)上運(yùn)行(瘋狂的想法,,但 ChatGPT 已經(jīng)足夠科幻了,,誰(shuí)知道未來(lái)會(huì)怎樣呢).

  但是有一篇 WebGPT 論文發(fā)表于2021年12月,里面就讓 GPT 調(diào)用了搜索引擎,。所以檢索的能力已經(jīng)在 OpenAI 內(nèi)部進(jìn)行了測(cè)試,。

  這里需要區(qū)分的一點(diǎn)是,GPT-3.5 的兩個(gè)重要但不同的能力是 知識(shí) 和 推理,。一般來(lái)說(shuō),,如果我們能夠 將知識(shí)部分卸載到外部的檢索系統(tǒng),讓語(yǔ)言模型只專(zhuān)注于推理,,這就很不錯(cuò)了,。 因?yàn)椋?/p>

  七、結(jié)論

  在這篇博文中,,我們仔細(xì)檢查了GPT-3.5系列的能力范圍,,并追溯了它們所有突現(xiàn)能力的來(lái)源,。初代GPT-3模型通過(guò)預(yù)訓(xùn)練獲得生成能力,、世界知識(shí)和in-context learning。然后通過(guò)instruction tuning的模型分支獲得了遵循指令和能泛化到?jīng)]有見(jiàn)過(guò)的任務(wù)的能力,。經(jīng)過(guò)代碼訓(xùn)練的分支模型則獲得了代碼理解的能力,,作為代碼訓(xùn)練的副產(chǎn)品,模型同時(shí)潛在地獲得了復(fù)雜推理的能力,。結(jié)合這兩個(gè)分支,,code-davinci-002似乎是具有所有強(qiáng)大能力的最強(qiáng)GPT-3.5模型,。接下來(lái)通過(guò)有監(jiān)督的instruction tuning和 RLHF通過(guò)犧牲模型能力換取與人類(lèi)對(duì)齊,即對(duì)齊稅,。RLHF 使模型能夠生成更翔實(shí)和公正的答案,,同時(shí)拒絕其知識(shí)范圍之外的問(wèn)題。

  我們希望這篇文章能夠幫助提供一個(gè)清晰的GPT評(píng)估圖,,并引發(fā)一些關(guān)于語(yǔ)言模型,、instruction tuning和code tuning的討論。最重要的是,, 我們希望這篇文章可以作為在開(kāi)源社區(qū)內(nèi)復(fù)現(xiàn)GPT-3.5的路線(xiàn)圖,。

 敬請(qǐng)關(guān)注電子技術(shù)應(yīng)用2023年2月22日==>>商業(yè)航天研討會(huì)<<

微信圖片_20230210170337.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀(guān)點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話(huà)通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話(huà):010-82306118;郵箱:[email protected],。