你正在參加 Google 的研究科學家面試。 面試官:我們有一個在數學方面表現糟糕的基礎 LLM。你會如何將它變成一個數學和推理的強者? 你:我會標記一些問題並微調模型。 面試結束。 這是你錯過的內容:
當輸出是可驗證的時候,標籤變得可選。 數學、代碼和邏輯可以自動檢查和驗證。 讓我們利用這一事實來建立一個不需要手動標記的推理模型。 我們將使用: - @UnslothAI 進行參數高效的微調。 - @HuggingFace TRL 來應用 GRPO。 讓我們開始吧!🚀
什麼是 GRPO? 群體相對政策優化(Group Relative Policy Optimization)是一種強化學習方法,通過使用確定性獎勵函數來微調大型語言模型(LLMs)以應對數學和推理任務,消除了對標記數據的需求。 在我們進入代碼之前,這裡是 GRPO 的簡要概述:
1️⃣ 載入模型 我們首先使用 Unsloth 載入 Qwen3-4B-Base 及其標記器。 您可以在這裡使用任何其他開放權重的 LLM。 查看這個 👇
2️⃣ 定義 LoRA 配置 我們將使用 LoRA 來避免微調整個模型權重。在這段代碼中,我們通過指定以下內容來使用 Unsloth 的 PEFT: - 模型 - LoRA 低秩 (r) - 微調的模塊等。 查看這個 👇
3️⃣ 創建數據集 我們加載 Open R1 Math 數據集(數學問題數據集)並將其格式化以進行推理。 每個樣本包括: - 一個強制結構化推理的系統提示 - 數據集中的一個問題 - 以所需格式的答案 查看這段代碼 👇
4️⃣ 定義獎勵函數 在 GRPO 中,我們使用確定性函數來驗證回應並分配獎勵。 不需要手動標記! 獎勵函數: - 完全匹配格式 - 大致匹配格式 - 檢查答案 - 檢查數字 查看這個 👇
5️⃣ 使用 GRPO 開始訓練 現在我們已經準備好數據集和獎勵函數,是時候應用 GRPO 了。 HuggingFace TRL 提供了我們在 GRPO 圖中描述的所有內容,開箱即用,以 GRPOConfig 和 GRPOTrainer 的形式提供。 查看這個👇
6️⃣ 比較 再次,我們可以看到 GRPO 如何將基礎模型轉變為推理強者。 看看這個👇
在我們結束之前,讓我來回答一個重要問題: 何時應該使用強化微調(RFT)而不是監督微調(SFT)? 我創建了這個圖表來提供答案:
157.4K