從拒絕采樣到強化學習,大語言模型推理極簡新路徑!

大語言模型(LLMs)的推理能力是當下研究熱點,強化學習在其復雜推理任務微調中廣泛應用。這篇論文深入剖析了相關算法,發現簡單的拒絕采樣基線方法表現驚人,還提出了新算法。快來一探究竟,看看這些發現如何顛覆你對LLMs訓練的認知!

論文標題
A Minimalist Approach to LLM Reasoning: from Rejection Sampling to Reinforce
來源
arXiv:2504.11343v1 [cs.LG] 15 Apr 2025
https://arxiv.org/abs/2504.11343

文章核心

研究背景

在大語言模型(LLMs)的后訓練階段,近端策略優化(PPO)是常用方法,但它存在計算開銷大、算法復雜等問題。同時,一些簡單有效的強化學習(RL)算法逐漸受到關注,如GRPO在訓練模型(如DeepSeek - R1)上取得成功,但對其有效性來源了解不足。

研究問題

  1. RL算法中不同方法處理負樣本的方式差異較大,負樣本在LLMs訓練中的作用和影響尚不明確,例如簡單地基于最終答案正確性定義負樣本可能過于粗糙。
  2. GRPO算法細節缺乏充分文檔記錄,其性能優勢是源于自身固有優點,還是與之前研究方法的延續性,有待探究。
  3. 在基于獎勵的LLMs后訓練中,算法設計和樣本選擇的重要性尚不清晰,難以確定哪種因素對模型性能提升更關鍵。

主要貢獻

  1. 重新評估簡單基線方法:發現僅使用正樣本訓練的簡單拒絕采樣基線方法RAFT,性能與最先進的RL方法GRPO差距極小,在早期訓練階段收斂更快,挑戰了傳統認為RL方法因利用負反饋而更強大的觀點。
  2. 剖析GRPO優勢來源:通過消融實驗揭示,GRPO的主要優勢并非獎勵歸一化,而是丟棄了完全錯誤響應的提示,為理解和改進基于策略梯度的RL算法提供了關鍵依據。
  3. 提出新算法Reinforce - Rej:基于研究成果提出Reinforce - Rej算法,它選擇性過濾完全正確和完全錯誤的樣本,提高了KL效率和穩定性,為獎勵基策略優化提供了一個簡單且有競爭力的基線。
  4. 明確樣本選擇重要性:強調在基于獎勵的LLMs后訓練中,樣本選擇比算法設計更重要,未來研究應聚焦于更合理地選擇和利用樣本,而不是盲目依賴負樣本。

方法論精要

  1. 核心算法/框架:研究涉及RAFT、Policy Gradient(包括Reinforce)、GRPO、Iterative DPO、RAFT++等算法。其中,RAFT通過拒絕采樣選擇正樣本微調模型;Policy Gradient旨在優化策略網絡以最大化期望獎勵;GRPO改進了Policy Gradient,采用優勢函數并進行獎勵歸一化;Iterative DPO基于成對比較數據集優化對比損失;RAFT++則是對RAFT應用重要性采樣和裁剪技術的擴展算法。
  2. 關鍵參數設計原理:在實驗中,使用AdamW優化器,學習率為$ 1×10^{-6} 。每次迭代采樣 1024 個提示, R A F T 和 G R P O 每個提示生成 。每次迭代采樣1024個提示,RAFT和GRPO每個提示生成 。每次迭代采樣1024個提示,RAFTGRPO每個提示生成 n = 4 $個響應,訓練小批量大小設置為512,模型訓練時最多生成4096個令牌。這些參數設置基于verl框架推薦,以平衡模型訓練的效率和效果。
  3. 創新性技術組合:RAFT++結合了重要性采樣和裁剪技術,在采樣過程中糾正分布偏移,同時通過裁剪防止更新過大導致訓練不穩定,有效提升了模型性能。Reinforce - Rej算法則創新性地同時過濾完全正確和完全錯誤的樣本,避免不良樣本對訓練的干擾,提高模型訓練的穩定性和效率。
  4. 實驗驗證方式:選擇數學推理任務進行實驗,使用Numina - Math數據集,該數據集包含約860k數學問題及答案,來源廣泛。模型選擇Qwen2.5 - Math - 7B - base和LLaMA - 3.2 - 3B - instruct。基線方法包括Base模型(未經過特定RL算法微調)、Iterative DPO、Reinforce、GRPO、PPO等。通過對比不同算法在多個基準測試(Math500、Minerva Math、Olympiad Bench)上的平均@16準確率來評估模型性能。

實驗洞察

  1. 性能優勢:在Qwen2.5 - Math - 7B - base模型上,RAFT平均準確率達49.9%,超過Iterative DPO(48.2%),接近PPO(51.8%);RAFT++進一步提升至52.5%,與GRPO的53.9%非常接近。在LLaMA - 3.2 - 3B - instruct模型上,RAFT平均準確率為26.3%,RAFT++為27.5%,均優于Reinforce(23.4%)。

  1. 效率突破:RAFT++在早期訓練階段收斂速度比GRPO更快,其在訓練前期準確率提升迅速。這得益于其僅使用正樣本訓練,能快速聚焦有效信息,使模型在早期訓練中快速學習和提升性能。
  2. 消融研究:研究發現從RAFT++到GRPO,RAFT++早期收斂快但后期被超越,原因是僅從正樣本學習導致策略熵快速下降,限制了探索能力。從Reinforce到GRPO的關鍵優勢在于丟棄完全錯誤的樣本,如“Reinforce + Remove all wrong”變體比Vanilla Reinforce性能提升顯著,而獎勵歸一化對性能提升貢獻較小。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/77740.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/77740.shtml
英文地址,請注明出處:http://en.pswp.cn/web/77740.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

測試——BUG篇

1. 軟件測試的生命周期 軟件測試貫穿于軟件的整個生命周期,針對這句話我們?起來看?下軟件測試是如何貫穿軟件的整個生命周期。 軟件測試的?命周期是指測試流程,這個流程是按照?定順序執?的?系列特定的步驟,去保證產品質量符合需求。在…

【Hive入門】Hive函數:內置函數與UDF開發

Apache Hive作為Hadoop生態系統中的重要組件,為大數據分析提供了強大的SQL-like查詢能力。Hive不僅支持豐富的內置函數,還允許用戶開發自定義函數(UDF)以滿足特定需求。本文將深入探討Hive的內置函數(包括數學函數、字…

關于匯編語言與程序設計——子程序設計

學習目標: 編程實現兩個數:#8888H 和 #79H 的乘除運算。 一、實驗要求 能夠熟練掌握算術運算匯編指令的使用;熟練掌握子程序設計的基本方法;熟練掌握程序的調試方法。 二、實驗設計 1.整體思路 乘法:將單字節的乘數…

AWS SQS 隊列策略配置指南:常見錯誤與解決方案

在 AWS 云服務中,Simple Queue Service (SQS) 是一種完全托管的消息隊列服務,廣泛應用于分布式系統組件間的解耦。為了確保隊列的安全訪問,正確配置隊列策略至關重要。本文將詳細介紹 SQS 隊列策略的配置方法,常見錯誤及其解決方案。 SQS 隊列策略基礎 SQS 隊列策略是基于…

Webshell管理工具的流量特征

目錄 一、常見Webshell工具流量特征 1. ??中國菜刀(Chopper)?? 2. ??冰蝎(Behinder)?? 3. ??哥斯拉(Godzilla)?? 4. ??蟻劍(AntSword)?? 5. ??C99 Shell??…

【每日八股】復習 MySQL Day3:鎖

文章目錄 昨日內容復習MySQL 使用 B 樹作為索引的優勢是什么?索引有哪幾種?什么是最左匹配原則?索引區分度?聯合索引如何排序?使用索引有哪些缺陷?什么時候需要建立索引,什么時候不需要&#xf…

Arkts完成數據請求http以及使用axios第三方庫

import http from ohos.net.http Entry Component struct HttpPage {State message: string Hello Worldbuild() {Column({space:20}) {Row(){Button(發送http請求).onClick(()>{let httpRequest http.createHttp();httpRequest.request(https://zzgoodqc.cn/index.php/in…

SELinux 從理論到實踐:深入解析與實戰指南

文章目錄 引言:為什么需要 SELinux?第一部分:SELinux 核心理論1.1 SELinux 的三大核心模型1.2 安全上下文(Security Context)1.3 策略語言與模塊化 第二部分:實戰操作指南2.1 SELinux 狀態管理2.2 文件上下…

CD34.【C++ Dev】STL庫的string的使用 (上)

目錄 1.知識回顧 2.串聯類和對象的知識重新理解 構造函數 string(); string (const string& str); string (const string& str, size_t pos, size_t len npos); string (const char* s); string (size_t n, char c); append和push_back string& append …

Git常用指令速查

Git常用指令速查 基本操作類&#xff1a; git init &#xff1a;初始化倉庫git log&#xff1a;查看日志&#xff0c;這個命令很重要&#xff01;git add <文件名|.>&#xff1a;添加到暫存區git commit -m 注釋&#xff1a;提交到倉庫git merge <分支名>&#xf…

探索無人機模擬環境的多元景象及AI拓展

無人駕駛飛行器&#xff08;UAVs&#xff09;在各行各業的迅速普及&#xff0c;從農業和檢測到空中操作和人機交互等令人興奮的前沿領域&#xff0c;都引發了一個關鍵需求&#xff1a;強大而逼真的模擬環境。直接在物理硬件上測試尖端算法存在固有的風險——成本高昂的墜機、中…

AI Agent開源技術棧

構建和編排Agent的框架 如果您是從頭開始構建&#xff0c;請從這里開始。這些工具可以幫助您構建Agent的邏輯——做什么、何時做以及如何處理工具。您可以將其視為將原始語言模型轉化為更自主的模型的核心大腦。 2. 計算機和瀏覽器的使用 一旦你的Agent能夠規劃&#xff0c…

jspm老年體檢信息管理系統(源碼+lw+部署文檔+講解),源碼可白嫖!

摘要 信息化時代&#xff0c;各行各業都以網絡為基礎飛速發展&#xff0c;而醫療服務行業的發展卻進展緩慢&#xff0c;傳統的醫療服務行業已經逐漸不滿足民眾的需求&#xff0c;有些還在以線下預約的方式接待病人&#xff0c;特別是針對于老年體檢的服務&#xff0c;是少之又…

ESP32- 開發筆記- 軟件開發 4 - GPIO 口

1 背景介紹 GPIO&#xff08;General Purpose Input/Output&#xff09; ——通用輸入輸出口&#xff0c;就是能由軟件自由控制輸入&#xff08;接收外界信號&#xff09;或輸出&#xff08;發出電平信號&#xff09;的引腳。 ESP32 最核心的功能之一&#xff0c;能被用來控制…

格式工廠:多媒體轉換工具

格式工廠&#xff08;FormatFactory&#xff09;是一款免費且功能全面的多媒體格式轉換工具&#xff0c;支持視頻、音頻、圖片及文檔等多種格式的轉換&#xff0c;覆蓋超過70種語言&#xff0c;并兼容Windows XP至Win10/11系統。軟件基于FFmpeg解碼庫開發&#xff0c;支持高效轉…

在Anolis OS 8上部署Elasticsearch 7.16.1與JDK 11的完整指南

目錄 1. 環境與版本選擇 1.1 操作系統選擇:Anolis OS 8 1.2 版本匹配說明 1.3 前置條件檢查 2. JDK 11安裝與配置 2.1 安裝流程 2.2 配置詳解 3. Elasticsearch 7.16.1安裝與優化 3.1 基礎安裝 3.2 目錄規劃與權限 3.3 核心配置文件詳解 3.4 JVM調優 4. 用戶權限管…

Java中final關鍵字的作用?

在Java中&#xff0c;final 關鍵字用于表示不可變性&#xff0c;具體作用取決于它修飾的目標&#xff08;變量、方法或類&#xff09;。以下是其核心作用&#xff1a; 1. 修飾變量&#xff08;常量&#xff09; 基本類型變量&#xff1a;值不可更改&#xff08;常量&#xff09…

自動伴隨無人機說明文檔

自動伴隨無人機說明文檔 一、無人機參數二、能力說明三、操作流程3.1 模式定義3.2 啟動流程3.3 可調參數&#xff08;建議默認&#xff09; 四、特別注意五、最后 一、無人機參數 型號&#xff1a;S400視覺pro版軸距&#xff1a;400mm起飛重量&#xff1a;1300g額外載重&#…

53.[前端開發-JS實戰框架應用]Day04-Bootstrap入門到項目實戰

Bootstrap入門到實戰 1 認識Bootstrap 認識Bootstrap Bootstrap起源和歷史 Bootstrap3-5版本的區別 Bootstrap優缺點 學習Bootstrap的理由 2 Bootstrap安裝 Bootstrap4的安裝 方式一 : CDN <!DOCTYPE html> <html lang"en"> <head><meta cha…

C#:創建變量和類的實例

在 C# 編程中&#xff0c;類作為引用類型&#xff0c;創建其變量和實例涉及到內存分配等重要概念。以下為你詳細介紹創建類實例的步驟和相關操作。 類的聲明與變量聲明 類的聲明就像是創建類實例的藍圖。當我們聲明一個類后&#xff0c;就能夠創建該類的實例。類屬于引用類型…