我感興趣的問題是,我們能否預測這些模型將解決哪些類型的問題。是什麼讓一個問題對大型語言模型(LLM)來說變得容易處理,以及這些解決方案有何共通之處?如果 AI 解決問題的方式與人類不同,找出這些差異應該有助於我們決定將其應用於何處。關於「單位距離反證」的討論最為豐富,所以我們就從這裡開始。
問題複雜度:這裡有一個簡單的心智模型。要解決任何給定的問題,你需要一系列的提示或洞見,並在這些提示之間投入工作。這驚人地適用於簡單的日常問題,也適用於廣義相對論等複雜概念。這個序列看起來像這樣:洞見 → 時間/精力 → 洞見 → 時間/精力 → 解決方案。專家會比新手需要更少的提示,因為他們擁有更多的背景知識。
WT Gowers 在他對單位距離證明的評論中,使用了類似的想法:證明難度是讓專家能夠重構它的最短提示序列。他稱之為「專家模組下的柯爾莫哥洛夫複雜度」。對於單位距離問題,他的提示序列有三個部分:尋找反例;採用已知最佳建構並將其推廣;嘗試遞增次數的數域,但處理有界範數的素理想。
Gowers 提出的複雜度公式是 2^k + t,其中 k 是最短提示序列的長度,t 是發展它所需的工作量。這是一種看起來嚴謹的公式,直到你試圖將數字代入其中,這或多或少就是重點。複雜度隨著解決問題所需的洞見數量呈指數增長。大多數問題解決是在這些洞見之間的工作。
你會有一個靈光乍現的時刻,然後花數月時間發展這個提示,直到另一個概念上的跳躍成為可能。對於專家來說,花費的時間是這項工作的有用代理,因此是 t。即使你把第一個單位距離提示交給某人,他們仍然需要做足夠的工作才能達到推廣的建構。
這很有用,但屬於事後分析。你無法僅憑問題本身就預測它需要多少個提示。因此,問題的歷史、嘗試次數以及附帶的獎勵,是衡量其難度的常用代理。
給定提示的特性:一個典型的洞見會改變問題的表述。問題的呈現和理解都會改變。有兩件事決定了一個提示的價值:它之前看起來有多麼不可能,以及在提供提示後它看起來有多麼顯而易見。這比人們意識到的要難。在單位距離問題中,許多專家不認為反例是可能的。它在序列中的位置:提示是有序的。
第三個提示只有在前兩個提示的工作取得足夠進展,使其變得可操作之後才有用。這擊敗了列出數千種數學技術並嘗試所有組合的幼稚暴力破解法。提示序列會遍歷一棵樹。初始洞見會改變問題並揭示後續的選擇。
人類解決問題採用廣度優先搜尋。結合 k 和 t,你就會得到人類的搜尋模式。產生候選方向,淺層探索,放棄大部分,然後專注於少數幾個。如果一個有潛力的方向早期沒有給予足夠的鼓勵,就會被放棄。這是一個人類的限制:發展一個想法可能需要數月。在投入之前,研究人員需要有理由相信它會有所成果:概念上的潛力、早期結果,或類似問題的經驗。
發現結果所需時間越長,嘗試該想法的門檻就越高。大多數研究軟體旨在透過自動化繁瑣、機械、重複的工作來縮短這個時間。AI 將其縮短到足以讓搜尋模式本身發生翻轉,所有後續流程都隨之而來。
AI 與複雜度:首先是 t。模型投入的精力相當於運算資源和 tokens,可用於單一軌跡(測試時運算)或分散給多個平行代理(平行測試時運算)。預訓練也提供了人類研究者需要查找或重構的知識。沒有任何單一專家能掌握所有過往發展,因此他們偶爾會重複已完成的工作。
更大的不同在於模型的搜尋方式:大型語言模型(LLM)採用深度優先搜尋。給模型一個提示詞,它會給你一個解決方案,可能正確也可能不正確。要求證明,它會給你一個接近良好證明的內容。這些模型的 CoT(思維鏈)也以貪婪的深度優先方式運行,且此過程可擴展。
給平行代理十種方法,你會得到十個朝向結論發展的嘗試,可能各不相同或有所重疊。每個嘗試要麼遇到障礙,要麼產生看似正確的論證。若無人干預,這會導致許多漂亮的錯誤證明。這看似浪費運算資源,直到加入自動驗證器,它能修剪已完成的軌跡並識別正確的。有了這個檢查器,現在投入大量運算資源在不確定的想法上變得合理,因為你能在幾分鐘內知道一個想法是否可行。但問題是,驗證器只能判斷已完成的論證,無法判斷一個半成品想法是否有前途。
對比之下,如果你能在五分鐘內知道一個提示是否有效,那麼這個提示需要多好?對人類而言,品質門檻很高,因為追隨一個提示可能需要數月工作。對模型而言,這個門檻幾乎消失了。提示可以是普通的、難以置信的,甚至是未成形的。追隨它就能確定它是否可行。LLM 讓我們能用運算資源換取時間,並在更短的時間內解決更多問題。
失敗的嘗試對 LLM 來說也是提示。模型不需要明確的方向就能開始。預訓練已賦予它關於問題歷史和過往嘗試的先驗知識。每個錯誤的解決方案都可以作為負面提示回饋給模型,用於下一次迭代。系統會累積關於哪些方法失敗以及為何失敗的指令。大致上,一個協調系統(harness)包含:起草者(Drafter)根據模型先驗知識編寫提示詞給求解模型,並修正先前運行的錯誤,同時考慮所有無效的潛在路徑(這些是負面提示)。
求解器(Solver)接收提示詞並提出一個或多個候選解決方案,可運行多個子代理並利用平行測試時運算探索不同路徑。驗證器/檢查器(Verifier/Checker)則檢查論證是否有效並確立所需的結果。
例如,考慮這個 CDC 提示詞:「假設此任務存在一個完整的肯定證明。」這能防止模型將預訓練中學到的問題開放狀態視為停止理由。「特別是,針對特殊圖類別的證明、某些邊覆蓋次數非兩次的循環覆蓋建構、有界長度或指定循環變體、歸約到另一個未經證實的猜想、透過任何固定圖大小的計算驗證,以及沒有完整不存在證明書的候選反例,都是不充分的。」
這排除了解決實際問題的替代方案。「全程使用對抗性代理:每個候選證明都必須檢查是否具有精確的二重性、偽裝成循環的重複邊閉合路徑、平行邊的二循環、非連通圖、由歸約引入的割點和橋,以及等效 CDC 陳述的循環使用。」這些是已編目的失敗模式,被提升為常規檢查。
此外,還有一行是針對「習得性懶惰」:「不要僅僅因為當前方法失敗或代理報告定理級別的差距就返回。」OpenAI 可能進行了多輪嘗試,起草者記錄了錯誤和失敗的想法,並引導下一次迭代避開這些問題。這些指令中的每一行都是一個失敗的路徑,被寫成指示。
重構單位距離證明與 Tsimerman 的工作:讓我們透過協調系統的角度重新審視 Gowers 的三個提示:提示一:尋找反例。這確實很困難,因為學術界和模型的預訓練先驗知識都認為該猜想為真。起草者最有可能是在求解器在追求證明時不斷失敗後才提出此提示。這種框架阻止模型將公認的觀點視為必須追求的方向。每一次失敗的嘗試都讓反例的可能性增加一點。
提示二:採用已知最佳建構並將其推廣。這最接近社群的先驗知識,是標準做法。實質工作是將推廣發展到足以發現其允許的範圍,這是「大 t」步驟。但請注意,這是反例的推廣,而幾乎沒有人尋找反例。
提示三:嘗試遞增次數的數域。一旦前兩個提示建立了適用空間,這就是標準工具。順序很重要。如果從提示三開始,你甚至不知道這項練習是反證。如果跳過推廣建構,提示三就無從作用。即使有了這三個提示,所需努力仍然巨大。事後看來,反例提示顯而易見,這讓人好奇為何沒人嘗試。
事實上,確實有人嘗試過。最近被 OpenAI 聘用的 Jacob Tsimerman 就曾研究反例。他精通數論,甚至考慮過遞增次數,但他最終放棄了。尋找反例是第一個洞見,但那只是開始。阻止他的不是缺乏技能,而是一種非常理智的感覺,就像一個人深入沼澤數週卻沒有任何證據表明它有另一邊。
他自己的話是:「這是一個非常可怕的動態,很難思考分析機制並保持指導直覺,耗費大量時間且經常沒有結果。」
心理學早在數十年前就發現了問題解決的人性面:Metcalfe 和 Wiebe 每隔十五秒詢問解決者感覺離答案有多近,在一般問題上,他們報告的進度感會逐漸上升。但在洞見型問題上,這種感覺一直保持平坦,直到他們找到答案。他們沒有任何進度感來維持搜尋。
洞見型問題沒有梯度,你不知道自己離答案有多近,直到你解決它。因此,專家的問題有兩方面:是否有人會進入該分支(提示),以及進入後,他們是否能堅持足夠長的時間讓普通能力完成工作?堅持下去的代價是工作記憶、士氣和職業生涯。而堅持一條所有已知專家都認為錯誤的道路,則會加劇這三方面的代價。對於 LLM 來說,這是一個巨大的優勢。
Arul Shankar 表示:「模型很快地嘗試了各種想法,但當它達到關鍵想法(從『樂觀地假設...』那段開始)時,它非常系統地專注於證明。」這歸結為兩個問題:一個問題需要多少洞見,以及在這些洞見之間需要多少工作才能判斷一個方向是否值得?Tsimerman 闡述了 AI 的優勢:「這可能表明 AI 系統的一個優勢:它們不僅能嘗試所有已知方法,而且能在比數學家更長時間、更險惡的環境中堅持下去,而不會感到不知所措。當然,這目前還不完全穩健,但這可能是一個預兆。」
其他證明:OpenAI 對 Navier-Stokes 方程的證明也展示了相同的過程。粗略閱讀後發現,它完成了 Córdoba 和 Martínez-Zoroa 的工作。該證明長達 166 頁,包含許多修正和複雜的數學,但在概念跳躍方面並不多。
Anthropic 關於費馬和黎曼的工作也附有豐富的評論,並顯示出相同的骨架:數百個失敗的想法、一個協調器下的多個代理、隨處可見的腳本和檢查器,以及少數幾個承擔主要負荷的概念性飛躍。今年模型有何變化?三種特定能力疊加起來,推動了這些證明。模型現在擅長連結基本操作。