GPT-4o攻破ARC-AGI無法被挑戰的神話!71%準確率成新SOTA
ARC-AGI是唯一可以用來衡量通用人工智能進展的基準,創造者Fran?ois Chollets曾經擲下豪言——
「它不可能輕易被擊??!」
為了測試這一點,他于2020年在 Kaggle(Google LLC旗下的數據科學競賽平臺)上主辦了首屆ARC-AGI競賽。
獲勝團隊icecuber在測試集上僅取得了21%的成功率,這個成績強有力地證明了Fran?ois的斷言是正確的。
此后幾年,來自世界各地的挑戰者不斷刷新這個紀錄,但進展緩慢。ARC-AGI似乎成為了一座不可跨越的高山。
可是這周二,ARC-AGI基準無法被挑戰的神話被GPT-4o撼動了!GPT-4o以在公共測試集50%、在訓練集的保留子集71%的準確率成為了新的SOTA!
ARC-AGI上周被大肆宣傳為LLM無法解決的基準。這個說法激發了我親愛的同事Ryan Greenblatt的斗志,因此他上周試圖用 LLMs 來解決這個問題。Ryan在一組示例中獲得了 71% 的準確率,而人類的準確率為 85%;這(GPT-4o)是SOTA。
這個消息也迅速登上了HN熱搜榜。
值得一提的是,今年Mike Knoop、Fran?ois和Lab42聯手創建了2024年ARC獎,獎金池超過110萬美元。
為了完成這個挑戰,Ryan放棄了一個星期的項目,設計了很多花哨的技巧,爭取了高性能:
訓練集:71% vs. 人類基線 85%
測試集:51% vs. 之前的 SOTA 34%(人類基線未知)
但遺憾的是,此提交不符合 ARC-AGI 獎項和主要排行榜的資格,因為它使用閉源模型和過多的運行時計算。
可能Ryan會提交到私人排行榜中吧。
什么是ARC-AGI?
ARC-AGI的數據集由視覺問題組成,輸入輸出示例是由彩色單元格組成的網格,任務是猜測從輸入到輸出的轉換規律,然后補全缺失的網格。
看起來很簡單對吧,就像是小學的奧數題,讓GPT-4o來解決也并不困難。
不過,公共測試集中的任務要難得多,對于人類來說,也會有些棘手,但并非不可解決。
每一項ARC-AGI任務都是經過人工驗證的,包括公共測試集,確保ARC-AGI的所有任務都可以由人類解決。
畢竟這是一個通用人工智能基準,如果連人類自己都難倒了,那拿去測試LLM也說不過去。
據報道,亞馬遜土耳其機器人( Amazon Mechanical Turk,MTurk) 訓練分布的人類基線是85%,但沒有針對公開測試集的人類基線,不過我們已知的是,公開測試集更難,那么針對公開測試集的人類基線應該會更低。
Ryan給出了測試集中的一些代表性的問題,以及他基于GPT-4o的解決方案是否回答正確。
問題1:
問題2:
問題3:
從Ryan給出的這3個例子中可以看出,GPT-4o答對了三分之一。(跟小編的勝率一樣,前2個圖密密麻麻,沒看出個所以然來…)
怎么讓GPT-4o做到的
Ryan的解決方案的主要思路非常簡單:讓GPT-4o生成約8000個嘗試實現轉換的python程序,選擇一個在所有示例(通常有 3 個示例)中都正確的程序,然后提交該函數應用于額外測試輸入時產生的輸出。
Ryan以圖像和各種ASCII表示形式向GPT-4o展示了該問題。
這種方法在本質上與AlphaCode中應用的方法類似,在AlphaCode中,一個模型會生成數百萬個試圖解決編程問題的完成項,然后對這些完成項進行匯總,以確定要提交的內容。
從更高層次上來解釋,Ryan使用的方法是:
- 向GPT-4o介紹ARC-AGI 的問題,并為問題中的每個網格提供圖像表示法和各種文本表示法。
- 指導GPT-4o推理背后的規律,進一步推理如何用代碼實現轉換,最后用代碼實現。
- 使用幾次提示以及幾個精心手寫的分步推理示例來實際讓GPT-4o有效地進行此推理。生成的提示通常長度約為30k個token(包括圖像)。
- 從GPT-4o中抽取大量的完成樣本(每個問題約5000個)。
- 針對每個問題選取最有希望的12個補全,然后通過向GPT-4o展示該程序在示例中的實際輸出,并要求GPT-4o修改代碼使其正確,從而嘗試修復每個補全。
- 然后,根據對正確示例程序的多數投票結果,選出3個提交程序。
概括來說,Ryan通過足夠長的、精雕細琢的少樣本提示,生成許多可能的Python程序,從大約5k個猜測中,使用示例選出最佳猜測,然后進行調試。
除了對訓練集進行迭代外,Ryan還對公共測試集的100個問題子集進行了少量迭代。
在這里介紹的所有結果都是在不重疊的公共測試集的另一個子集上計算得出的。
訓練集和測試集不是獨立的,而且測試集的難度更大,因此使用測試集的子集進行迭代有助于快速更好地了解問題隨難度的變化。
不幸的是,這些測試集不是獨立同分布(Independent Identically Distribution,IID):這使得迭代變得更加困難和混亂。
關于方法的更多細節,以及完整的解決方案,可以參閱項目的GitHub:
https://github.com/rgreenblatt/arc_draw_more_samples_pub
采樣每增加一倍,精度提高3%
如果有更多的采樣,性能會有所提高嗎?
答案是會的!
縮放Python采樣數量可以可靠地提高性能,每增加一倍,精度提高3%。
而且這距離AlphaCode使用的數百萬個樣本還很遠!
GPT-4o存在的非推理弱點
- GPT-4o看不清楚。GPT-4o在網格上的視力很糟糕,當被要求描述一個較大的網格中的內容時,它通常無法正確「看清」輸入,并陳述有關某些位置的顏色或存在的形狀的錯誤事實。
- GPT-4o不太擅長編碼(特別是對于此類幾何操作問題),并且經常犯一些簡單的錯誤,例如差一錯誤(Off-by-one error,OBOE)。
- 當上下文中的token超過32k時,其性能會下降。
消除這些非推理弱點將顯著提高解決方案的性能,而這些問題似乎很可能通過規?;╯calling)來解決。
距離ARC-AGI大獎還有多遠?
如何才能達到ARC-AGI所設定的85%的大獎目標呢?
Ryan做出了非?!笖祿沟念A測。
70% 的可能性:一個由3名頂尖ML工程師組成的團隊,通過微調GPT-4o(包括 SFT 和 RL)、1000萬美元的計算量和1年的時間,可以使用 GPT-4o 超越MTurk 85%的人類基線(簡單訓練集)。
35% 概率:在上述同等條件下,公共測試集上的概率也可達85%。目前還不清楚哪些人在測試集上的表現 >=85%,盡管這對于聰明的人來說可能并不難。
80% 的概率:下一代多模態大模型(例如 GPT-5)將能夠大幅提高 ARC-AGI 的性能。
LLM有學習能力嗎
Ryan引用了Fran?ois Chollets的一段話——
如果你是對的(LLMs可以進行情境學習),那么,LLMs在ARC謎題上會表現得很好,因為 ARC 謎題并不復雜。你不需要認真思考它,它們實際上對人類來說非常明顯。
即使是孩子也可以做到,但LLMs不能。即使 LLMs 的知識比你多100,000倍,仍然做不到。ARC唯一的特殊之處在于它的設計初衷就是為了抵制記憶。這是 LLM性能的巨大障礙。
如果仔細觀察LLMs,很明顯他們并沒有真正即時合成新程序來解決他們面臨的任務。
Ryan則認為,LLMs在進行上下文學習時實際上做了一些相關的「學習」。
盡管整體性能非常弱,遠遠不如人類(否則他就不需要在他的解決方案中抽取數千個樣本),但這仍然是一種學習。
「我的觀點并不是說GPT-4o相對于人類來說是聰明的,但我確實認為它是具有『智能』的?!?/span>