paulwong

          DeepSeek背后的數學:深入研究群體相對策略優化(GRPO)

          本博客深入探討了群體相對策略優化(GRPO)背后的數學,GRPO是推動DeepSeek卓越推理能力的核心強化學習算法。我們將分解GRPO的工作原理、其關鍵組件,以及為什么它是訓練高級大型語言模型(LLM)的改變者。

          GRPO的基礎

          GRPO是什么?

          群相對策略優化(GRPO)是一種強化學習(RL)算法,專門用于增強大型語言模型(LLM)的推理能力。與傳統的RL方法不同,RL方法嚴重依賴外部評估者(批評者)來指導學習,GRPO通過相互評估響應組來優化模型。這種方法可以實現更有效的培訓,使GRPO成為需要復雜解決問題和長思維鏈的推理任務的理想選擇。

          為什么是GRPO?

          傳統的RL方法,如近端策略優化(PPO),在應用于LLM中的推理任務時面臨重大挑戰:

          對批評家模式的依賴

          • PPO需要一個單獨的批評模型來估計每個響應的值,這使內存和計算要求翻倍。
          • 培訓評論家很復雜,容易出錯,特別是對于具有主觀或細微評估的任務。

          高計算成本

          • RL管道通常需要大量的計算資源來迭代評估和優化響應。
          • 將這些方法擴展到大型法學碩士會加劇這些成本。

          可擴展性問題

          • 絕對獎勵評估與各種任務作斗爭,使其難以跨推理領域進行概括。

          GRPO如何應對這些挑戰

          • 無批評優化:GRPO通過比較組內的響應來消除對批評模型的需求,大大降低了計算開銷。
          • 相對評估:GRPO不使用外部評估員,而是使用組動力學來評估響應相對于同一批次中其他響應的表現如何。
          • 高效培訓:通過關注基于組的優勢,GRPO簡化了獎勵估算過程,使其對大型模型更快、更具可擴展性。

          關鍵思想

          GRPO的核心是相對評價的概念:

          • 對于每個輸入查詢,模型都會生成一組潛在響應。
          • 這些回答是根據它們與小組中其他人的比較來評分的,而不是單獨評估。
          • 響應的優勢反映了相對于小組的平均表現來說,它有多好或差。

          這種方法消除了對單獨批評的需要,使GRPO既高效又強大。通過促進群體內部的競爭,GRPO推動該模型不斷提高其推理能力。正是這種創新推動了DeepSeek在推理任務中取得卓越結果的能力。

          了解GRPO目標功能

          組相對策略優化(GRPO)中的目標函數定義了模型如何學習改進其策略,從而推動其生成高質量響應的能力。讓我們一步一步地分解它。

          GRPO目標函數

          方程來自論文,解釋是在GPT-4o的幫助下創建的

          用簡單的術語理解GRPO目標函數

          GRPO(組相對策略優化)目標函數就像一個教模型的配方,通過比較自己的響應和逐步改進來更好地生成答案。讓我們把它分解成一個易于理解的解釋:

          目標

          想象一下,你正在教一群學生解決一個數學問題。與其只告訴他們誰得到了正確或錯誤的答案,不如比較他們所有的答案,以找出誰做得最好(以及為什么)。然后,你通過獎勵更好的方法和改進較弱的方法來幫助他們學習。這正是GRPO所做的——只是它教人工智能模型,而不是學生。

          分步分解

          第1步:從查詢開始

          • 從訓練數據集P(Q)中選擇一個查詢(q)
            示例:假設查詢是“8 + 5的總和是多少?”

          第2步:生成一組響應

          • 模型對查詢生成一組GGG響應。
            示例:模型生成以下響應:
          • O1:“答案是13。”
          • O2:“十三。”
          • O3:“現在是12。”
          • O4:“總和是13。”

          第3步:計算每個響應的獎勵

          什么是獎勵?

          • 獎勵通過量化模型的響應質量來指導模型的學習。

          GRPO中的獎勵類型

          • 準確性獎勵:基于答案的正確性(例如,解決數學問題)。
          • 格式獎勵:確保響應符合結構準則(例如,<think>標簽中包含的推理)。
          • 語言一致性獎勵:懲罰語言混合或不相干的格式。

          根據每個響應的好程度,為每個響應分配獎勵(ri)。例如,獎勵可能取決于:

          準確性:答案正確嗎?

          格式:響應結構良好嗎?
          示例

          • r1=1.0(正確且格式良好)。
          • r2=0.9(正確但不那么正式)。
          • r3=0.0(錯誤答案)。
          • r4=1.0(正確且格式良好)。

          第4步:比較回復(群體優勢)

          • 計算每個響應相對于組的優勢(Ai):
          方程來自論文,解釋是在GPT-4o的幫助下創建的

          用簡單的方式,你可以這樣理解它

          方程來自論文,解釋是在GPT-4o的幫助下創建的
          • 比小組平均水平更好的回復獲得正分,而更差的回復獲得負分。
          • 鼓勵小組內部的競爭,推動模型產生更好的響應。

          第5步:使用剪切更新策略

          方程來自論文,解釋是在GPT-4o的幫助下創建的
          • 示例:如果新策略開始為o1分配過多的概率,剪切可確保它不會過度強調此響應。
          • 即使在推理等復雜任務中,也能實現穩定可靠的策略優化。

          第6步:用KL Divergence懲罰偏差

          方程來自論文,解釋是在GPT-4o的幫助下創建的

          把它全部放在一起

          GRPO目標的工作原理如下:

          1. 為查詢生成一組響應
          2. 根據預定義的標準(例如準確性、格式)計算每個響應的獎勵
          3. 比較組內的反應,以計算其相對優勢(AiA_iAi)。
          4. 更新政策,以支持具有更高優勢的響應,確保剪切的穩定性。
          5. 定期更新,以防止模型偏離其基線太遠。

          為什么GRPO有效

          • 無需批評:GRPO依靠組比較,降低了計算成本,避免了對單獨評估員的需要。
          • 穩定學習:剪切和KL正則確保模型穩步改進,沒有劇烈波動。
          • 高效培訓:通過關注相對績效,GRPO是推理等任務的理想選擇,因為絕對得分很難。

          現實生活中的類比

          想象一下,一群學生在解決問題。老師不是單獨給每個學生打分,而是學生在自己之間比較他們的答案。那些有更好答案的人會得到鼓勵,而其他人則從錯誤中學習。隨著時間的推移,該小組集體改進,變得更加準確和一致。GRPO將這一原則應用于訓練人工智能模型,使它們能夠有效和高效地學習。

          GRPO和PPO的比較

          GRPO在行動:DeepSeek的成功

          GRPO通過為推理任務提供高效和可擴展的培訓,推動了DeepSeek的卓越性能。以下是它如何轉化為成功:

          1. 增強推理:GRPO允許DeepSeek-R1-Zero在AIME 2024上獲得71.0%的aPass@1得分,在多數票下上升到86.7%。在解決數學和邏輯問題方面,它與OpenAI等專有模型相媲美。
          2. 新興能力:通過GRPO,DeepSeek模型發展了高級推理行為,如自我驗證反思長思維鏈,這對解決復雜任務至關重要。
          3. 可擴展性:GRPO的基于組的優化消除了對批判模型的需求,減少了計算開銷,并實現了大規模的培訓。
          4. 蒸餾成功:從GRPO訓練的檢查站蒸餾出來的較小的模型保留了很高的推理能力,使人工智能更容易獲得和具有成本效益。

          通過專注于組內的相對性能,GRPO使DeepSeek能夠在推理、長上下文理解和一般人工智能任務方面設定新的基準,同時保持效率和可擴展性

          參考:https://arxiv.org/abs/2501.12948

          posted on 2025-02-08 00:13 paulwong 閱讀(243) 評論(0)  編輯  收藏 所屬分類: AI-DEEPSEEK

          主站蜘蛛池模板: 兴山县| 巴楚县| 镇赉县| 辽中县| 遂宁市| 武乡县| 时尚| 宜兴市| 宁阳县| 名山县| 龙泉市| 甘南县| 杂多县| 苍山县| 丰原市| 手游| 凭祥市| 厦门市| 合作市| 旬阳县| 罗山县| 闸北区| 威远县| 河北区| 和田市| 九龙县| 临夏县| 铁岭县| 昭觉县| 松桃| 随州市| 观塘区| 和龙市| 当涂县| 英山县| 万源市| 磴口县| 英超| 长岭县| 建德市| 吴江市|