Deepseek-R1 實現原理概述

基本概念

強化學習 (Reinforcement Learning)

強化學習 (RL) 是一種機器學習,其中 AI 通過採取行動並根據這些行動獲得獎勵或懲罰來進行學習。目標是隨着時間的推移最大化獎勵。

示例:想象一下教機器人玩遊戲。機器人嘗試不同的動作,每做一次好動作(例如得一分),它都會得到獎勵(例如 +1)。做錯動作(例如丟一分),它會受到懲罰(例如 -1)。隨着時間的推移,機器人會了解哪些動作可以得分最高,從而變得更擅長玩遊戲。

SFT 微調 (SFT Fine-Tuning)

微調模型是採用預先訓練的 AI 模型並對其進行細微調整,使其在特定任務上表現更好的過程。一般模型不是從頭開始訓練,而是使用額外數據進行 “調整”,以提高其在特定用例中的表現。

SFT(監督式微調)是一種特殊類型的微調,其中模型在標記的數據集上進行訓練。這意味着爲模型提供包含輸入數據(如圖像或文本)和正確答案(標籤)的示例。該模型學習根據這些標記的示例進行預測,以提高其特定任務的準確性。

例如,使用客戶支持問題和答案的標記數據集對 LLM 進行微調,使其在處理常見查詢時更加準確。如果您擁有大量標記數據,則非常適合使用。

知識蒸餾 (Knowledge Distillation)

模型蒸餾是一種將大型複雜模型(教師模型)中的知識轉移到較小、較簡單的模型(學生模型)的方法。

目的是開發一種更緊湊的模型,該模型既能保持較大模型的大部分性能,又能提高計算能力、內存使用率和推理速度方面的效率。

冷啓動數據

用於幫助模型對任務有總體瞭解的最低限度標記數據集。例如,使用從網站上抓取的 FAQ 對簡單數據集對聊天機器人進行微調,以建立基礎理解。當您沒有大量標記數據時很有用。

多階段訓練

對模型進行分階段訓練,每個階段側重於特定的改進,如準確性或對齊度。例如, 在一般文本數據上訓練一個模型,然後通過對用戶反饋的強化學習對其進行改進,以提高其對話能力。

拒絕抽樣

一種模型生成多個潛在輸出的方法,但只有符合特定標準(例如質量或相關性)的輸出纔會被選中以供進一步使用。 例如,在 RL 過程之後,模型會生成多個響應,但只保留對重新訓練模型有用的響應。

DeepSeek R1 背後的關鍵技術

DeepSeek R1 背後有三個關鍵理念:

思維鏈

如果你向大多數人工智能模型提出一個棘手的問題,它們會給出一個答案,但不會給出背後的推理。這是一個問題。如果答案是錯的,你就不知道它在哪裏出了差錯。

思維鏈可以解決這個問題。模型不會直接給出答案,而是一步步解釋其推理過程。如果它犯了錯誤,你可以清楚地看到錯誤所在。更重要的是,模型本身也能看到錯誤所在。

這不僅僅是一個調試工具。它改變了模型的思維方式。解釋的行爲迫使他們放慢腳步,檢查自己的工作。即使沒有額外的訓練,也能得到更好的答案。

DeepSeek 的論文展示了一個數學問題的例子。模型在解題過程中發現自己犯了一個錯誤,然後自我糾正。這很新穎。大多數人工智能模型都不會這樣做。它們要麼做對,要麼做錯,然後繼續前進。

強化學習

大多數人工智能訓練都像上學一樣:向模型展示一個問題,給出正確答案,然後重複。DeepSeek 採用了不同的方法。它的學習方式更像嬰兒。

嬰兒不會接受指令。它們會嘗試、失敗、調整、再嘗試。隨着時間的推移,它們會變得更好。這就是強化學習的原理。模型會探索不同的方法來回答問題,然後選出最有效的一種。

機器人就是這樣學會走路的。自動駕駛汽車也是這樣學習導航的。現在,DeepSeek 也是這樣改進推理的。關鍵的思路是組相對策略優化(GRPO)。GRPO 不會簡單地將答案分爲對錯,而是將其與過去的嘗試進行比較。如果新答案比舊答案更好,模型就會更新其行爲。

這使得學習成本更低。模型不需要大量標註數據,而是通過迭代自己的錯誤來訓練自己。這就是爲什麼 DeepSeek R1 會隨着時間的推移而不斷改進,而 OpenAI 的 01 模型卻一成不變的原因。如果有足夠的訓練,它甚至可以在推理任務中達到人類水平的準確性。

蒸餾

DeepSeek 這樣的模型有一個問題:它們太大了。

完整版有 6710 億個參數。運行它需要數千個 GPU 和只有科技巨頭才能負擔得起的基礎設施。這對大多數人來說都是不切實際的。

解決方案就是蒸餾 -- 在不損失太多性能的情況下,將一個巨大的模型壓縮成一個較小的模型。就像教徒弟一樣。大模型生成示例,小模型從中學習。

DeepSeek 研究人員將他們的模型提煉成了 Llama 3 和 Qwen。令人驚訝的是什麼?小模型有時比原始模型表現得更好。這使得 AI 變得更容易獲得。你不再需要超級計算機,只需單個 GPU 就能運行強大的模型。

GRPO RL 框架

傳統上,用於訓練 LLM 的 RL 在與標註數據相結合時最爲成功(例如 PPO RL 框架)。這種 RL 方法採用了一個批評者模型,它就像一個 “LLM 教練”,對每次移動提供反饋,幫助模型改進。它根據標註數據評估 LLM 的行動,評估模型成功的可能性(價值函數),並指導模型的整體策略。但是,這種方法受到用於評估決策的標註數據的限制。如果標註的數據不完整、有偏差,或者沒有涵蓋全部任務,那麼批評者只能在這些限制條件下提供反饋,而且不能很好地推廣。

GRPO RL 框架:作者使用了組相對策略優化(GRPO)RL 框架,它消除了批評者模型。有了 GRPO,你就跳過了 “教練”-- 通過使用預定義的規則(如連貫性和 / 或流暢性),在多輪比賽中對 LLM 移動進行評分。這些模型通過將這些分數與小組平均分進行比較來學習。

訓練過程

以下是對每個訓練階段及其工作內容的簡要說明:第一步:他們使用數千個冷啓動數據點對基礎模型(DeepSeek-V3-Base)進行微調,以奠定堅實的基礎。僅供參考,與大規模監督學習通常需要的數百萬甚至數十億個標註數據點相比,數千個冷啓動數據點只是很小的一部分。

第二步:應用純 RL(類似於 R1-Zero)來提高推理能力。

第三步:在 RL 接近收斂時,他們使用拒絕採樣,即模型通過從上次成功的 RL 運行中選擇最佳示例來創建自己的標記數據(合成數據)。你聽說過 OpenAI 使用更小的模型爲 O1 模型生成合成數據的傳言嗎?基本上就是這樣。

第四步:將新的合成數據與 DeepSeek-V3-Base 在寫作、事實質量保證和自我認知等領域的監督數據合併。這一步確保了模型可以從高質量的輸出和多樣化的特定領域知識中學習。

第五步:使用新數據進行微調後,模型在不同的提示和場景中進行最後的 RL 流程。

那麼爲什麼 DeepSeek-R1 要使用多階段流程呢?因爲每一步都建立在上一步的基礎上。

爲何重要

DeepSeek 將思維鏈推理、強化學習和模型蒸餾結合在一起,使其成爲一款強大的工具。這不僅僅是原始能力的問題。而是要創建準確、透明、易用的模型。

思維鏈使模型的推理清晰明瞭。強化學習使其隨着時間的推移不斷改進。而蒸餾則確保了這些能力能夠爲更多人所使用,而不僅僅是那些能夠使用超級計算機的人。

如果你對人工智能感興趣,DeepSeek 值得關注。它不僅僅是另一項漸進式改進。它是朝着能夠以以前無法企及的方式思考、學習和適應的模型邁出的一步。

你不需要成爲一名人工智能研究員,就能看到它的潛力。DeepSeek 背後的技術已經應用於現實世界,從編碼助手到科學研究工具。隨着這些模型越來越容易獲得,它們的影響只會越來越大。

DeepSeek R1 的重要性不僅在於它能做什麼,還在於它如何做。思維鏈使人工智能更加透明。強化學習讓人工智能更加自我完善。

關於 DeepSeek R1 的常見問題

參考資料

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