一文理解推理大模型-UnderstandingReasoningLLMs

MLNLP

社群是國內外知名的機器學習與自然語言處理社群,受眾覆蓋國內外NLP碩博生、高校老師以及企業研究人員。


社群的願景是促進國內外自然語言處理,機器學習學術界、產業界和廣大愛好者之間的交流和進步,特別是初學者同學們的進步。
來源 | NLP工作站
作者 | 劉聰NLP
今天刷到Sebastian的blog,《Understanding Reasoning LLMs》,特此翻譯一下,帶給大家。
原文: https://magazine.sebastianraschka.com/p/understanding-reasoning-llms
概述:
  • 解釋“推理模型”的含義
  • 討論推理模型的優缺點
  • 概述DeepSeek R1的訓練方法
  • 描述構建和改進推理模型的四種主要方法
  • 分享DeepSeek V3和R1釋出後的LLM領域的看法
  • 提供在小成本下訓練推理模型的技巧

如何定義“推理模型”?

如果你在AI(或機器學習)領域工作,你可能對模糊且備受爭議的定義很熟悉。“推理模型”這個術語也不例外。最終,會有人在論文中正式定義它,但很快就會在下一篇論文中被重新定義~
在本文中,我將“推理”定義為回答需要複雜、多步驟生成幷包含中間步驟的問題的過程。例如,像“法國的首都是哪裡?”這樣的事實問答不涉及推理。相反,像“如果一列火車以每小時60英里的速度行駛3小時,它能走多遠?”這樣的問題需要一些簡單的推理。例如,它需要認識到距離、速度和時間之間的關係,然後才能得出答案。
一個普通的LLM可能只提供一個短的答案(如左圖所示),而推理模型通常包括顯示部分思維過程的中間步驟(請注意,許多未專門為推理任務訓練的LLMs也可以在其答案中提供中間推理步驟)
大多數LLMs都具備基本的推理能力,能夠回答像“如果一列火車以每小時60英里的速度行駛3小時,它能走多遠?”這樣的問題。所以,當我們提到推理模型時,指的是那些在更復雜的推理任務(如解決謎題、謎語和數學證明)中表現出色的LLMs。
此外,現在大多數被稱為推理模型的LLMs在其回覆中都包含一個“思考”或“思維”過程。
而推理模型的中間步驟可以以兩種方式出現,第一種可能明確地包含在回覆中,如圖所示。第二種,如OpenAI的o1等一些推理LLMs,會執行多個迭代的中間步驟,且不顯示給使用者。
"推理"在兩個不同的層次上使用:1)處理輸入並透過多箇中間步驟生成,2)在響應中向用戶提供某種推理

何時使用推理模型?

推理模型旨在擅長解決複雜任務,如解決謎題、高階數學問題和具有挑戰性的程式設計任務。然而,對於簡單的任務(如摘要、翻譯或基於知識的問題回答)並不是必需的。如果將推理模型用於所有任務,會導致效率低下且昂貴,並且有時由於“過度思考”而更容易出錯。推理模型的推理模型的優劣勢如下圖所示,我們需要為任務選擇合適的工具或LLM。
推理模型的優劣勢

概述 DeepSeek 訓練流程

DeepSeek釋出了三個不同的變體:DeepSeek-R1-Zero、DeepSeek-R1和DeepSeek-R1-Distill。
模型的訓練過程總結,如下圖所示。
DeepSeek三種不同推理模型的訓練過程
  • DeepSeek-R1-Zero:在DeepSeek-V3基模基礎上,直接應用強化學習,不使用任何SFT資料進行冷啟動。
  • DeepSeek-R1:在DeepSeek-V3基模基礎上,先透過額外的SFT階段和進一步的RL訓練進一步精煉,改進了“冷啟動”的R1-Zero模型。
  • DeepSeek-R1-Distill*:使用前面步驟中生成的SFT資料,對Qwen和Llama模型進行了微調,以增強其推理能力,純SFT。

四種構建和改進推理模型的方法

概述目前用於增強LLMs推理能力和構建專門推理模型(如DeepSeek-R1、OpenAI的o1和o3等)的關鍵技術。
注意:o1和o3的確切工作原理尚不清楚,純猜測。

Inference-time scaling

推理時間擴充套件,指的是在推理時增加計算資源以提高輸出質量。
一個粗略的類比是,人類在有更多時間思考複雜問題時往往會生成更好的回答。同樣,我們可以應用一些技術,鼓勵LLM在生成答案時“多思考”。
一個直接的推理時擴充套件方法是提示工程。一個經典例子是思維鏈(CoT)提示,在輸入提示中加入“逐步思考”之類的短語。鼓勵模型生成中間推理步驟,而不是直接跳到最終答案,會在更復雜的問題上通常(但不總是)會導致更準確的結果。
來自https://arxiv.org/abs/2205.11916
上述CoT方法可以被視為推理時間擴充套件,因為它透過生成更多的輸出標記使推理變得更昂貴。
另一種推理時間擴充套件的方法是使用投票和搜尋策略。一個簡單的例子是多數投票,讓LLM生成多個答案,然後透過多數投票選擇正確答案。同樣,可以使用束搜尋和其他搜尋演算法來生成更好的回答。
想了解更多關於這些不同策略的詳細資訊可閱讀《Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters》文章。
不同的基於搜尋的方法依賴於基於過程-獎勵的模型來選擇最佳答案

純強化學習

DeepSeek R1論文中的一大亮點是,發現推理可以從純的強化學習(RL)中學習。與典型的RL方法(在RL之前先監督微調SFT)不同,DeepSeek-R1-Zero僅使用強化學習進行訓練,沒有初始的SFT階段,也就是為什麼其為“純”的RL。,如下圖所示。
DeepSeek-R1-Zero模型的訓練過程
對於獎勵,沒有使用基於人類偏好的訓練獎勵模型,而是使用了兩種型別的獎勵:準確性和格式獎勵。
  • 準確性獎勵,使用LeetCode編譯器驗證編碼答案,並使用確定性系統評估數學回答。
  • 格式獎勵,依賴於一個LLM裁判,以確保回答遵循預期的格式,例如將推理步驟放在<think>標籤內。
令人驚訝的是,這種方法是可以讓LLM具備更強推理能力的。儘管R1-Zero不是表現最好的推理模型,但透過生成中間“思考”步驟展示了推理能力,如上圖所示。證實了使用純粹的RL訓練推理模型是可能的,DeepSeek團隊是第一個展示(或者至少是發表)這種方法的團隊。
來自DeepSeek R1技術報告

監督微調和強化學習

實際上在RL之前包含一個SFT階段是很常見的。OpenAI的o1很可能是使用類似的方法訓練的。
DeepSeek-R1模型的訓練過程
如上圖所示,使用DeepSeek-R1-Zero生成了所謂的“冷啟動”SFT資料。
首先使用這些“冷啟動”SFT資料,透過指令微調訓練了模型;然後再經過一個RL階段,在這個RL階段中,不僅保留了DeepSeek-R1-Zero的RL過程中使用的準確性和格式獎勵,還增加了一個一致性獎勵,以防止語言混合,在回答中切換多種語言情況。
在RL階段之後是又一輪的SFT資料收集,使用最新的模型checkpoint生成了600k 個思維鏈(CoT)SFT樣本,同時使用DeepSeek-V3基礎模型建立了額外的200K個基於知識的SFT樣本。再經過另一輪RL,使用基於規則的方法為數學和編碼問題提供準確性獎勵,而人類偏好標籤用於其他問題型別。
最終的模型,DeepSeek-R1,與DeepSeek-R1-Zero相比,效能有了顯著提升,如下表所示。
來自DeepSeek-R1技術報告

純監督微調(SFT)和蒸餾

DeepSeek還發布了透過“蒸餾”過程訓練的較小模型。這裡的蒸餾指的是在由較大LLMs生成的SFT資料集上對較小的LLMs(如Llama 8B和70B以及Qwen 2.5模型(0.5B到32B))進行指令微調。在下圖中突出了蒸餾部分。
DeepSeek-R1-Distill模型的訓練過程
為什麼要訓練這些蒸餾模型?有兩個關鍵原因:
  • 較小的模型更高效。這意味著它們執行成本更低,而且可以在較低端的硬體上執行,更吸引研究者和大模型愛好者。
  • 純SFT的方法研究。這些蒸餾模型作為一個有趣的基準,展示了純監督微調(SFT)可以在沒有強化學習的情況下將模型帶到多遠。
下表比較了這些蒸餾模型與其他流行模型的效能,以及DeepSeek-R1-Zero和DeepSeek-R1。
蒸餾與非蒸餾模型的基準比較
正如我們所見,蒸餾模型明顯弱於DeepSeek-R1,但與DeepSeek-R1-Zero相比,儘管它們小了幾個數量級,但效果卻很強。與o1 mini相比,這些模型的表現也相當不錯(我懷疑o1-mini本身可能是o1的一個類似的蒸餾版本)。
同時還測了在DeepSeek-R1-Zero中看到的純RL方法,是否也能出現在較小的模型中,將DeepSeek-R1-Zero的相同純RL方法直接應用於Qwen-32B。
32B模型的蒸餾和RL的基準比較
結果表明,對於較小的模型來說,蒸餾比純RL更有效。

四種方法小結

  • 推理時擴充套件不需要額外的訓練,但會增加推理成本,隨著使用者數量或查詢量的增加,大規模部署會變得更加昂貴。然而,對於已經表現強勁的模型來說,它仍然是一個不假思索的選擇。我強烈懷疑o1利用了推理時擴充套件,這有助於解釋為什麼它在每個標記上的成本比DeepSeek-R1更高。
  • 純RL對於研究目的很有趣,因為它提供了關於推理作為一種新興行為的見解。然而,在實際的模型訓練中,RL + SFT是首選方法,因為它可以產生更強大的推理模型。
  • RL + SFT是構建高效能推理模型的關鍵方法。
  • 蒸餾是一種有吸引力的方法,特別是用於建立更小、更高效的模型。然而,它的侷限性在於蒸餾不能推動創新或產生下一代推理模型。例如,蒸餾總是依賴於一個現有的、更強的模型來生成監督微調(SFT)資料。

關於 DeepSeek R1 的思考

在最近幾周,許多人問我對DeepSeek-R1模型的看法。簡而言之,我認為它們是一個了不起的工作。作為一名工程師,我特別欣賞詳細的技術報告,它提供了我可以學習的方法論見解。
其中一個最有趣的收穫是推理作為一種行為從純RL中出現。而且令人印象深刻的是,DeepSeek在一個寬鬆的開源MIT許可證下開源了他們的模型,這比Meta的Llama模型限制更少。

它與o1的比較

DeepSeek-R1是否優於o1?
我會說它們大致在同一水平。但DeepSeek-R1在推理時更高效。這表明DeepSeek可能在訓練過程中投入了更多,而OpenAI可能更多地依賴於o1的推理時間擴充套件。
也就是說,直接比較o1和DeepSeek-R1是困難的,因為OpenAI沒有披露太多關於o1的資訊。例如,我們不知道:
  • o1是否也是專家混合(MoE)?
  • o1有多大?
  • o1是否只是GPT-4o的一個稍微改進的版本,只有最少的RL + SFT和廣泛的推理時擴充套件?
在不知道這些細節的情況下,直接比較仍然是蘋果與橙子的比較。

訓練DeepSeek-R1的成本

另一個討論點是訓練DeepSeek-R1的成本。有人提到約600萬美元的訓練成本,但他們可能混淆了DeepSeek-V3和DeepSeek-R1。
600萬美元的估計是基於每GPU小時2美元的假設和DeepSeek-V3最終訓練執行所需的GPU小時數,這在2024年12月最初討論過。
然而,DeepSeek團隊從未披露R1的確切GPU小時或訓練成本,因此任何成本估計都純屬猜測。
無論如何,最終,DeepSeek-R1是開源推理模型的一個重要里程碑,其推理時的高效性使其成為OpenAI的o1的一個有趣替代品。

在小成本下訓練推理模型

訓練一個DeepSeek-R1級別的推理模型可能需要數十萬到數百萬美元,即使是從一個開源基礎模型如DeepSeek-V3開始。這對於預算有限的研究人員或工程師來說可能令人沮喪。

好訊息:蒸餾可以走很遠

模型蒸餾提供了一種更具成本效益的替代方案。DeepSeek團隊的R1蒸餾模型展示了這一點,這些模型儘管比DeepSeek-R1小得多,但在推理效能上卻很出色。當然這種方法也不是完全便宜的,蒸餾80萬個SFT樣本,也需要大量的計算資源。
就在DeepSeek-R1釋出前幾天,我看到了一篇關於Sky-T1的文章,使用僅1.7w SFT樣本訓練了一個開源32B模型,總成本只有450美元。
這個說明,較小的、有針對性的微調工作仍然可以取得令人印象深刻的結果。
Sky-T1:在450美元內訓練你自己的推理模型-https://novasky-ai.github.io/posts/sky-t1/
根據他們的基準測試,Sky-T1的表現大致與o1相當。

預算上的純RL:TinyZero

Sky-T1專注於模型蒸餾,也有在“純RL”領域的一些工作-TinyZero,一個3B引數模型,複製了DeepSeek-R1-Zero的方法(訓練成本不到30美元)。
即使只有3B引數,TinyZero也表現出一些新興的自我驗證能力,這支援了“推理可以透過純RL在小模型中出現”的觀點。
對應Github:https://github.com/Jiayi-Pan/TinyZero
上述兩個專案都是在有限的預算下,訓練推理模型的工作,一個專注於純RL(TinyZero),另一個專注於純SFT(Sky-T1)。

超越傳統SFT:旅程學習

去年我看到一個特別有趣的論文《 O1 Replication Journey: A Strategic Progress Report – Part1》。
論文中的關鍵思想是“旅程學習”作為“捷徑學習”的替代方法。
  • 捷徑學習指的是傳統的指令微調方法,模型只使用正確的解決路徑進行訓練。
  • 旅程學習則包括錯誤的解決路徑,讓模型從錯誤中學習。
這種方法與TinyZero純RL訓練中觀察到的自我驗證能力有關,但它專注於透過SFT完全改進模型。透過將模型暴露於錯誤的推理路徑及其修正,旅程學習可能也會強化自我糾正能力,從而使推理模型在這方面更可靠。
來自https://arxiv.org/abs/2410.18982
這可能是未來工作的一個令人興奮的方向,特別是對於低預算推理模型訓練,RL方法可能在計算上不可行。

寫在最後

目前在推理模型前言技術上有很多有趣的工作,相信在接下來的幾個月裡我們會看到更多令人興奮的工作!
技術交流群邀請函
△長按新增小助手
掃描二維碼新增小助手微信
請備註:姓名-學校/公司-研究方向
(如:小張-哈工大-對話系統)
即可申請加入自然語言處理/Pytorch等技術交流群

關於我們

MLNLP 社群是由國內外機器學習與自然語言處理學者聯合構建的民間學術社群,目前已經發展為國內外知名的機器學習與自然語言處理社群,旨在促進機器學習,自然語言處理學術界、產業界和廣大愛好者之間的進步。
社群可以為相關從業者的深造、就業及研究等方面提供開放交流平臺。歡迎大家關注和加入我們。

相關文章