o1開啟LLM新范式,Ai2科學家解析背后秘籍:推理和強化學習是關鍵
關注NLP領域的人們,一定好奇「語言模型能做什么?」「什么是o1?」「為什么思維鏈有效?」
圖片
在NeurIPS的Latent Space非官方Industry Track上,Ai2研究科學家Nathan Lambert發表相關演講,直接回答語言模型能否推理,以及o1和強化微調 (RFT) API給大家的啟發。
演講內容亮點摘要:
- 2025年,推理語言模型(Reasoning Language Models,RLMs)將取代后訓練;強化學習訓練不是后訓練。
- 我們正在看到一些新的語言模型推理形式,它們看起來不像人類的推理方式。
- 當o1推理時,本質上就是不斷地輸出token,而token流則相當于某種中間狀態。
- o1本質上是大規模的預訓練強化學習,而且規模極大。
- 我們正在探索模型中應用思維鏈的邊界。
- 強化學習微調會多次處理數據, 這就是只需要幾十個token樣本就能實現有效學習的秘訣。
- 評估器模型起源于模型評估領域,并將成為開放強化學習基礎設施的一部分。
Nathan Lambert在Interconnects上發文表示:在2025年,后訓練(post-training)、推理(reasoning)和推理時計算(inference-time compute)三大主題仍然會相互交織,但OpenAI的o1系列模型的強化學習訓練不是后訓練。
圖片
視頻和原文地址:https://www.interconnects.ai/p/the-state-of-reasoning
什么是推理(reasoning)?
「現在,推理被顛覆為一種方法,而不是一個領域。」
這被稱為「推理的現狀」。
這次演講絕不是全面的調查,因為推理有許多爭論,而我們需要重新審視一下非常基礎的定義。
推理:以一種邏輯和理智的方式思考某件事情的行為。
而這是字典上的定義,即以合乎邏輯、合乎情理的方式思考某件事情的行為。目前,我們可以勉強同意這個足夠模糊的定義。
正如這次討論中將會看到的,對于「語言模型是否進行推理」這個問題,人們正逐漸失去理性。
我們以前在通用人工智能(AGI)中見過這種情況。
現在,推理看起來好像和AGI是同一回事,這相當荒謬,因為推理是非常通用的技能,而且之后會有更多的理由或證據來證明,向語言模型提問時,它們的確在進行某種形式的推理。
語言模型能否推理?
關于語言模型沒有做推理的論點太多了,但這些論點本身并不成立。
圖片
然而,這個問題確實很棘手。確實有一些非常有說服力的論點認為推理并不是語言模型應追求的方向,因為語言模型在這方面不可能像人類一樣出色。
但要說它們不能進行推理,也沒有什么證據。問題是,為什么語言模型的推理能力必須看起來像人類的推理方式呢?
圖片
語言模型和人腦非常不同,并且它們有隨機性。這種隨機性存在的原因有很多,我們應該接受這一點,并繼續推動研究。今年一個重要的趨勢是,我們正在看到新的語言模型推理形式,它們看起來不像人類的推理方式。
圖片
Lambert回憶,他與時任Meta推理負責人的Ross Taylor進行過一次談話,這是一次非常寶貴的學習經歷。這段話(見上圖)直接摘自訪談記錄。
這些內容的本質可以概括為一句話:如果在語言模型上使用思維鏈,實際上它不過是在輸出中間步驟。
如果現在向大家提出一個數學問題,大家可以在腦海中完成大部分計算,同時存儲一些中間變量。但語言模型并沒有這種能力。它們更像是逐個計算token的設備,也就是說每個token輸出前必須向前傳遞。
在這個過程中,并沒有專門的結構來存儲這些中間狀態。所以,語言模型接受思維鏈及中間值非常合理,這表明它們在做真正產生價值的工作。
Ross Taylor
這就像是引導o1的許多方式之一,即語言模型天生有隨機性。
在語言模型的推理中,很多人看到的失敗,實際上只是模型按照死板的鏈條推理而犯了非常具體的錯誤。但模型沒有能力在之后改正這些錯誤。
而人類并不是這樣推理的。如果是人類,通常會在下一步意識到并糾正錯誤。但我們需要用不同的方式來處理語言模型。
o1和它的「親戚」
o1之所以令人興奮,是因為它是一種新類型的語言模型,它充分利用「推理」這一觀念。也就是說,思維鏈和前向token流可以大大提高結果的質量。
當在需要某種推理能力或動作時,本質上就是不斷地輸出token,以推動某個智能任務的進展。所以,它通過增加計算消耗來向前傳遞,而token流則相當于某種中間狀態。
o1自發布以來一直廣受爭議,但促使Lambert思考更久的是:我們應該根據模型的實際表現來評判它們,特別是在大規模強化學習(RL)和驗證結果這兩方面,尤其是在發布了強化學習API背景下。
然而,許多人支持更復雜的方法,如過程獎勵、模型、自我博弈、蒙特卡羅樹搜索,但主要理由是基于以前的文獻和對高級推理在語言模型中的期待,而非基于他們提供的證據或行為,不管是通過評估結果,還是通過模型實際推理時的表現。
圖片
這就引出了模型的復制品,可以說它們是o1的「親戚」模型。這些模型來自社區,而且昭示了一個令人振奮的事實:我們正在探索模型中應用思維鏈的邊界。
Lambert要強調的一下來自Deep Seek和QwQ的模型。我認為這些模型相比于完整的OpenAI o1模型,其應用范圍的局限性要大得多。使用o1模型可以處理更多任務。
DeepSeek是為數學或代碼任務而設計的,但這類模型應用范圍限制得太死,以至于即便在范圍內,如果你問它一個代碼問題,它有時甚至會回答:「我只應該處理數學或代碼問題。」 o1以及未來類似模型的成功,關鍵在于能否處理更多領域或類型的任務。
什么是o1模型?
圖片
SemiAnalysis曾發表一篇文章,即便只看標題,也能對o1的定義或特性做一些推測。
目錄中的兩個要點已經提供了一些信息:訓練過程中大量的前向計算,以及超越預訓練的后訓練計算量。
訓練過程中大量的前向計算
當在進行RL時,有兩種方式可以多次查看數據,從而導致多次前向計算。
第一種方式是,當針對提示進行RL時,可以采樣多個補全(completion)版本,然后對它們進行評分,或者用不同的方式利用它們來更新策略。所以,如果問一個數學問題,可以查看八個補全(completion)版本,選擇最好的,或者對比最差和最好的,這種分級方式有助于強化學習策略的學習。
第二種方式是,因為損失函數比指令微調之類的方式更靈活,可以在相同的提示上進行更多的訓練,而不像指令微調或預訓練那樣只訓練少量樣本。這意味著他們從模型中進行了大量采樣,這與過去在預訓練和后訓練完全不同。
后訓練比預訓練計算量大
接下來,有個亮點:后訓練的浮點運算量(flops)超過了預訓練。Lambert認為這基本上明確表明OpenAI正在使用強化學習,并且為這種大規模強化學習投入了大量計算資源。
而在這一階段,這可能意味著某種不同的方式,比如預訓練強化學習。但o1的「親戚」模型目前還做不到,因為沒有哪個團隊像OpenAI一樣擁有如此多的基礎設施。這需要時間,但人們終會實現它。
強化學習微調
現在我們進入了強化學習(RL)微調的討論。
圖片
圖片來源:https://openai.com/form/rft-research-program/
這是討論中的重要轉折點,因為o1本質上是大規模的預訓練RL,屬于極大規模的RL。
不過,我們目前并不清楚OpenAI的這個新Beta API項目的數據的所有細節,它只是整體基礎設施的一小部分。
那么,利用少量的基礎設施能實現什么呢?
微調負責人曾回復過Swyx的推文。這條推文雖然簡短,但透露出很多有價值的信息。例如,這個API使用的基礎設施和訓練o1的一模一樣。僅這一點就能說明很多問題了。
Lambert表示,他對特定方面的應用持樂觀態度,特別是在答案質量比文本風格更重要的情況下。
就像之前提到的o1,這種強化學習微調會多次處理數據。這也是為什么他們聲稱只需要幾十個token樣本就能實現有效學習的原因。
這種方式與以往的訓練方法完全不同。
具體來說,模型在答案正確時會獲得獎勵,模型學會強化那些能給出正確答案的行為。
進行強化學習,并在答案正確時給予獎勵,這就是全部過程。
其關鍵創新和簡潔之處在于,現代語言模型已經具備了足夠強大的基礎,因此僅通過輕微的強化學習微調,就能增強這些特定能力,而不削弱模型的其他功能。
很多人擔心將強化學習引入訓練過程中。
但對于像ChatGPT這樣的通用指令模型,最大的難題是這種方法會破壞模型在其他任務上的表現,尤其是聊天能力。
但從目前來看,這種方法似乎是可以開箱即用的。
即便OpenAI允許開放API,也不會允許讓用戶訓練出在其他任務上表現變差的模型。
數據格式
強化學習微調的數據格式如下圖所示,本質上由兩部分組成:提示和答案。
圖片
這與訓練時常見的提示和補全(completion)方式不同。如果做偏好微調,要用到一個提示,一個選定的補全(completion)和一個被拒絕的補全。所以這可能是一種新的數據格式。很快,會看到像HuggingFace這樣的平臺出現更多類似的內容。
圖片
舉一個項目中的實際例子。屏幕上的數學題就是一個精確指令跟隨的例子,意思是,如果有個提示,比如說要求每個句子都以字母A開頭。用Python可以很輕松地驗證這一點。這正是Ai2在項目中做的事情。模型在這個任務上表現得越來越好。給定了約束數據,強化學習算法學會微調模型,并最終能夠達到這些正確答案。
評分器模型
對許多人來說,這些評分器模型有點讓人迷惑。
圖片
Lambert認為,這些模型起源于評估。
評估領域做了大量工作,特別是為了保證答案提取的穩定性,尤其是數學題。
舉個例子,Lama 3.1詳細描述了他們的評估方法。在數學題中,他們同時使用了SymPy,這是一個用于提取答案的Python包,以及LLM,它作為判斷工具來提取數學答案。
評分器的作用本質上是將這一過程擴展到全新的層次,建立了嵌套的配置結構,用于對這些可驗證的輸出進行獎勵塑造。
對于數學問題,這其實相對容易,你只需要處理五種格式,用來表示不同的數字和符號。
但OpenAI似乎暗示,當問題變得更加復雜時,要處理這些領域的問題,不僅僅需要簡單的「是/否」損失函數。
實際上,已經有很多開源模型,它們在做類似的工作,比如模型評判(judgement)和Prometheus等工具,這些工具就是用LLM作為評判工具。Lambert認為這一趨勢將繼續成為這種開放強化學習基礎設施的一部分。
OpenAI的實踐
OpenAI有一堆截圖,雖然只是他們用來做展示的內容而已,但看起來還是比較標準的。這些截圖跟蹤了性能隨時間的變化。能夠查看所有的輸出結果。
圖片
接下來,他們有一個非常通用的強化學習(RL)圖表。最標準的RL圖表通常是X軸表示時間或試驗次數,Y軸表示獎勵。在這個圖表中,獎勵通常指的是在某個驗證集上的準確度或成功率。X軸實際上表示的是訓練的進度。
這個圖表與Ai2在項目中所做的非常相似,這也是表達RL反饋圖的另一種方式。
圖片
開源工具
如果見過RL相關的圖示,你會看到一個智能體與環境交互的模型。如果你沒接觸過這類圖示,隨著RL越來越流行,接觸到類似內容的可能性也越來越大,因為RL本質上是基于試錯學習的。
Lambert表示,歡迎大家使用Ai2發布的代碼。它已經能夠處理數學和部分指令微調任務。而且它們打算嘗試設計更復雜的評分器,以便處理代碼這樣的任務, 因為使用二元結果來評判代碼質量并不合適。
這也是很好的思路,能幫你理解為什么在評定不同模型輸出時,可能需要進行一些獎勵塑造(reward shaping)。此外,這也可以與OpenAI展示的圖表做對比,后者展示了性能隨時間的提升。
項目地址:https://github.com/allenai/open-instruct
上圖是在不同評估上進行的實驗。左側列展示的是在學術論文中會使用的語言模型評估方式,而右側則展示了各種內部的強化學習(RL)統計數據,其中如GSMAK數學和IFVL都在訓練集上進行訓練。
根據Lambert的描述,這個項目的契機也很有趣:幾個月前,它們從某工業實驗室成員那里獲得了建議,提前做了這項實驗,因此搶占了先機。相信現在很多人會嘗試復制這個實驗。
Nathan Lambert簡介
2022年,他于在加州大學伯克利分校取得電氣工程與計算機科學博士學位。
2024年,他曾獲得ACL最佳主題論文獎以及ACL最佳資源論文獎。
目前, 他的谷歌總引用數為3459,但增長速度驚人:2024年比2023年翻了一番。