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