新智元報道
編輯:英智
【新智元導讀】大模型雖然推理能力增強,卻常常「想太多」,回答簡單問題也冗長復雜。Rice大學的華人研究者提出高效推理概念,探究了如何幫助LLM告別「過度思考」,提升推理效率。
LLM的推理能力顯著增強,然而,這個「超級大腦」也有自己的煩惱。
有時候回答會繞好大一個圈子,推理過程冗長又復雜,雖能得出正確答案,但耗費了不少時間和計算資源。
比如問它「2加3等于多少」,它可能會從數字的概念、加法原理開始,洋洋灑灑說上一大通,這在實際應用中可太影響效率啦。
來自Rice大學的華人研究者提出了「高效推理」的概念,在保證回答準確的同時,更快、更簡潔地給出答案。
論文鏈接:https://arxiv.org/abs/2503.16419
項目鏈接:https://github.com/Eclipsess/Awesome-Efficient-Reasoning-LLMs
接下來,深入探討LLM的高效推理,幫它們告別「過度思考」。
別讓模型「想太多」,邁向高效推理
LLM通過思維鏈(CoT)提示等技術,在復雜推理任務中表現亮眼。
CoT就像是給模型裝上了「思考引擎」,讓它能一步一步地推導,把推理過程清晰地展現出來。
不過,這份出色的表現,需要消耗大量計算資源。
LLM經常出現「過度思考」的情況,生成長而冗余的推理內容,增加了延遲和資源消耗。
本文聚焦于如何在提升或保持模型性能的同時,優化推理過程,這對計算資源有限的實際場景十分重要。
研究者梳理了應對「過度思考」,實現高效推理的技術手段:
基于模型的高效推理:即考慮將模型優化為更簡潔的推理模型,或直接訓練高效推理模型。
基于推理輸出:旨在推理過程中動態減少推理步驟和長度。
基于輸入提示:根據輸入提示的屬性(如難度或長度控制)提高推理效率。
此外,研究者還介紹了用高效數據訓練推理模型,探索小模型的推理能力,并討論了評估方法和基準測試。
認識「過度思考」
LLM產生冗長、不必要的推理過程時,就出現了「過度思考」現象。
在回答「0.9和0.11哪個大」這個簡單的問題時,DeepSeek-R1和QwQ-32B這兩個模型給出的答案都十分冗長。
它可能會從十進制的原理開始,分析小數點后的每一位數字,還會嘗試用各種方法驗證,比如轉化為分數或在數軸上表示,最后才給出答案。
雖然答案是對的,但推理過程又長又啰嗦,耗費了大量時間和計算資源。
DeepSeek-R1:好的,我得判斷0.9和0.11誰更大。它們都是小數,但小數點后的位數不一樣。我先想想每個小數的含義,0.9就是十分之九,因為小數點后第一位是十分位。等等,我換個方法確認下,把它們轉成百分數試試……為了確保沒錯,我在數軸上表示一下吧。還有其他驗證方法嗎?用減法好像也行……或者……我確定答案是0.9。(616字,19秒)
QwQ-32B:要找出0.9和0.11哪個大。它們是小數,逐位比較看看?我回憶下小數比較的規則……0.9 小數點后有1位,0.11有2位,寫法上是不是要調整下……不對,我再檢查下,是不是哪里搞錯了。換個思路……另一種方法是……最終答案是0.9更大。(602字,42秒)
從這個例子,能看出「過度思考」的幾個特點:回答簡單問題,兩個模型都寫了600多字。推理過程中有很多重復、多余的驗證方法。
推理內容越長,處理所需的時間就越多。模型會反復懷疑自己的推理過程。
在資源有限的環境,或像自動駕駛、智能交互助手這類需要實時響應的應用場景中,「過度思考」帶來的效率低下問題就會格外突出。
開啟高效推理
高效推理方法有以下三類,基于模型的有效推理、針對結果的優化和借助輸入提示的有效推理。
基于模型的有效推理
一種有效的做法是在RL中加入長度獎勵,引導它生成簡潔的推理。
以前,模型訓練的時候主要關注答案是否正確、格式是否規范。現在研究人員給它加了一個新的「考核指標」——推理長度。
就像老師不僅要求學生答對題,還要求答題過程簡潔明了。
獎勵函數通常是這樣的:
其中α用來調節長度懲罰在獎勵函數中的權重,R_length是根據推理響應長度設置的懲罰項,計算方式如下:
模型為了獲得更多獎勵,就會在保證答案準確的同時,盡量少用token。
利用可變長度的CoT數據進行監督微調,也是提升推理效率的有效方法。
這就好比給模型提供了不同難度和長度的「練習題」,讓它學會靈活應對各種情況。
訓練數據中既有完整詳細的推理鏈,也有簡短、高效的推理路徑。
通過這些示例,模型就能學會在不降低準確性的前提下,采用更簡潔高效的推理模式。
在微調模型的時候,既可以采用像LoRA這樣的標準微調方法,對模型參數進行小范圍的調整;也可以采用漸進式微調,讓模型慢慢適應新的思考節奏,逐步提高推理效率。
優化推理輸出,精簡思考過程
從推理輸出的角度,研究人員嘗試通過創新的方式來壓縮推理步驟,讓模型的「思考過程」更加精簡。
這些方法不改變模型的參數,直接對推理輸出的結果進行優化。
潛在推理技術能把推理步驟壓縮為更精簡的表達形式,圖中展示了多種以更高效的格式編碼的潛在推理方法:
Coconut:在訓練過程中,逐漸減少推理內容的冗長部分。
CODI:運用自蒸餾的方式,壓縮推理內容。
CCOT:把CoT推理壓縮為潛在表征。
SoftCoT:借助小型輔助模型,將潛在思維投射到較大的模型中。
這些方法通常會用到嵌入函數,把冗長的推理內容映射到一個更緊湊的空間里,用公式表示就是:
E_compact是壓縮后的推理表示,f是學習到的變換函數。
除了利用潛在表示,在推理過程中動態調整推理策略也是提高效率的關鍵。
動態推理會根據每個問題的具體情況,按需生成推理步驟,圖中介紹了兩種典型的技術。
在獎勵引導方面,推測拒絕優化了最佳N解碼算法。在生成多個響應的過程中,根據獎勵模型的評估,及時丟棄低質量的輸出,減少不必要的計算開銷。
面對復雜問題時,它會先大量生成可能的推理路徑,然后快速排除那些沒有希望的路徑,只保留高質量的路徑繼續推理,大大提高了推理效率。
這兩種技術的核心思路都是,根據問題的復雜程度靈活調整推理深度,用公式表示為:
借助輸入提示,巧妙引導思考
從輸入提示的角度入手,也能讓模型推理變得更高效。
長度約束提示簡單又實用,直接在提示里要求模型控制推理長度,比如「用不超過10個token回答下面的問題」。
CoD方法則讓模型在逐步推理時,只保留每個思考步驟的最少草稿,最多用五個單詞。
比如在解答數學題時,模型不再詳細寫出每一步的推導過程,而是用簡潔的幾個詞概括關鍵思路,這樣在保證準確性的同時,大大減少了token的使用。
不同的任務難度不同,對推理的要求也不一樣。
因此,根據輸入提示的屬性進行推理路由也是一種提高效率的策略。
RouteLLM訓練了一個查詢路由器,它根據問題的復雜性將查詢分配給合適的模型。
簡單的問題就交給速度快但推理能力較弱的模型處理,復雜的問題則交給能力更強的模型,這樣可以充分發揮不同模型的優勢,提高整體推理效率。
Self-Ref方法讓LLM能根據自身的不確定性分數來決定是否需要路由到更強大的模型。
如果模型對自己的答案不太確定,就會自動尋求更強大模型的幫助,減少不必要的推理步驟。
其他探索
除了上述方向,研究人員還在數據、模型和評估等方面進行了深入探索,以進一步提升LLM的推理效率。
用更少數據,辦更多事
很多研究發現,訓練數據的質量和結構,對模型的高效推理能力影響很大。
通過精心挑選和組織訓練數據,即使數據量少,也能讓模型有出色的表現。
數據多樣性:讓模型接觸各種推理模式和問題類型。
數據質量:選擇高質量的樣本,而不只追求數量多。
推理結構:明確教模型逐步推理,而不是直覺推理。
LIMO打破了傳統的觀念,不再追求數據的數量,而是專注于質量。
它會從難度、通用性和知識多樣性等方面挑選高質量的問題,然后再配上結構合理、驗證嚴格的解決方案。
用這精心挑選的817個樣本,LIMO訓練出來的模型就能超越那些用了10多萬個樣本訓練的模型,是不是很厲害?
S2R給LLM注入了自我驗證和自我糾正的能力,就像給模型請了一個私人教練。
它先在一個精心挑選的數據集上對模型進行微調,讓模型初步具備這些能力,然后再通過RL進一步提升。
只用了3100個初始化樣本,S2R微調后的模型在推理任務中的表現,比很多用大量長CoT蒸餾數據訓練的模型還要好。
小模型的「逆襲之路」
LLM雖然能力很強,但它對計算資源的要求也很高,在一些資源有限的場景里就有點施展不開。
這時候,小語言模型(SLM)就有了用武之地。
不過,要讓SLM在有限的資源下也能有強大的推理能力,還得給它來點「特殊訓練」。
知識蒸餾是提升SLM推理能力的重要方法,簡單來說,就是把LLM的智慧傳遞給SLM。
混合蒸餾就像是把不同的「知識精華」混合在一起,有的把長、短CoT推理示例混合,有的把CoT和PoT(Program of Thought)結合,讓SLM能吸收更全面的知識。
反事實蒸餾則像是給SLM創造了一些假設情境,通過對原始問題進行特殊處理,生成多視角的CoT,讓SLM從不同角度學習知識。
還有反饋驅動的蒸餾技術,它會不斷優化蒸餾數據集,像給SLM提供越來越精準的學習資料。
另外,一些方法還把探測和檢索機制融入蒸餾過程,或者在蒸餾時讓模型根據任務動態調整推理策略,這些都幫助SLM更好地學習LLM的推理能力。
評估推理能力
評估高效推理,需要綜合考慮準確性和推理效率:
準確性:看最終給出的答案是否正確。
效率:token使用數量、推理花費的時間、消耗的計算資源。
實際評估時,通常會先把效率指標標準化處理,再和準確性指標結合起來,形成一個綜合指標:
既獎勵正確性,又鼓勵推理的簡潔性。
Sys2Bench涵蓋了算術、邏輯、常識、算法和規劃等多個領域的任務,用11個不同的數據集對LLM進行全方位的測試。
通過這個測試,發現僅靠增加推理時的計算資源,并不能讓模型在所有任務中都表現出色,提升LLM的推理能力需要多種方法結合。
還有一些研究專門考察不同的推理策略對模型性能的影響,以及測試時擴展(TTS)策略和模型性能之間的關系。
對LLM的過度思考問題,也有專門的評估方法。
研究人員開發了一個評估框架,可以深入分析模型的推理過程,找出像分析癱瘓、異常行為和過早放棄等模式。
他們提出了「過度思考分數」,就像是一個健康指標,分數越高,說明模型過度思考的問題越嚴重,任務性能就越差。
通過選擇過度思考分數低的解決方案,可以讓模型性能提高30%,同時降低43%的計算開銷。
參考資料:
https://www.alphaxiv.org/overview/2503.16419
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.