DeepSeek 的研究發現,模型在強化學習(RL)訓練中,經過多次迭代後,會突然開始生成思維鏈,並顯著提升在數學等複雜任務上的表現。
什麼是思維鏈CoT?
如果讓大型語言模型(LLM)先“想一想”問題,它在解決數學這類難題時表現會更好。這種方法叫“思維鏈”。
簡單來說,就是讓語言模型在回答問題之前,先一步步分解問題,寫出思考過程。OpenAI 的 o1 模型就是這麼做的,所以它在測試中表現得很出色。
不過,要訓練模型學會這種思維鏈,得給它看很多正確的思考示例。這些示例製作起來很費勁,訓練模型的成本也很高。
DeepSeek頓悟時刻
但 DeepSeek 發現了一個有趣的現象:其實不用特意訓練模型去生成思維鏈。在合適的條件下,模型自己就能學會這種行為。他們找到了一種低成本的方法,讓語言模型學會思維鏈,還把這個模型免費公開了。
以前教模型學會“思維鏈”的方法是監督微調(SFT)。簡單來說,就是讓模型寫出推理過程,然後人工給每一步打分,逼它學會正確的推理。但這種方法很麻煩,因為需要反覆調整和評分。
這篇文章裡的方法完全不一樣。他們用了一個已經懂點數學的小模型(7B 引數),然後只給了它 8000 個問題。他們用了一種簡單的**強化學習(RL)**方法,目標只有一個:讓模型答對問題。至於模型是怎麼得出答案的,他們根本不管,只看結果對不對。
這就是 DeepSeek 建立 R1 模型的一部分“秘訣”。
經過多次訓練,他們發現模型突然“開竅”了。它開始在沒有被要求的情況下,自己寫出推理過程(思維鏈),然後答案也變得更準確了。
一些研究表明,透過強化學習(RL)訓練模型,即使不明確教導模型生成思維鏈,模型也會在適當的條件下自發學習這種行為。這種方法成本較低,且效果顯著。
研究還發現,即使是較小的模型(如7B引數),在適當的訓練方法下,也能學會生成思維鏈並提升推理能力。這表明思維鏈技術不僅適用於大型模型,也可以在小模型上實現
自動生成思維鏈
自動生成思維鏈的方法(如Auto-CoT)透過多樣性問題取樣和啟發式方法生成推理鏈,減少了對手工設計演示的依賴,同時保持了高效能
小模型能自動生成思維鏈?
許多研究人員都在探索學習 o 風格模型的可能路徑,如蒸餾、MCTS、基於過程的獎勵模型和強化學習。 最近,DeepSeek-R1 和 Kimi-k1.5 在這條道路上展示了一個極其簡單的方法,即使用簡單的 RL 演算法來學習新興的長 CoT 和自我反思模式,並在不使用 MCTS 和獎勵模型的情況下取得了很好的效果。
然而,他們的實驗是基於大規模 RL 環境中的巨大模型。 小型模型能否表現出類似的行為,需要多少資料,定量結果與其他方法相比如何,這些都還是未知數。
本部落格再現了 DeepSeek-R1-Zero 和 DeepSeek-R1 對複雜數學推理的訓練,從 Qwen-2.5-Math-7B (基礎模型)開始,僅使用原始 MATH 資料集中的 8K 個(查詢、最終答案)示例,在 RL 中進行基於規則的獎勵建模。 我們感到驚訝的是,在沒有任何其他外部訊號的情況下,8K 個 MATH 示例能在多大程度上提升 7B 基礎模型?
整個過程也是兩大部分:
第 1 部分:SimpleRL-Zero - 從零開始的強化學習
模型的準確率在訓練過程中穩步提升,而生成長度則先下降,然後逐漸增加。經過進一步研究,我們發現 Qwen2.5-Math-7B 基礎模型在訓練初期傾向於生成大量程式碼,這可能是由於模型原始訓練資料的分佈導致的。我們發現,長度先下降是因為強化學習(RL)訓練逐漸去除了這種模式,模型學會了用正常的語言進行推理。
之後,生成長度再次開始增加,此時自我反思的模式開始出現!
第 2 部分:自我反思的出現
在第 40 步左右,我們發現模型開始產生自我反思模式,即 DeepSeek-R1 論文中的 "啊哈時刻"。
在開始強化學習(RL)之前,我們進行了長時間的監督微調(SFT)思維鏈(CoT)熱身。具體來說,我們使用的 SFT 資料集是從 QwQ-32B-Preview 中精選出的 8000 個數學範例。這種“冷啟動”的潛在好處是,模型在進入 RL 階段時,已經具備了自我反思能力和生成長思維鏈的能力,這使得它在 RL 階段能夠學得更快、效果更好。
總之
現在,思維鏈被證明非常有用,而且製作成本低、容易實現,我們正在探索它的各種用途。
看來,大模型不只是模式識別或模式匹配,也能舉一反三了。(自舉?)