對話OpenAI研討科學(xué)家:他們是如何讓GPT4更像人的? |
發(fā)布時間:2023-04-06 文章來源:本站 瀏覽次數(shù):2166 |
終究是怎樣的大腦發(fā)明出了跨時期的ChatGPT?作為ChatGPT的姊妹模型,InstructGPT的中心技術(shù)和ChatGPT有很多相通之處。 近期,美國AI可察看性平臺Arize AI采訪了OpenAI的兩位研討科學(xué)家歐陽龍 (Long Ouyang) 和Ryan Lowe,他們是InstructGPT(采用人類反應(yīng)的強(qiáng)化學(xué)習(xí) (RLHF) 鍛煉大型言語模型的首批主要應(yīng)用之一)的發(fā)明者,在RLHF模型的演化和為GPT-4奠基方面發(fā)揮了重要作用。 以下是對話中的一些要點。 開發(fā)InstructGPT背后的動機(jī)是什么?GPT-3的哪些問題啟示了InstructGPT的降生? 歐陽龍:我以為我們試圖處理的一個主要問題是,當(dāng)GPT-3問世時,人們對用它來做有用的認(rèn)知工作感到過于興奮,例如總結(jié)一篇新聞文章。但它的設(shè)計初衷并不是為了做這個,而是為了預(yù)測互聯(lián)網(wǎng)上的人在特定環(huán)境下可能會說什么。事實證明,你能夠經(jīng)過設(shè)置文原本誘使模型為你執(zhí)行有用的工作,當(dāng)模型自動完成任務(wù)時,它能夠給你你想要的東西。 因而,就摘要來說,一個例子是,或許你需求先給出一篇文章中的幾個事例,然后是文章的摘要,后是你想要取得摘要的文章和要點總結(jié),然后你請求他們完成概括。所以這個模型并不是被設(shè)計成一個助手或有用的工具,但在某些狀況下你能夠把它用作這個用處。這篇文本或者說這個項目的總體目的就是在一個目的函數(shù)上對模型停止微調(diào),使其成為一個有用的助手或工具——直到今天也仍然如此。這來自于一些早期的工作,我們稱之為調(diào)整言語模型。 對了,Ryan,你想談?wù)凮penAI的調(diào)整問題嗎? Ryan Lowe:人們對調(diào)整有不同的定義。但你能夠運用的一個定義是,如何讓我們正在鍛煉的人工智能系統(tǒng)優(yōu)化我們實踐上想要優(yōu)化的東西? 從歷史上看,它始于一個小團(tuán)隊,這就是初早期RLHF工作發(fā)揮作用的中央。后來我們有了一個短期的調(diào)整團(tuán)隊,主要擔(dān)任用現(xiàn)有的言語模型來優(yōu)化我們真正想要優(yōu)化的東西,讓我們的目的變得有用、有協(xié)助,同時也能夠減輕危害,遵照事實。還有一些關(guān)于長期調(diào)整的工作,試圖考慮可能呈現(xiàn)的新的調(diào)整問題。因而,將來還可能呈現(xiàn)一些關(guān)于可擴(kuò)展的監(jiān)管和其他一些事情的工作。 你能對InstructGPT做一個簡短的引薦或者對其做一個總結(jié)嗎? 歐陽龍:這是一個自動化的系統(tǒng),你提供一些文本作為輸入,它也會提供一些文本作為輸出。這些是我們所說的標(biāo)志的概率散布,一個標(biāo)志是單詞的一局部,有時是整個單詞,然后經(jīng)過在每個階段抽樣出下一個可能的標(biāo)志,然后繼續(xù)這個過程,直到得到你目的的產(chǎn)出。所以有時分你會得到不同的結(jié)果,由于這個模型有一點概率性。 重要的是,你給這個模型的輸入只是一個自然言語命令或指令,比方“用法語寫一個關(guān)于青蛙的故事”,又由于它在各種不同的任務(wù)上承受過鍛煉,所以它能夠概括兩個任務(wù),第一個任務(wù)是運用法語,第二個任務(wù)是寫一個關(guān)于青蛙的故事,我想這是在鍛煉中他不會遇到的。 為了強(qiáng)調(diào)指令模型和早期香草言語模型之間的區(qū)別,指令模型“了解”你給了它一些明白的認(rèn)知任務(wù),同時你用言語明白地給出了這些指令;而在之前的模型之下,經(jīng)過模型交流的方式,你想要完成的任務(wù)可能是經(jīng)過一些例子或一種更委婉的方式。 Ryan Lowe:從高層次上講,我們完成這一目的的方式根本上是應(yīng)用人類數(shù)據(jù)。經(jīng)過運用數(shù)據(jù)標(biāo)注者——我們雇傭了一組承包商為我們標(biāo)志數(shù)據(jù),我們在正常的言語模型預(yù)鍛煉階段上做了一個額外的微調(diào)階段。 這些數(shù)據(jù)標(biāo)注者產(chǎn)生的主要數(shù)據(jù)之一是給定一些輸入,如"寫一個關(guān)于青蛙的故事"有多個候選輸出,由不同的模型生成,而標(biāo)注者會依據(jù)一些指令集和他們對指令的解釋,將這些輸入從佳輸出到有效輸出停止排序。然后我們運用強(qiáng)化學(xué)習(xí)來鍛煉模型,以試圖產(chǎn)生更接近人類偏好或排名較高的輸出。 為什么要鍛煉獎勵模型呢?為什么要在第一步停止監(jiān)視微調(diào)? 歐陽龍:或許我們會從獎勵形式開端,由于這是我們的辦法中真正關(guān)鍵的局部。有了Ryan之前提到的那種數(shù)據(jù),即數(shù)據(jù)標(biāo)注者給出了他們的偏好,比方關(guān)于青蛙的故事,我們就會用這些數(shù)據(jù)來鍛煉一個十分大的神經(jīng)網(wǎng)絡(luò),我們稱之為獎勵模型。 你能夠把獎勵形式想象成電子游戲中的分?jǐn)?shù)或一個教師。獎勵模型的輸入是指令和輸出,它返回一個分?jǐn)?shù),這個分?jǐn)?shù)會通知你的輸出有多好。假如這個分?jǐn)?shù)不錯,就意味著關(guān)于青蛙的故事是個好故事,假如這個分?jǐn)?shù)很低,就意味著關(guān)于青蛙的故事是個爛故事。我們依據(jù)人類的判別來鍛煉這個獎勵模型,所以這個大模型有點像近似于人們以為在寫青蛙故事或總結(jié)新聞文章或其他方面的一個好嘗試。然后當(dāng)我們鍛煉一個完整不同的模型,我們也能依據(jù)獎勵模型來做得更好。 因而,我們的辦法的重要之處在于,我們沒有采用其他辦法,而是明白地學(xué)習(xí)了人們對一項任務(wù)的良好表現(xiàn)的見地。然后,我們單獨優(yōu)化一個神經(jīng)網(wǎng)絡(luò),使其依據(jù)該表征完成一項好工作。因而,這就是從人類反應(yīng)中停止的本質(zhì)性強(qiáng)化學(xué)習(xí)。 我們正在做強(qiáng)化學(xué)習(xí),由于我們試圖依據(jù)一個模型去構(gòu)建另一個完整不同的但能很好運轉(zhuǎn)的新模型。然后人類的反應(yīng)局部來自教師或分?jǐn)?shù)模型,這些模型經(jīng)過鍛煉,能夠預(yù)測人類的偏好。這就是這個辦法的中心,然后,為了引導(dǎo)一堆數(shù)據(jù),我們又做了所謂的監(jiān)視學(xué)習(xí)或監(jiān)視微調(diào),在那里,我們實踐上只是請求他們直接制造所謂的示范,而不是讓人們對曾經(jīng)寫好的青蛙的故事給出他們的偏好。所以,他們本人被請求用法語寫一個關(guān)于青蛙的故事,我們鍛煉模型模擬他們在這些狀況下運用的單詞。這對引導(dǎo)數(shù)據(jù)很有用,但對RLHF辦法來說不一定是必需的。 你能否看到其他主要的應(yīng)用程序跳過了第一步? 歐陽龍:我們有時還會這樣做,我想有一點是,如今少數(shù)的片段提示曾經(jīng)變得很有競爭力了。因而,你有時能夠跳過搜集演示,由于從模型的幾個片段的輸出曾經(jīng)是能夠承受的,或者說是曾經(jīng)足夠好,以致于沒有必要停止單獨的監(jiān)視微調(diào)。 Ryan Lowe:一種考慮辦法是,RLHF協(xié)助您取得更細(xì)粒度的模型行為調(diào)優(yōu),而監(jiān)視式調(diào)優(yōu)和搜集演示能夠更徹底地改動模型行為。例如,假定你有一個模型,它在生成摘要方面很糟糕。在不同的糟糕摘要之間取得一堆排名反應(yīng)并不是有用的。所以你要做的是搜集一些十分好的總結(jié)的例子,然后讓你的模型試著模擬一下。實踐上,這是一個經(jīng)歷問題,什么時分好從搜集演示轉(zhuǎn)換到搜集比擬或排名數(shù)據(jù)。我們在另一篇論文中對此有一些結(jié)果但這依然是一個十分開放的問題。 你是怎樣想到InstructGPT這個主見的?這個想法是如何呈現(xiàn)的,以及這個項目是如何在OpenAI中呈現(xiàn)的? 歐陽龍:我們實踐上曾經(jīng)研討這個辦法有一段時間了,只是動機(jī)略有不同。調(diào)整團(tuán)隊通常感興味的不一定是使模型更好,雖然有時的確會產(chǎn)生反作用,但終目的是使它們更契合我們想要的。因而,在之前的幾篇論文中,我們將這種辦法應(yīng)用于更窄的范疇,看看它能否有效。緊跟著GPT-3經(jīng)過API部署到公眾面前,團(tuán)隊的一些成員想到將我們在以前的論文中開發(fā)的對齊技術(shù)應(yīng)用到這個新模型上,我們?nèi)缃裾跒楣娦凇?/p> Ryan Lowe:初寫谷歌文件提出這個倡議的人是Paul Chirstiano,他當(dāng)時是調(diào)整團(tuán)隊的擔(dān)任人。 很多人都在談?wù)撓乱淮哉Z模型將會十分強(qiáng)大。這能否會帶來有趣的應(yīng)戰(zhàn),或者能否有新的辦法來順應(yīng)這種應(yīng)戰(zhàn)并處置這些更強(qiáng)大的言語模型?你想把這項工作推進(jìn)到哪里? Ryan Lowe:我們有一個內(nèi)容政策,說我們不希望模型生成代碼來入侵銀行或做其他相似的奉公守法的事情,但我們發(fā)理想際上它有可能被立功分子用來編寫代碼來入侵銀行。如今我們有一個困難的過程來引導(dǎo)事情朝著不這樣做的方向開展,但在牢靠性和耐久性方面依然存在差距。所以我們只能繼續(xù)具有我們的技術(shù),讓它們變得更好,這樣假如你發(fā)現(xiàn)一些偏向,你能夠疾速修復(fù)它。 Anthropic近發(fā)表了一些關(guān)于運用模型來協(xié)助這個過程的論文,十分有趣。我特別感興味的一件事是超越了實質(zhì)上與均勻標(biāo)簽者設(shè)立的框架。當(dāng)我們開端問:你在依據(jù)誰在調(diào)整這些模型時,將會有一些十分棘手的問題。如今根本上是我們的標(biāo)簽員加上我們經(jīng)過一組指令讓他們遵照。但OpenAI并不想處在這樣一個道德專制者的位置,即我們來決議怎樣做是正確的,以及什么是正確的價值觀。因而,駕馭這個問題將是一個應(yīng)戰(zhàn),觸及到機(jī)器學(xué)習(xí)的干預(yù),但也觸及到更普遍的社會技術(shù)角度。 隨著言語模型變得越來越強(qiáng)大,這類研討能否會呈現(xiàn)有趣的問題或新的應(yīng)戰(zhàn)和新的方向? 歐陽龍:其中一個問題是,假如這些模型十分強(qiáng)大,那么僅僅是停止這些比擬判別就會變得愈加艱難。因而,我們想要給出一個強(qiáng)大模型的任務(wù)示例是:為GitHub上的這個拉拽懇求編寫代碼檢查。如今的模型還不能做到這一點,但你能夠想象,在一兩年內(nèi),更有才能的模型可能就能做到,這絕對是我們希望機(jī)器學(xué)習(xí)協(xié)助處理的事情。數(shù)據(jù)標(biāo)簽承包商評價模型編寫的代碼的時間可能十分長,也可能他們基本無法做到這一點。 因而,在運用模型處置的事情超越個人評價模型的才能時,一個十分突出的應(yīng)戰(zhàn)是,當(dāng)模型在大量不同的事情上十分強(qiáng)大的時分,那么評判他們做得能否很好就會相當(dāng)不容易。這是一個構(gòu)建其別人工智能模型協(xié)助人們評價其他機(jī)器學(xué)習(xí)系統(tǒng)的新范疇。 Ryan Lowe:我同意歐陽龍所說的,我獨一想補(bǔ)充的是關(guān)于長期的分歧性研討;這些系統(tǒng)會依據(jù)你的程序來優(yōu)化。因而,假如他們優(yōu)化的是人類在做排名時哪些排名靠前的東西,那么你所優(yōu)化的就是產(chǎn)生對人類來說聽起來不錯的輸出。隨著模型變得越來越強(qiáng)大,有可能在優(yōu)化過程中,他們會發(fā)現(xiàn)有趣的或棘手的或具有詐騙性的(或許有待商榷)辦法來產(chǎn)生高分的輸出,而這實踐上不是我們想要的輸出。我以為我們還沒有完整做到,但至少這是我們想要關(guān)注的事情。 至于如何緩解這種狀況,有歐陽龍談到的各種辦法,也就是你有其別人工智能模型來協(xié)助你評價輸出——這就是我談到的可擴(kuò)展的監(jiān)視研討作風(fēng)。因而,人們正在研討更多的可解釋性問題,比方:我們能否嘗試了解一個模型內(nèi)部發(fā)作了什么? 這是另一個調(diào)整研討的思緒。我們什么時分可以完成它還很難說,但這是值得考慮的。 你剛剛提到有人在察看模型內(nèi)部發(fā)作的事情。你能指出你近在這個范疇看到的任何有趣的外部事物嗎? Ryan Lowe:我還沒有深化研討這方面的文獻(xiàn),但從我所看到的和略讀到的材料來看,Anthropic在可解釋性方面的研討十分有趣。他們正在研討較小范圍的轉(zhuǎn)換器,試圖理解里面到底發(fā)作了什么。 歐陽龍:關(guān)于樹立言語模型所做的工作來說,有一些補(bǔ)充工作是以一種更可察看的方式停止的。Anthropic關(guān)于“監(jiān)視言語模型所做的過程,而不是結(jié)果”這個想法很感興味,就像我們一樣。因而,這里的想法可能是把一個大任務(wù)合成成一堆小的組件,而你可能對其中的一些組成局部比對整個端到端的鍛煉過程有更好的把握。 這是鍛煉的一局部還是后的微調(diào)? 歐陽龍:我不斷以來在人們編寫程序時也看到過這種狀況。有一個名為Ought的研討小組,也為學(xué)術(shù)論文樹立了一個所謂的文獻(xiàn)檢查助手。他們曾經(jīng)運用這種技術(shù)來構(gòu)建他們的言語模型輔助閱讀溫習(xí)工具。到目前為止我看到的例子都是這樣的,但是考慮如何合成鍛煉是很有趣的。 要進(jìn)一步理解這篇論文或者理解你更普遍的工作,你有什么倡議嗎? Ryan Lowe:我以為人們可能曾經(jīng)在這么做了,但假如你還沒有,無妨嘗試一下這些模型,對它能做什么和不能做什么有一個直覺的理解。要特別去留意那些你試圖讓它做,而它卻沒有做的事情。我們正在做調(diào)整工作,但你也能夠思索為一個十分詳細(xì)的用例停止調(diào)整的工作。 此外,或許人們還能夠開展出一點獵奇心,考慮假如我們有GPT7會發(fā)作什么,由于曾經(jīng)有人在考慮這些更長期的調(diào)整問題。我們專注于長期調(diào)整方面的同事寫了一篇關(guān)于批判的論文,同時他還鍛煉言語模型來批判,這算是在可擴(kuò)展的調(diào)整問題中的一個步驟。 歐陽龍:我也倡議你試試InstructGPT。這是一個公開的模型,你能夠在beta.openai.com上得到一些免費的點數(shù)來玩,這一點并沒有很多人曉得。 Ryan Lowe:是的,這很有趣,由于底層的GPT 3.5從去年早些時分就曾經(jīng)能夠運用了,但是只要當(dāng)人們免費運用它,而且是以助手的方式,它才真正盛行起來。去試試InstructGPT吧,在某些方面它比ChatGPT更好,但在某些方面又比ChatGPT更差。 |
|