verl-project/verl-recipe
A set of examples based on verl for end-to-end RL training recipes.
什麼是 verl‑recipe?
verl‑recipe 是一個配套儲存庫,為 VeRL 套件(位於 https://github.com/verl-project/verl)打包了 配方 —— 即預先建置好的範例專案與設定。VeRL 是一個用於大語言模型(LLM)強化學習(RL)研究的開源框架。每個配方示範特定的 RL 技術、基準測試或整合(例如,LLM 的工具使用、單串流策略最佳化、使用 LangGraph 的多回合數學求解等)。
它如何運作
- 子模組整合 —— 此儲存庫應作為子模組加入主 VeRL 檢出(
verl/recipe)中。這可確保配方與測試過的 VeRL 版本保持版本鎖定。 - 版本固定 —— 每個配方目錄中包含一個
REQUIRED_VERL.txt檔案,記錄以下資訊:- 上游 VeRL 的 git URL。
- 配方是遵循目前的
main分支,還是固定到特定提交或發布標籤。 - 安裝匹配 VeRL 版本所需的
pip install …命令。 - 對於 滾動 配方,儲存三個提交雜湊,以確保核心套件與配方樹皆可重現地固定。
- 一鍵安裝器 ——
install_verl.sh指令碼讀取配方的REQUIRED_VERL.txt,並自動執行相應的pip install(或基於 git 的可編輯安裝)。它可列出所有配方、顯示將要執行的精確命令,或安裝選定的配方(支援--method git、--option …等可選旗標)。 - 貢獻工作流程 —— 新增或更新配方時,貢獻者必須更新
REQUIRED_VERL.txt以反映新的 VeRL 版本。該儲存庫使用pre‑commit與ruff程式碼檢查器來維持程式碼整潔。
你可以用它做什麼
- 無需從頭建置環境,即可執行 LLM 上的前沿 RL 實驗。例如:
- retool – LLM 中戰略性工具使用的強化學習。
- langgraph_agent – 一個小型 LangGraph ReactAgent,用於展開多回合數學表達式。
- spo – Single‑stream Policy Optimization(arXiv:2509.13232)的實作。
- partial_rollout – 支援中斷/恢復的同步式 RL,以減少 GPU 空閒時間(APRIL 風格)。
- verl_tinker – 一個 HTTP 伺服器,公開 VeRL 動作器,可與 Tinker 烹飪書客戶端搭配使用。
- 透過選擇配方中定義的選項來實驗研究變體(例如,DAPO 或 FlowRL 的論文特定檢查點)。
- 由於每個配方都固定了確切的 VeRL 提交以及其依賴的任何輔助子模組提交,因此可重現已發表的結果。
適合誰使用?
- 希望獲得可重現、社群驗證起點的 LLM 強化學習研究人員與工程師。
- 尋找語言模型上高階 RL 方法具體範例的學生。
- 已經使用 VeRL 的開發者,需要快速新增新實驗設定。
快速入門(快速步驟)
# 克隆 VeRL 並將配方作為子模組拉取
git clone https://github.com/verl-project/verl.git
cd verl
git submodule update --init --recursive recipe
# 列出所有可用配方及其固定的安裝命令
./recipe/install_verl.sh --list
# 安裝特定配方,例如 "retool" RL 工具使用範例
./recipe/install_verl.sh --recipe retool
該指令碼將顯示它將執行的精確 pip install 命令,您可加入 --show 進行預演,或加入 --yes 跳過確認。
簡而言之: verl‑recipe 是一個與 VeRL 套件並存的、經篩選的可重現 LLM 強化學習範例集合,並配有工具以確保套件與配方完全同步。
相關
- 專案
- 專案
- 專案
- 專案
- 專案