圖解什麼是推理模型

DeepSeek-R1、OpenAI o3-mini 與谷歌 Gemini 2.0 Flash Thinking 這三大模型,通過 "推理架構" 將大語言模型的能力推向了新高度。它們標誌着人工智能領域正經歷一場根本性變革——從依賴訓練資源擴展轉向測試階段計算能力的突破。

本文將通過 40 餘幅定製可視化圖表,帶您深入理解推理型大語言模型的核心原理、測試時計算機制,並重點剖析 DeepSeek-R1 的技術突破。我們將循序漸進地解析這些概念,助您建立對這一技術革命的直觀認知。

什麼是推理型大語言模型?

相較於傳統模型,推理型大語言模型在回答問題前會將問題拆解爲更小的推理步驟(即思維鏈過程)。這種結構化思考方式讓模型不再機械輸出答案,而是學會 "如何思考"。

那麼,"思考過程"、"推理步驟" 或 "思維鏈" 實際上是什麼意思呢?雖然學術界仍在探討大語言模型是否具備人類式思維 ¹,但這些推理步驟通過結構化拆解顯著提升了模型的問題解決能力。

本質上,這類模型的學習目標發生了根本轉變:從單純學習 "回答內容" 進階到掌握 "思考方法"。爲了理解推理型大語言模型是如何創建的,我們首先探討從專注於擴展訓練(訓練時計算)到推理(測試時計算)的範式轉變。

訓練時計算的侷限性

截至 2024 年上半年,提升模型性能主要依賴三大要素:

這些統稱爲 "訓練時計算",其核心邏輯是 "數據即 AI 的化石燃料"。但正如石油開採會遭遇瓶頸,這種範式也面臨邊際效益遞減的困境。

訓練時計算可能包括訓練期間以及微調期間所需的計算能力。

這些一直是提高大語言模型性能的主要關注點。

擴展定律的啓示

模型規模(通過計算能力、數據集大小和模型大小)如何與模型性能相關聯,是通過各種擴展法則進行研究的。

這些是所謂的 "冪律",其中一個變量(如計算能力)的增加會導致另一個變量(如性能)的成比例變化。

這些通常在對數 - 對數尺度上顯示(導致直線),以展示計算能力的大幅增加。最著名的是 "Kaplan"² 和 "Chinchilla"³ 擴展法則。這些法則或多或少地表明,模型的性能將隨着更多的計算能力、token 和參數而提高。

"神經語言模型的擴展法則" 論文的註釋圖。它展示了性能如何隨着不同的計算度量(更長的訓練、數據集大小和參數大小)而增加。

它們表明,這三個因素必須協同擴展才能獲得最佳性能。Kaplan 的擴展法則指出,擴展模型大小通常比擴展數據更有效(在固定計算能力的情況下)。相比之下,Chinchilla 擴展法則建議模型大小和數據同等重要。然而,在 2024 年期間,計算能力、數據集大小和模型參數都穩步增長,但收益顯示出遞減回報。

就像這些冪律一樣,隨着規模擴大,收益遞減。這引發了一個問題:"我們是否已經觸及了瓶頸?"

測試時計算的崛起

當訓練資源競賽陷入瓶頸,行業目光轉向 "測試時計算"——讓模型在推理階段進行深度思考。這種範式突破的核心在於:允許模型通過生成更多中間推理步驟來提升答案質量。

對於非推理型模型,它通常只會輸出答案並跳過任何 "推理" 步驟:

而推理型模型則會使用更多的 token 通過系統化的 "思考" 過程推導出答案:

這個想法是,大語言模型必須花費資源(如 VRAM 計算能力)來創建答案。然而,如果所有計算能力都用於生成答案,那麼這有點低效!相反,通過提前創建包含額外信息、關係和新思想的更多 token,模型花費更多計算能力來生成最終答案。

新擴展定律的誕生

與訓練時計算相比,測試時計算的擴展法則相對較新。值得注意的是兩個有趣的來源,它們將測試時計算擴展與訓練時計算相關聯。

首先,OpenAI 的一篇文章展示了測試時計算可能實際上遵循與擴展訓練時計算相同的趨勢。

來自 "使用大語言模型學習推理" 的註釋圖。添加了紅色虛線以演示 OpenAI 如何建議新範式可能是測試時計算。

因此,他們聲稱可能會出現向擴展測試時計算的範式轉變,因爲它仍然是一個新領域。其次,一篇名爲 "使用棋盤遊戲擴展擴展法則"⁴的有趣論文,探討了 AlphaZero 並將其訓練到各種程度的計算能力以玩 Hex 遊戲。

來自 "使用棋盤遊戲擴展擴展法則" 的註釋圖。它展示了他們如何構建不同程度的訓練時計算和測試時計算。

他們的結果表明,訓練時計算和測試時計算密切相關。每條虛線展示了達到特定 ELO 分數所需的最小計算能力。

來自 "使用棋盤遊戲擴展擴展法則" 的註釋圖。它展示了訓練時計算和測試時計算之間的關係。

隨着測試時計算像訓練時計算一樣擴展,正在出現一種向使用更多測試時計算的 "推理" 模型的範式轉變。通過這種範式轉變,不再僅關注訓練時計算(預訓練和微調),這些 "推理" 模型轉而平衡訓練和推理。

測試時計算甚至可以在長度上擴展:

長度擴展是我們在深入研究 DeepSeek-R1 時也將探索的內容!

測試時計算技術全景

推理型模型如 DeepSeek R-1 和 OpenAI o1 的驚人成功表明,除了簡單地思考 "更長時間" 外,還有更多技術。

正如我們將探索的,測試時計算可以是許多不同的東西,包括思維鏈、修改答案、回溯、採樣等。

這些大致可以分爲兩類⁵:

因此,搜索對驗證器是以輸出爲中心的,而修改提議分佈是以輸入爲中心的。

我們將探索兩種類型的驗證器:

顧名思義,ORM 只判斷結果,不關心底層過程:

相比之下,PRM 也判斷導致結果的過程("推理"):

爲了使這些推理步驟更加明確:

注意步驟 2 是一個糟糕的推理步驟,被 PRM 評分較低!

現在您對 ORM 與 PRM 有了很好的理解,讓我們探索它們如何應用於各種驗證技術!

搜索對驗證器

測試時計算的第一個主要類別是搜索對驗證器。這通常涉及兩個步驟。

首先,創建多個推理過程和答案樣本。

其次,驗證器(獎勵模型)對生成的輸出進行評分。

驗證器通常是一個大語言模型,經過微調用於判斷結果(ORM)或過程(PRM)。

使用驗證器的一個主要優勢是,不需要重新訓練或微調用於回答問題的大語言模型。

多數投票

最直接的方法實際上不是使用獎勵模型或驗證器,而是執行多數投票。

我們讓模型生成多個答案,生成最頻繁的答案將作爲最終答案。

這種方法也稱爲自一致性⁶,作爲強調需要生成多個答案和推理步驟的方式。

最佳 N 個樣本

涉及驗證器的第一種方法稱爲最佳 N 個樣本。該技術生成 N 個樣本,然後使用驗證器(結果獎勵模型)來判斷每個答案:

首先,大語言模型(通常稱爲提議者)使用高溫度或變化的溫度生成多個答案。

其次,每個答案通過輸出獎勵模型(ORM)並根據答案質量得分。選擇得分最高的答案:

除了判斷答案外,推理過程也可能由過程獎勵模型(PRM)判斷,評估每個推理步驟的質量。它將選擇總權重最高的候選項:

對於這兩種驗證器類型,我們也可以通過 RM 對每個答案候選項加權,並選擇總權重最高的一個。這稱爲加權最佳 N 個樣本:

帶過程獎勵模型的束搜索

生成答案和中間步驟的過程可以通過束搜索進一步擴展。通過束搜索,多個推理步驟被採樣,每個都由 PRM 判斷(類似於思維樹⁷)。在整個過程中跟蹤前 3 個 "束"(得分最高的路徑)。

這種方法允許快速停止不會結果豐碩的 "推理" 路徑(被 PRM 評分較低)。

然後使用我們之前探索的最佳 N 個方法對結果答案進行加權。

蒙特卡羅樹搜索

使樹搜索更高效的一種很好的技術稱爲蒙特卡羅樹搜索。它包括四個步驟:

這些步驟的主要目標是繼續擴展最佳推理步驟,同時探索其他路徑。

因此,它是探索和利用之間的平衡。節點如何評分和選擇的例子如下:

因此,當我們選擇一個新的推理步驟來探索時,它不必是迄今爲止表現最好的路徑。使用這種類型的公式,我們首先選擇一個節點(推理步驟)並通過生成新的推理步驟來擴展它。與之前一樣,這可以通過合理高且變化的溫度值來完成:

選擇一個擴展的推理步驟並多次展開,直到達到幾個答案。這些展開可以基於推理步驟(PRM)、獎勵(ORM)或兩者的組合來判斷。父節點的得分被更新(反向傳播),我們可以再次從選擇開始這個過程。

修改提議分佈

製作推理型大語言模型的第二個類別稱爲 "修改提議分佈"。不是用驗證器搜索正確的推理步驟(以輸出爲中心),而是訓練模型創建改進的推理步驟(以輸入爲中心)。

換句話說,修改了從中採樣補全 / 思想 / token 的分佈。

想象我們有一個問題和一個可以從中採樣 token 的分佈。一種常見的策略是獲取得分最高的 token:

然而,請注意上圖中有些 token 是紅色的。這些是更有可能導致推理過程的 token:

雖然選擇貪婪 token 不一定是錯誤的,但選擇導致推理過程的 token 往往會導致改進的答案。當我們修改提議分佈(token 概率分佈)時,我們本質上是使模型重新排列分佈,使 "推理"token 更頻繁地被選擇:

修改提議分佈的方法有很多,但它們通常可以分爲兩類:

提示詞

通過提示工程,我們試圖通過更新提示來改進輸出。這個過程也可能促使模型展示我們之前看到的一些推理過程。

爲了通過提示更改提議分佈,我們可以向模型提供示例(上下文學習),它必須遵循這些示例來生成類似推理的行爲:

這個過程可以通過簡單地說 "讓我們一步一步思考"⁸來進一步簡化。同樣,這改變了提議分佈,使大語言模型傾向於在回答前分解過程:

然而,模型並沒有從本質上學會遵循這個過程。此外,這是一個靜態且線性的過程,阻礙了自我完善。如果模型以不正確的推理過程開始,它往往會保持而不是修改它。

STaR

除了提示外,我們還可以讓模型學習 "推理",讓它訓練,使其因生成這些推理步驟而獲得獎勵。這通常涉及大量推理數據和強化學習,以獎勵某些行爲。

一種備受爭議的技術稱爲 STaR 或自我教導推理器⁹。STaR 是一種方法,使用大語言模型生成自己的推理數據作爲微調模型的輸入。

在第一步(1)中,它生成推理步驟和答案。如果答案正確(2a),則將推理和答案添加到三元組訓練數據集(3b)。這些數據用於對模型進行監督微調(5):

這裏的一個關鍵元素(以及許多其他修改提議分佈的技術)是我們明確地訓練模型跟隨我們向它展示的推理過程。

換句話說,我們通過監督微調決定推理過程應該是什麼樣子。

整個管道非常有趣,因爲它本質上生成了合成訓練示例。使用合成訓練示例(正如我們將在 DeepSeek R-1 中探索的)是將這種推理過程蒸餾到其他模型中的驚人方法。

DeepSeek-R1

推理型模型的一個重大發布是 DeepSeek-R1,一個開源模型,其權重可用 ¹⁰。直接與 OpenAI o1 推理模型競爭,DeepSeek-R1 對該領域產生了重大影響。

DeepSeek 通過各種技術優雅地將推理蒸餾到其基礎模型(DeepSeek-V3-Base)中做得非常出色。

有趣的是,沒有涉及驗證器,而且不是使用監督微調來蒸餾推理行爲,而是大量關注強化學習。

讓我們探索他們如何在模型中訓練推理行爲!

DeepSeek-R1 Zero 的推理

導致 DeepSeek-R1 的一個重大突破是一個名爲 DeepSeek-R1 Zero 的實驗性模型。

從 DeepSeek-V3-Base 開始,他們沒有對大量推理數據進行監督微調,而是隻使用強化學習(RL)來實現推理行爲。

爲此,他們開始使用一個非常直接的提示(類似於系統提示)在管道中使用:

注意他們明確提到推理過程應該放在標籤之間,但他們沒有指定推理過程應該是什麼樣子。在強化學習期間,創建了兩種特定的基於規則的獎勵:

在這個過程中使用的 RL 算法稱爲羣體相對策略優化(GRPO)¹¹。這個算法背後的直覺是,它使所有導致正確或不正確答案的選擇更有可能或更不可能。這些選擇可以是 token 集合以及推理步驟。

有趣的是,沒有給出過程應該是什麼樣子的例子。它只是說應該使用標籤,僅此而已!通過提供與思維鏈行爲相關的這些間接獎勵,模型自己學會了推理過程越長越複雜,答案正確的可能性就越大。

來自 "DeepSeek-R1:通過強化學習激勵大語言模型的推理能力" 的註釋圖。通過使用間接 RL 獎勵,模型通過不斷增加的推理步驟自由探索最佳思維鏈式行爲。

這個圖表特別重要,因爲它強化了從訓練時計算到測試時計算的範式轉變。隨着這些模型生成更長的思想序列,它們專注於測試時計算。

使用這種訓練管道,他們發現模型自己發現了最佳的思維鏈式行爲,包括高級推理能力,如自我反思和自我驗證。

然而,它仍有一個顯著的缺點。它的可讀性差,並且傾向於混合語言。相反,他們探索了一種替代方案,即現在衆所周知的 DeepSeek R1。

讓我們探索他們如何穩定推理過程!

DeepSeek-R1

爲了創建 DeepSeek-R1,作者遵循了五個步驟:

在步驟 1 中,DeepSeek-V3-Base 使用小型高質量推理數據集(約 5,000 個 token)進行微調。這是爲了防止冷啓動問題導致可讀性差。

在步驟 2 中,使用類似於訓練 DeepSeek-R1-Zero 的 RL 過程對結果模型進行訓練。然而,添加了另一個獎勵措施,以確保目標語言保持一致。

在步驟 3 中,使用結果 RL 訓練模型生成合成推理數據,以便在後期用於監督微調。通過拒絕採樣(基於規則的獎勵)和獎勵模型(DeepSeek-V3-Base),創建了 600,000 個高質量推理樣本。此外,通過使用 DeepSeek-V3 和它訓練的部分數據創建了 200,000 個非推理樣本。

在步驟 4 中,將 800,000 個樣本的結果數據集用於對 DeepSeek-V3-Base 模型進行監督微調。

在步驟 5 中,使用類似於 DeepSeek-R1-Zero 中使用的方法對結果模型進行基於 RL 的訓練。然而,爲了與人類偏好保持一致,添加了專注於有用性和無害性的額外獎勵信號。還要求模型總結推理過程,以防止可讀性問題。

就是這樣!這意味着 DeepSeek-R1 實際上是通過監督微調和強化學習對 DeepSeek-V3-Base 進行的微調。

大部分工作是確保生成高質量的樣本!

用 DeepSeek-R1 蒸餾推理

DeepSeek-R1 是一個擁有 671B 參數的巨型模型。不幸的是,這意味着在消費級硬件上運行這樣的模型將很困難。

幸運的是,作者探索了將 DeepSeek-R1 的推理質量蒸餾到其他模型中的方法,例如我們可以在消費級硬件上運行的 Qwen-32B!

爲此,他們使用 DeepSeek-R1 作爲教師模型,將較小的模型作爲學生。兩個模型都呈現一個提示,並必須生成 token 概率分佈。在訓練過程中,學生將嘗試緊密跟隨教師的分佈。

這個過程是使用我們之前看到的全部 800,000 個高質量樣本完成的:

結果的蒸餾模型表現非常出色,因爲它們不僅從 800,000 個樣本中學習,還從教師(DeepSeek-R1)如何回答它們的方式中學習!

不成功的嘗試

還記得我們討論過程獎勵模型(PRM)和蒙特卡羅樹搜索(MCTS)時嗎?事實證明,DeepSeek 也嘗試了這些技術來灌輸推理,但沒有成功。

使用 MCTS,他們遇到了搜索空間大的問題,不得不限制節點擴展。此外,訓練細粒度獎勵模型本質上是困難的。

使用最佳 N 個技術的 PRM,他們遇到了計算開銷問題,需要不斷重新訓練獎勵模型以防止獎勵黑客。

這並不意味着這些不是有效的技術,但它提供了對這些技術限制的有趣見解!

未來展望

儘管蒙特卡洛樹搜索等技術尚未完全成熟,但 DeepSeek-R1 的成功已爲行業指明方向。測試時計算不僅開闢了性能提升新路徑,更推動大語言模型向 "會思考的 AI" 邁出關鍵一步。隨着技術演進,我們或將見證模型在複雜問題解決、科學發現等領域的突破性應用。

來源:AI 進廠的 Asta

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/5Sa2JfDQM0Q_qpEfUXB9_w