GPT-4批評GPT-4實現(xiàn)「自我提升」!OpenAI前超級對齊團隊又一力作被公開
OpenAI最近的拖延癥狀逐漸嚴(yán)重,不僅GPT-5遙遙無期,前幾天還宣布GPG-4o的語音功能將推遲一個月發(fā)布。
或許是為了緩解廣大網(wǎng)友的熱切期待,OpenAI在今天放出了新模型CriticGPT,相當(dāng)于GPT-4的「拐杖」。
我們訓(xùn)練了一個模型CriticGPT,來捕獲GPT-4生成代碼中的錯誤。我們開始將此類模型集成到RLHF對齊管道中,以幫助人類監(jiān)督AI執(zhí)行困難的任務(wù)。
值得注意的是,CriticGPT依舊是用GPT-4模型訓(xùn)練的,但被用于給GPT-4生成的代碼「捉蟲」,這似乎有點「自我閉環(huán)」的意思?
推特網(wǎng)友迅速質(zhì)疑,「我用石頭摧毀石頭」,矛盾得有點好笑。
但也有人從另一個角度發(fā)現(xiàn)了華點:這難道就是模型自我提升的開始?
官方發(fā)布的推文和博客中還沒有提及CriticGPT何時會集成到ChatGPT中,但技術(shù)文章已經(jīng)發(fā)布,而且又是一篇離職人員的遺留作品——由超級對齊的scalable oversight團隊共同完成,作者署名包含Jan Leike。
論文地址:https://cdn.openai.com/llm-critics-help-catch-llm-bugs-paper.pdf
那就來仔細(xì)看看,讓GPT-4「自我提升」的結(jié)果究竟如何?
GPT-4自己批自己
RLHF全稱為Reinforcement Learning from Human Feedback,是包括ChatGPT在內(nèi)的很多LLM常用的對齊方法。人類AI訓(xùn)練師們會收集模型對同一個問題的不同響應(yīng)并進行評分,以此改進模型。
隨著ChatGPT的響應(yīng)變得更加準(zhǔn)確,它犯的錯誤也會更微妙、讓人類訓(xùn)練師更難察覺,因而降低了RLHF的有效性。
事實上,這也是RLHF的根本限制,隨著模型逐漸進化到比任何提供反饋的專家都更有知識,基于人類的評價來調(diào)整模型就會越來越困難。
因此,OpenAI的「可擴展監(jiān)督」團隊想到了跳出RLHF的框架,干脆訓(xùn)練模型為ChatGPT撰寫評論,糾正輸出結(jié)果中不準(zhǔn)確的地方。
這種方法似乎取代了RLHF,但好像又沒取代——因為訓(xùn)練CriticGPT的過程,仍然采用了RLHF。
核心思想非常簡潔:CriticGPT依舊是自回歸模型。標(biāo)注者先向ChatGPT的響應(yīng)輸出中人為注入一些微妙的錯誤,CriticGPT針對這些有錯誤的答案生成批評意見,之后再由人類訓(xùn)練師為批評意見進行打分排名。
CriticGPT訓(xùn)練流程
RLHF的訓(xùn)練過程與ChatGPT類似,具體如下:
- 為數(shù)據(jù)集中每個問題和答案采樣CriticGPT生成的批評意見
- 人類評估者對其各個屬性及總體質(zhì)量進行評分
- 訓(xùn)練獎勵模型用于預(yù)測人類對模型輸出的整體質(zhì)量排名
- 使用PPO優(yōu)化獎勵模型
- 應(yīng)用一種創(chuàng)新的推理時采樣策略:強制采樣束搜索(FSBS)
大部分的訓(xùn)練數(shù)據(jù)都來自人類篡改GPT答案的這個過程,但也包含少部分未經(jīng)修飾的原始答案。
為什么一定要人為向ChatGPT的響應(yīng)輸出中注入bug?不能直接篩選出有bug的答案嗎?
論文中提出,使用原始、未經(jīng)修飾的答案會存在如下幾個問題:
- 許多答案不會包含嚴(yán)重問題,進而降低了數(shù)據(jù)對于改進批評意見的價值
- 如果無法控制錯誤類型,CriticGPT會輸出自由形式且模糊不清的批評意見,難以驗證其正確性
- 人類也很難發(fā)現(xiàn)CriticGPT遺漏的重要問題
- 偏好率可能受到許多風(fēng)格因素的影響,并會高估模型性能
需要注意的是,人類已經(jīng)檢測到有bug的模型輸出,本身就說明它們更容易被人發(fā)現(xiàn)!
篡改方法最重要的優(yōu)點是制造出了高質(zhì)量、難以發(fā)現(xiàn)的錯誤,而且平均而言更嚴(yán)重。知道了哪里有預(yù)先插入的bug,人類訓(xùn)練師也更容易區(qū)分出那些不夠全面、遺漏bug的批評。
團隊有意地保證了這些人為篡改的復(fù)雜和微妙。他們訓(xùn)練了一個二元判別器預(yù)測代碼是否被篡改,發(fā)現(xiàn)較小的模型并沒有較好的分辨能力(圖13),以此驗證了篡改代碼的質(zhì)量。
人類評估CriticGPT的批評意見時,從以下幾個維度給出評分和排名:
- 是否全面 ,即沒有遺漏任何明顯或嚴(yán)重的問題
- 是否捕獲到了之前插入的特定bug,即CBI(critique-bug inclusion)
- 有沒有出現(xiàn)幻覺或者挑剔現(xiàn)象,指出了不存在的問題
- 對整體有用性的主觀評級,包含上述內(nèi)容并考慮風(fēng)格和整體的實用性
在訓(xùn)練CriticGPT的過程中,除了RLHF方法,團隊將獎勵模型與搜索結(jié)合,提出了一種名為強制采樣束搜索的方法(Forced Sampling Beam Seach,F(xiàn)SBS)。
一般來說,模型產(chǎn)生的批評意見更長時,也更容易出現(xiàn)幻覺。這有點類似于「準(zhǔn)確率」和「召回率」之間的權(quán)衡。
FSBS能夠激勵CriticGPT在產(chǎn)生更長、更全面的批評時,減少「無中生有」或者「雞蛋里挑骨頭」的發(fā)生率。
之后進行的消融實驗也證明了FSBS方法的有效性(圖12)。
當(dāng)然,OpenAI還是忘不了他們最喜歡的Scaling Law。他們用RLHF訓(xùn)練并評估了一系列模型,來描述模型規(guī)模對bug檢測效果的影響(圖5)。
直觀來看,要達(dá)到CriticGPT(只進行了RL)的同等水平,在沒有額外數(shù)據(jù)或修改pipeline的情況下,需要將ChatGPT的預(yù)訓(xùn)練計算量擴大30×。
評估結(jié)果
首先,團隊把人類和CriticGPT撰寫的批評意見混雜在一起,再交給人類進行評估。
標(biāo)注者們會更喜歡自己同行們的產(chǎn)出嗎?并沒有。
ChatGPT和CriticGPT都超過了人類表現(xiàn)(圖1b),而且63%的情況下,CriticGPT撰寫的批評意見比人類的更受青睞(圖1a)。
要知道,研究團隊招來寫批評意見的不是編程門外漢,而是有平均5年P(guān)ython研發(fā)經(jīng)驗的技術(shù)人員。他們在每個例子上大約會花費50分鐘,并能執(zhí)行代碼或查找參考手冊,結(jié)果也只能發(fā)現(xiàn)25%左右的人為注入的bug。
論文認(rèn)為,這些評估者在沒有LLM幫助下撰寫的批評意見相對較短,而且可能缺乏所需的領(lǐng)域知識(比如特定的Python庫),并且有些篡改行為確實難以發(fā)現(xiàn),這三個原因?qū)е铝巳祟惡湍P椭g如此明顯的差異。
從圖6中可以看到,CriticGPT的檢測錯誤能力比較全面,對于人為篡改的錯誤以及原始輸出中就存在的錯誤,都達(dá)到了最高的全面性百分比。
更令人驚訝的是,ChatGPT在這兩個方面的表現(xiàn)也都超過人類獨立撰寫的批評意見。人類評估者要借助CriticGPT,才能與ChatGPT水平相當(dāng)。
但是下面的圖7又開啟了一輪反轉(zhuǎn)。團隊發(fā)現(xiàn),雖然人類容易遺漏錯誤,但人類也最不容易產(chǎn)生幻覺或者「雞蛋里挑骨頭」的問題。
在產(chǎn)生幻覺這方面,ChatGPT的表現(xiàn)最不如人意,CriticGPT稍有提升。
考慮到批評意見的全面性與減少幻覺之間的權(quán)衡,作者提出了團隊中「人機合作」模式的好處。如圖8所示,人類+CriticGPT的團隊表現(xiàn)能夠超越模型或人類分別單獨工作時的Pareto邊界。
總結(jié)
可擴展監(jiān)督(scalabel oversight)的終極目標(biāo)是幫助人類評估模型,來訓(xùn)練出更好、更安全的策略。
從長期來看,我們應(yīng)該找到一種泛化性更強的批評模型訓(xùn)練方法,適用于沒有g(shù)roung truth和獎勵函數(shù)的長形式、開放式任務(wù)。
在現(xiàn)實場景中,模型輸出的錯誤可能分布在答案的很多部分。CriticGPT的工作重點是指出一處的重要錯誤,但未來依舊需要探索,如何識別出分散在答案中各處的錯誤。
CriticGPT依舊存在幻覺問題,且?guī)椭邢蕖H绻幋a任務(wù)或者原模型的輸出過于復(fù)雜,即使是有模型協(xié)助的專家也可能無法做出很好的評估。
但這篇文章的方法為今后的RLHF訓(xùn)練帶來了一種新鮮思路:將RLHF應(yīng)用到GPT-4中,訓(xùn)練出CriticGPT這樣的模型,可以合成出更多的高質(zhì)量RLHF數(shù)據(jù)。