GPT-4批評GPT-4實現「自我提升」!OpenAI前超級對齊團隊又一力作被公開



  新智元報道  

編輯:喬楊
【新智元導讀】今天,OpenAI悄悄在博客上發佈了一篇新論文——CriticGPT,而這也是前任超級對齊團隊的「遺作」之一。CriticGPT同樣基於GPT-4訓練,但目的卻是用來指正GPT-4的輸出錯誤,實現「自我批評」。

OpenAI最近的拖延症狀逐漸嚴重,不僅GPT-5遙遙無期,前幾天還宣佈GPG-4o的語音功能將推遲一個月發佈。
或許是爲了緩解廣大網友的熱切期待,OpenAI在今天放出了新模型CriticGPT,相當於GPT-4的「柺杖」。
我們訓練了一個模型CriticGPT,來捕獲GPT-4生成代碼中的錯誤。我們開始將此類模型集成到RLHF對齊管道中,以幫助人類監督AI執行困難的任務。
值得注意的是,CriticGPT依舊是用GPT-4模型訓練的,但被用於給GPT-4生成的代碼「捉蟲」,這似乎有點「自我閉環」的意思?
推特網友迅速質疑,「我用石頭摧毀石頭」,矛盾得有點好笑。
但也有人從另一個角度發現了華點:這難道就是模型自我提升的開始?
官方發佈的推文和博客中還沒有提及CriticGPT何時會集成到ChatGPT中,但技術文章已經發布,而且又是一篇離職人員的遺留作品——由超級對齊的scalable oversight團隊共同完成,作者署名包含Jan Leike。

論文地址:https://cdn.openai.com/llm-critics-help-catch-llm-bugs-paper.pdf
那就來仔細看看,讓GPT-4「自我提升」的結果究竟如何?

GPT-4自己批自己

RLHF全稱爲Reinforcement Learning from Human Feedback,是包括ChatGPT在內的很多LLM常用的對齊方法。人類AI訓練師們會收集模型對同一個問題的不同響應並進行評分,以此改進模型。
隨着ChatGPT的響應變得更加準確,它犯的錯誤也會更微妙、讓人類訓練師更難察覺,因而降低了RLHF的有效性。
事實上,這也是RLHF的根本限制,隨着模型逐漸進化到比任何提供反饋的專家都更有知識,基於人類的評價來調整模型就會越來越困難。
因此,OpenAI的「可擴展監督」團隊想到了跳出RLHF的框架,乾脆訓練模型爲ChatGPT撰寫評論,糾正輸出結果中不準確的地方。
這種方法似乎取代了RLHF,但好像又沒取代——因爲訓練CriticGPT的過程,仍然採用了RLHF。
核心思想非常簡潔:CriticGPT依舊是自迴歸模型。標註者先向ChatGPT的響應輸出中人爲注入一些微妙的錯誤,CriticGPT針對這些有錯誤的答案生成批評意見,之後再由人類訓練師爲批評意見進行打分排名。

CriticGPT訓練流程
RLHF的訓練過程與ChatGPT類似,具體如下:
  1. 爲數據集中每個問題和答案採樣CriticGPT生成的批評意見

  2. 人類評估者對其各個屬性及總體質量進行評分

  3. 訓練獎勵模型用於預測人類對模型輸出的整體質量排名

  4. 使用PPO優化獎勵模型

  5. 應用一種創新的推理時採樣策略:強制採樣束搜索(FSBS)

大部分的訓練數據都來自人類篡改GPT答案的這個過程,但也包含少部分未經修飾的原始答案。
爲什麼一定要人爲向ChatGPT的響應輸出中注入bug?不能直接篩選出有bug的答案嗎?
論文中提出,使用原始、未經修飾的答案會存在如下幾個問題:
  • 許多答案不會包含嚴重問題,進而降低了數據對於改進批評意見的價值

  • 如果無法控制錯誤類型,CriticGPT會輸出自由形式且模糊不清的批評意見,難以驗證其正確性

  • 人類也很難發現CriticGPT遺漏的重要問題

  • 偏好率可能受到許多風格因素的影響,並會高估模型性能

需要注意的是,人類已經檢測到有bug的模型輸出,本身就說明它們更容易被人發現!
篡改方法最重要的優點是製造出了高質量、難以發現的錯誤,而且平均而言更嚴重。知道了哪裏有預先插入的bug,人類訓練師也更容易區分出那些不夠全面、遺漏bug的批評。
團隊有意地保證了這些人爲篡改的複雜和微妙。他們訓練了一個二元判別器預測代碼是否被篡改,發現較小的模型並沒有較好的分辨能力(圖13),以此驗證了篡改代碼的質量。
人類評估CriticGPT的批評意見時,從以下幾個維度給出評分和排名:
  • 是否全面 ,即沒有遺漏任何明顯或嚴重的問題

  • 是否捕獲到了之前插入的特定bug,即CBI(critique-bug inclusion)

  • 有沒有出現幻覺或者挑剔現象,指出了不存在的問題

  • 對整體有用性的主觀評級,包含上述內容並考慮風格和整體的實用性

在訓練CriticGPT的過程中,除了RLHF方法,團隊將獎勵模型與搜索結合,提出了一種名爲強制採樣束搜索的方法(Forced Sampling Beam Seach,FSBS)。
一般來說,模型產生的批評意見更長時,也更容易出現幻覺。這有點類似於「準確率」和「召回率」之間的權衡。
FSBS能夠激勵CriticGPT在產生更長、更全面的批評時,減少「無中生有」或者「雞蛋裏挑骨頭」的發生率。
之後進行的消融實驗也證明了FSBS方法的有效性(圖12)。
當然,OpenAI還是忘不了他們最喜歡的Scaling Law。他們用RLHF訓練並評估了一系列模型,來描述模型規模對bug檢測效果的影響(圖5)。
直觀來看,要達到CriticGPT(只進行了RL)的同等水平,在沒有額外數據或修改pipeline的情況下,需要將ChatGPT的預訓練計算量擴大30×。

評估結果

首先,團隊把人類和CriticGPT撰寫的批評意見混雜在一起,再交給人類進行評估。
標註者們會更喜歡自己同行們的產出嗎?並沒有。
ChatGPT和CriticGPT都超過了人類表現(圖1b),而且63%的情況下,CriticGPT撰寫的批評意見比人類的更受青睞(圖1a)。
要知道,研究團隊招來寫批評意見的不是編程門外漢,而是有平均5年Python研發經驗的技術人員。他們在每個例子上大約會花費50分鐘,並能執行代碼或查找參考手冊,結果也只能發現25%左右的人爲注入的bug。
論文認爲,這些評估者在沒有LLM幫助下撰寫的批評意見相對較短,而且可能缺乏所需的領域知識(比如特定的Python庫),並且有些篡改行爲確實難以發現,這三個原因導致了人類和模型之間如此明顯的差異。
從圖6中可以看到,CriticGPT的檢測錯誤能力比較全面,對於人爲篡改的錯誤以及原始輸出中就存在的錯誤,都達到了最高的全面性百分比。
更令人驚訝的是,ChatGPT在這兩個方面的表現也都超過人類獨立撰寫的批評意見。人類評估者要藉助CriticGPT,才能與ChatGPT水平相當。
但是下面的圖7又開啓了一輪反轉。團隊發現,雖然人類容易遺漏錯誤,但人類也最不容易產生幻覺或者「雞蛋裏挑骨頭」的問題。
在產生幻覺這方面,ChatGPT的表現最不如人意,CriticGPT稍有提升。
考慮到批評意見的全面性與減少幻覺之間的權衡,作者提出了團隊中「人機合作」模式的好處。如圖8所示,人類+CriticGPT的團隊表現能夠超越模型或人類分別單獨工作時的Pareto邊界。

總結

可擴展監督(scalabel oversight)的終極目標是幫助人類評估模型,來訓練出更好、更安全的策略。
從長期來看,我們應該找到一種泛化性更強的批評模型訓練方法,適用於沒有groung truth和獎勵函數的長形式、開放式任務。
在現實場景中,模型輸出的錯誤可能分佈在答案的很多部分。CriticGPT的工作重點是指出一處的重要錯誤,但未來依舊需要探索,如何識別出分散在答案中各處的錯誤。
CriticGPT依舊存在幻覺問題,且幫助有限。如果編碼任務或者原模型的輸出過於複雜,即使是有模型協助的專家也可能無法做出很好的評估。
但這篇文章的方法爲今後的RLHF訓練帶來了一種新鮮思路:將RLHF應用到GPT-4中,訓練出CriticGPT這樣的模型,可以合成出更多的高質量RLHF數據。
參考資料:
https://openai.com/index/finding-gpt4s-mistakes-with-gpt-4/