深度解讀:OpenAI o1技術原理分析及產業影響

文 | AlphaEngineer 作者 | 費斌傑 北京市青聯委員 熵簡科技CEO

距離OpenAI發佈o1模型已經過去一週,其口碑出現了明顯的兩極分化。

一種聲音認為o1的出現意味著人類距離AGI只有咫尺之遙,另一種聲音認為o1又貴又不好使,其能力表現甚至不如GPT-4。

沉澱一週後,我們結合熵簡AI團隊的研究成果,對o1的技術原理及產業影響進行詳細探討,形成了以下判斷,與各位分享。

原始報告的獲取鏈接放在文末,歡迎感興趣的朋友下載。

(1)直觀認識o1模型強大的推理能力

OpenAI於9月13日推出o1模型,在邏輯推理能力上大幅提升。

在AIME 2024數學競賽中,o1模型的準確率達到驚人的83.3%,相比之下GPT-4o的準確率只有13.4%,提升6倍。

在CodeForces代碼競賽中,o1的準確率甚至達到了89%,GPT-4o的準確率是11.0%,呈現大幅提升。

用柱狀圖來說明邏輯推理能力的提升,還不夠直觀。下面我用OpenAI官方的一個具體案例,來說明o1目前的邏輯推理能力到底達到了怎樣的水平。

這是一個「密碼破譯」的例子,給定一串密文「oyfjdnisdr rtqwainr acxz mynzbhhx」,它應該翻譯成明文「Think step by step」,請你根據以上規則,翻譯以下密文:oyekaijzdf aaptcg suaokybhai ouow aqht mynznvaatzacdfoulxxz

下圖是GPT-4o的回答,回答很工整,先「break this down step by step」,然後進行分詞,但最後無法破譯密碼,認為只給出一個案例是不夠的,希望我們給予更多提示。

接著讓我們來看o1的回答:

首先,o1對給出的問題進行分析,認為可以先檢查一下每個單詞的長度。

它敏銳的發現,密文中每個單詞的長度,和明文中每個單詞的長度之間,有著2倍的關係。

oyfjdnisdr(10個字符)-> Think(5個字符)

rtqwainr(8個字符)-> step(4個字符)

在這個基礎上,o1推測應該存在一種映射關係,使得密文中相鄰的2個字符能夠映射為明文中的1個字符,即:

oy -> T

fj -> h

那麼怎麼才能把’oy’映射到’T’呢?

針對這個問題,o1進行了多種嘗試。首先,按字母在字母表中的順序位置,可以假設o等於15,y等於25,T等於20。

o1嘗試了加法,嘗試了減法,發現都不對。

隨後o1嘗試把o和y相加,並對26求模,發現也不對。

然後o1發現,把o和y相加再除以2,正好等於T。

發現規律的時候,o1說:Wait a minute, that seems promising.

隨後,o1把這個規則用在了其他字符組上進行驗證,都成功了。

因此,o1找到了密碼破譯的規則,那就是把密文中相鄰2個字符在字母表中的位數相加併除以2,就得到了明文字符在字母表中的位置。

通過這個規則,o1把「oyekaijzdf aaptcg suaokybhai ouow aqht mynznvaatzacdfoulxxz」這串密碼成功翻譯了出來,答案是:

There are three R’s in Strawberry.

通過這個例子,我們能夠更直觀的感受o1模型強大的邏輯推理能力。

尤其值得注意的是,這種推理能力不是單純縱深式的推理,而是類似決策樹的層層遞進。遇到困難的時候,o1會做出假設,並對假設進行驗證。如果假設被證偽,它會選擇其他思路進行突破,最終得到正確答案。

相比CoT(思維鏈)而言,它更像是ToT(思維樹)的結構。

(2)o1原理猜想:RL+MCTS,將CoT能力內化

目前OpenAI官方對於o1的原理是諱莫如深的,只有一篇官方的技術報告,標題為《Learning to Reason with LLMs》。

全文不長,但其中關於o1原理的探討更少,只有一句話:Through reinforcement learning, o1 learns to hone its chain of thought and refine the strategies it uses.

先說結論,我們認為o1模型的核心在於:通過RL及MCTS,將CoT能力內化進LLM中。

在o1出現之前,CoT能力更多是一種Prompting技巧,是獨立於LLM之外存在的,而o1的價值在於將思維鏈的能力內化到了LLM中。

那麼具體而言,o1是如何做到這點的呢?為了回答這個問題,我們得參考去年關於Q*的探討。

要知道,Q*、Strawberry、o1本質上是相通的,因此去年底對Q*的解讀和分析,對於我們理解o1的工作原理是相當有幫助的。

在去年12月的時候,我們對Q*的原理做了詳細的探討和推測,具體可以參考這篇文章:

【重磅】解碼OpenAI Q*:邁向AGI的信仰之躍

在對其技術原理進行分析之前,我們先講講大模型訓練的第一性原理。

(3)大模型訓練的第一性原理

大模型訓練的第一性原理:本質上大模型的能力都來自於訓練數據,體現某方面能力的訓練數據密度越高,訓練出的大模型這方面的能力就越強。

粗略的分類,大模型的能力體現為三塊:語言表達能力、知識記憶能力、邏輯推理能力。

可以說,大模型的這三項能力的獲取和掌握,與上述的第一性原理是密不可分的。

首先來看語言表達能力。大模型的語言表達能力很強,各國語言來回翻譯很少出錯,也鮮有用戶反饋說大模型的回答存在語法錯誤,這是為什麼呢?

這是因為,隨便找一份訓練數據,裡面的每一句話都包含著語法信息。所以訓練數據中體現語言表達能力的數據密度是非常高的,這也是為何大模型的語言能力很強的原因。

再來看知識記憶能力。這是大模型的另一項重要能力,但偶爾會出現記憶錯誤,體現為幻覺現象。比如我們問大模型水滸傳108將分別有誰,大模型可能會說有武大郎。

這是因為世界知識的覆蓋面非常廣泛,雖然訓練數據體量很大,但是分散到任何專項知識的數據集就很少了。訓練數據密度低了,自然訓練出的大模型這方面的能力就弱,對專項知識的掌握就不夠紮實,體現為幻覺。

然後再來看邏輯推理能力。這次o1模型在邏輯推理能力上產生了巨大突破,那麼為什麼此前的大模型在邏輯推理能力上比較弱呢?

這是因為訓練集中包含推理過程的數據太稀疏了。

就比如現在您在看的這篇文章,本質上是我的思考結果,不是我的思考過程。

可能在未來的某一天,這篇文章會被訓練進某個大模型中,但是大模型學到的是思考的結果而已,因為我們人類並不習慣於把大腦中發生的思考過程寫成文字,一股腦都放到互聯網上。

這就導致互聯網上的海量數據中,包含推理過程的數據集非常稀疏。當我們把這樣的訓練集喂給大模型的時候,又怎麼能夠指望大模型學到強大的邏輯推理能力呢?

反過來思考,為了讓大模型獲得更強的邏輯推理能力,我們需要做的,恰恰是提供更多包含推理過程數據的訓練集。

有了這個大前提,對於Q*(也就是o1)的理解就水到渠成了。

(4)23年底關於Q*的理解:解釋微調、思維樹、過程監督

去年下半年的時候,微軟發佈了Orca系列模型。Orca模型採用了高質量合成數據進行訓練,取得了不錯的效果。

值得注意的是,在訓練Orca模型時,微軟採用了Explanation Tuning的方法,本質上是用包含推理過程的數據集對模型進行訓練。

通過在訓練集中加入推理過程數據,Orca 2這樣一個小模型,在性能上追平甚至打敗了那些比它大5-10倍體量的大模型,說明解釋微調是有效的。

去年另一項關鍵研究是ToT,即思維樹,Tree of Thought。

卡尼曼在其著作《思考,快與慢》中提到一個著名的模型,即人類的思考活動可以分為系統1的快思考和系統2的慢思考。

當被問到「2+3=?」時,人類的推理過程和LLM很相似,根據上文直接推出下文,不帶遲疑,這是系統1的快思考。

當被問到「23×68=?」時,我們無法直接得出答案,而需要在大腦中列出算式,進行乘法求解,得出答案後再填在紙上,這裡面其實隱藏了100個token左右的思考推理,這是系統2的慢思考。

絕大部分存在經濟價值的思維活動,都來源於人類的慢思考,因此如何給大模型加上慢思考的能力,是大家一直以來的追求。

慢思考有好幾種框架,有單純的CoT,有CoT+SC,也有ToT思維樹,其中ToT這種方式的普適性更強,可以和樹搜索算法相結合。

ToT這篇文章中,作者將慢思考能力用在了24點遊戲上,給出4個數字,讓大模型找到一種加減乘除的方式,讓結果等於24。

通過ToT,大模型的成功率從7.3%直接提升10倍,到了74%,取得了非常顯著的效果。

當時就有朋友質疑說,ToT這個方法對於卡牌類遊戲可能有用,但是對現實生活中的複雜任務而言,可能是沒用的。

但是別忘了,這次o1背後的核心作者之一Noam Brown之前就是專門研究撲克AI的專家,有時候智力遊戲背後的AI經驗是有著普適價值的。

去年另一篇關鍵的論文是OpenAI在5月發佈的《Let’s verify step by step》,這篇文章提出了「過程監督」的訓練方法,大幅提升了大模型的數學推理能力。

由於這是OpenAI自己發佈的文章,而且數學推理能力也是這次o1體現出來的核心能力之一,所以過程監督(PRM)大概率被用到了o1模型的訓練中。

其實PRM的原理並不難理解。如果把人類標註員類比為數學老師的話,那就是從只給結果分,變成給過程分了。

首先讓大模型對問題進行分步解答,然後標註員對回答結果按步驟給分。就算最後答案錯了,只要過程對了,還是能得到過程分的。

OpenAI發現,通過這種「給過程分」的訓練方式能夠顯著提升大模型對數學問題的推理能力。

綜合以上分析,我們判斷Q*(也就是現在的o1)其本質是通過自博弈強化學習,以及蒙地卡羅樹搜索等技術,將思維樹的推理能力,通過合成數據的形式訓練給大模型,從而大幅增加大模型邏輯推理能力。

(5)24年以來的幾篇重要論文

以上是23年底的判斷,時間轉眼來到了24年9月。

今年以來,有幾篇關鍵論文,對於我們理解o1很有幫助。

第一篇是今年5月OpenAI發表的《LLM Critics Help Catch LLM Bugs》。OpenAI基於GPT-4,訓練出了CriticGPT,一個專門給大模型找茬的模型。

人類用戶讓GPT-4寫一段python代碼,GPT-4寫出來後,讓CriticGPT對這段代碼進行反思、查錯,從而讓生成結果更加準確。

這裡面的核心思想,有點類似AlphaGo引入的自博弈強化學習。

眾所周知,AlphaGo的訓練分為兩個階段。第一階段是模仿學習,即模仿海量頂尖人類棋手的棋譜。通過這個階段的訓練,AlphaGo成長得很快,但依然無法超過人類最強者。

隨後DeepMind團隊引入了第二階段的訓練,即自博弈強化學習。在AlphaGo基礎模型之上,分化出兩個孿生模型互相博弈。

通過引入自博弈強化學習,AlphaGo只通過短短40天的訓練,就超過了人類最強棋手,進入無人能夠企及的領域。

第二篇重要論文是由Google團隊於今年6月發表的,題為《Chain of Thought Empowers Transformers to Solve Inherently Serial Problems》。

這篇文章從理論角度,說明了Transformer擅長並行計算,但並不擅長串行推理。而通過把CoT能力加入到模型中,能夠有效增加Transformer模型處理串行複雜任務的能力。

進一步來看,通過Circuit Complexity Theory,作者證明只要CoT的步驟足夠多,GPT模型就能夠模擬任意大小的布爾電路。

布爾電路,就是由與或非門構成的邏輯電路。如果一個模型能夠模擬任意大小的布爾電路,那麼就能在多項式複雜度內解決所有決策類問題。這對把CoT能力內化到LLM中來說,是一個很強的理論支撐。

第三篇重要論文,是由Google DeepMind團隊於今年8月發表的,題為《Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters》。

這篇文章通過實驗證明,為了增加大模型的性能,與其去scaling up訓練算力,不如scaling up推理算力。通過增加推理算力,能夠讓小模型勝過比它大14倍體量的大模型。

今年的這些重要研究,本質上和OpenAI o1模型的技術路徑是高度吻合的。

在OpenAI官方披露的材料中,提到有兩種方式能有效提升o1模型的推理性能,一種是增加強化學習時的訓練算力,另一種則是增加推理時用的測試算力。

o1模型的主創之一Jason Wei(他也是CoT的發明人)就提出,在歷史上人們只聚焦於scaling up訓練算力,現在通過把CoT能力內化進大模型,我們可以有抓手來scaling up推理算力了。這意味著存在一個全新的維度,能夠有效提升大模型的推理能力。

(6)o1模型的不足之處

o1模型的推出,帶來的是兩極分化的口碑。

一種聲音認為o1的出現意味著人類距離AGI只有咫尺之遙,多見於自媒體。

另一種聲音認為o1又貴又不好使,其能力表現甚至不如GPT-4。

這裏給出我們的判斷:o1代表著一個新的提升大模型推理能力的維度,有著較高的價值,但目前距離AGI依然有較大距離。

首先來看這個例子,Jifan Zhang構建了一個數據集叫做《Funny Caption Ranking》,就是從紐約時報中把漫畫圖拿出來,讓AI來取搞笑標題,交由人類進行評分。

結果顯示,o1取出的標題,往往沒那麼有趣,評分甚至不如GPT-4,因此作者認為o1的性能並沒有大家說得這麼好。

我認為這個論斷有失偏頗。就像我們人類也有不同的性格特徵,考察一個數學博士的幽默感,未必合理。

OpenAI在官方文檔中也提到了這點。o1模型在「reasoning-heavy」類問題中,表現得更加出色,比如數據分析、寫代碼、做數學題。

但是如果在普通的文本類問題中,o1的表現結果在人類看來,和GPT-4差不多。因此,這個案例中o1表現不佳,是可以理解的。

但是下一個案例中o1的表現,就值得我們重視了。

ARC-AGI是由Google的AI學者François Chollet構建的,他認為目前市面上對AGI的定義是模糊不清的,而真正的AGI應該是:一個能夠有效掌握新技能,並解決開放域問題的系統。

根據這一定義,他創造了ARC-AGI測試集,專門測試各種AI模型是否真正意義上達到了AGI。

其測試題如下,給出幾個圖例,讓AI從中尋找規則,然後在右邊的圖中給出答案。對於我們人類而言,從中尋找出規則並不困難。比如在左邊的圖中,應該在紅色的色塊邊上長出4個黃色色塊,在藍色色塊的上下左右長出4個橙色色塊,而對於淺藍色和紫色色塊而言,不做變化;再比如右邊的圖中,應該對輸入色塊施加向下的重力,得到輸出結果。

但是對AI來說,要總結出這樣的規則,並且推理出準確的答案,並非易事。

根據測評結果,o1模型的一次通過率為21%,相比GPT-4的9%確實有了明顯的提升,但是只和Claude Sonnet 3.5打和,並且距離AGI 85%的門檻,還有不短的距離。

這也說明,o1目前雖然在邏輯推理能力上前進了一大步,但是人類還需要經過更加深入的探索,才能不斷逼近AGI的目標。

(7)o1帶來的影響與啟示

最後來探討一下OpenAI o1模型給整個行業帶來的影響與啟示。

首先,邏輯推理能力一直以來都是AI的皇冠,也是目前製約Agent落地的核心障礙。

經過一年多時間的發展,AI Agent一直處於叫好不叫座的狀態,因為落地效果不夠好。

一個Agent往往涉及多個大模型推理的串並聯,如果每次推理的準確率是90%,那麼連續10次推理後,成功率是0.9^10 = 34.8%,慘不忍睹。

因此,Agent要想落地,關鍵在於把每次推理的準確率從90%提升到99%以上,這就涉及到大模型的邏輯推理能力。

o1模型最大的價值在於,它證明了通過RL+MCTS,是可以有效增加LLM邏輯推理能力的。OpenAI就像是一站行業明燈,為產業指明了一條新的方向,這條方向的潛力尚未被充分挖掘,值得投入資源探索。

與此同時,o1本質上是算法及數據的創新,對訓練算力的依賴度較低,因此對國內AI公司而言是一個利好。

o1帶來的第二個影響在於,提示詞工程的重要性在未來可能會快速下降。

在過去一年中,湧現出了大量提示詞工程技巧,比如讓大模型進行角色扮演,或者對大模型說「你如果回答得好,就給你小費,回答得不好,就給你懲罰」。

通過這些提示詞技巧,能夠有效增加大模型回答的效果。

但是在未來,我們只需要給大模型提出「準確、清晰、簡短有力」的問題,讓大模型進行慢思考即可。

過去一年中,不少國內的企業在提示詞工程方面下了不少功夫,建設系統,這方面的投入在未來可能是沒有太大意義的。

隨著提示詞工程變得越來越不重要,未來智能體會發揮越來越大的價值,值得重視。

o1帶來的第三個影響,也是目前市場並未形成共識的一點,就是:o1模型的背後存在真正意義上的數據飛輪。

OpenAI目前公開的o1模型,在使用的時候,把原始的CoT思維過程隱藏起來了。

根據官方的說法,這麼做的原因是為了提升用戶體驗。但我們認為更主要的原因,是為了保護o1模型產生的數據飛輪。

說到數據飛輪,上一代以ChatGPT為代表的GPT系列模型其實並沒有產生數據飛輪效應。

海量用戶的使用,並沒有讓OpenAI積累到足以訓練出下一代模型的優質數據,從而擴大競爭優勢。相反,一年之後Anthropic、Cohere、Mistral都已經開始接近甚至追平了OpenAI的模型性能。

但是o1模型不太一樣。假設一個用戶使用o1模型來編寫代碼或者做數學題。無論代碼還是數學,都有一個共性特點,那就是「對就是對,錯就是錯」,是一個0-1問題。

如果o1模型回答的結果是正確的,那麼其推理過程大概率也是正確的。

而一個能夠推導出正確結果的推理過程數據,恰恰是目前AI行業最稀缺的優質資源。

如果OpenAI能夠善用o1所帶來的數據飛輪,將會對其訓練下一代o2、o3模型帶來巨大幫助。

最後,給出OpenAI o1模型的主創團隊清單,除了大名鼎鼎的Ilya之外,還有不少新面孔。

如果大家對於o1模型的技術原理,以及其未來的發展感興趣的話,非常建議大家去關注他們的帳號,這才是真正高質量的一手研究資源。