Synthetic-Data-Zero-RL:讓RL左腳踩右腳

MLNLP社群是國內外知名的機器學習與自然語言處理社群,受眾覆蓋國內外NLP碩博生、高校老師以及企業研究人員。
社群的願景是促進國內外自然語言處理,機器學習學術界、產業界和廣大愛好者之間的交流和進步,特別是初學者同學們的進步。
來源 | 知乎
作者|haotian
如果想左腳踩右腳,一個核心問題是:如何構造合適的prompt,且答案相對比較準確,這樣,我們就能不斷生成prompt並獲取到gold-answer,且用該資料集做rl的訓練,提升policy-model的效能。更進一步可以針對當前policy-model的能力評估結果,針對性合成相關的資料,提升policy的能力。(當然,也可以根據測試集針對性構造 測試集的模擬題)。
目前,合成prompt的方法有很多如EVOL-INSTRUCT、SELF-INSTRUCT等等。OpenCodeInstruct[1]提出了GENETIC INSTRUCT framework,合成了500萬的code-sft-dataset,並在不同的base-model上均取得了不俗的效果:

RL能否左腳踩右腳,很大程度上取決於能否“因材施教”即根據當前policy的效能,自動化合成prompt&gold-answer,針對性提升模型缺失的技能、思維方法等等。
這裡,我們選用PromptCoT[2]開源的資料作為rl訓練的資料,prompt為合成數據且answer從r1-distill-qwen-7b蒸餾的response裡面直接提取。(經驗上,用多次取樣+投票的機制,可能answer會更準確,但不可能避免引入teacher-model的bias。)
prompt-cot的合成過程如下:

合成過程

基於種子資料,提取concepts和rationales以及難度,並根據concepts/rationales/難度生成prompt。使用額外的評估模型評估prompt的質量如是否清晰/有答案等等。最終,多次拒絕取樣後,得到prompt集合。最後一步,則是選擇teacher-model獲取對應的response。注意:這裡,並沒有使用複雜的策略保證蒸餾response的答案准確率。在保證種子資料去汙染的情況下,prompt-cot算一個‘clean’的dataset。
PromptCoT已驗證蒸餾資料的sft效果:在1.5b/7b-r1-distill上面,均有較大幅度的提升。

我們這裡,主要驗證zero-rl上使用這份合成數據是否有提升:
  • • 如果合成數據質量差(prompt沒答案/蒸餾資料的答案錯誤等等),道理上,base上的rl結果會比較慘淡
  • • 如果合成數據質量較好,道理上,可以達到如orz/dapo/vapo的效果。
出於實驗成本考慮,我們目前主要在qwen25-7b-base上進行了初步實驗(還沒有跑完訓練)

實驗設定

base-model:qwen25-7b-base,rollout-num=16, learning-rate=1e-6
訓練配置:clip-higher(clip-ratio非對稱)/acc-filter(0.1-0.8之間)/response_length-filter/repeatness-filter/token-level-loss(目前RL訓練的基礎配置)

結果如下

目前,只跑到550-step,但從上表可以看出,大部分資料集指標均接近orz-ppo的效果。orz-ppo為官方release的模型(使用57k資料訓練)。
不管使用grpo還是reinforce++_baseline,基於prompt-cot的資料,zero-rl的效果可以和使用人工資料orz-57k達到相當的效果。初步表明PromptCoT的合成數據的質量確實有一定保障,以及使用7b-r1-distill作為teacher生成的response的答案准確率較高(雖然還沒加複雜的答案投票機制)。
近期,Text to RL[3]提出了一個textbook合成rl資料的方法,且在instruct-model上做rl也有一定的正向收益:

基於以上結果,有理由相信,左腳踩右腳的可能性和前景,畢竟prompt-cot的prompt生成模型只是llama3.1-8b

總結

合理的prompt生成+reasoning-model蒸餾+答案投票(推理模型的投票能力都較強),可以為rl提供更多的答案可驗證資料,進一步這些資料亦可用於pretrain階段,提升資料的覆蓋率,以及提供反事實資料(如 加入 不可解的問題等等)。
當然,現在llm的rl實驗多數的說服力較低(RL的隨機性更多:框架/推理引擎版本/隨機數種子/各種未公開trick等等),以及 大部分實驗結果只報了一次實驗的結果(可能只報了峰值結果,沒有報多次實驗的平均結果,當然也因為訓練週期長,多次實驗成本過高,所以,大部分結果需要理性對待)。

最後,yy一下

  • • prompt生成和policy解題放到一個訓練流程裡面,線上根據policy的評估效果調整prompt生成—>個性化模型訓練/對抗訓練
  • • 取樣引擎的問題會影響訓練精度,尤其是rollout樣本的分佈。為了規避這部分的影響,需要更多的filter過濾樣本,以及保持rollout-樣本之間有足夠的差異性/多樣性(語料質量評估/多樣性評估等等),還是那個觀點:做好replay-buffer的資料質量/多樣性控制,比硬調演算法trick更關鍵,否則,很可能演算法trick在解決replay-buffer的資料質量問題。

引用連結

[1] OpenCodeInstruct: https://arxiv.org/abs/2504.04030[2] PromptCoT: https://arxiv.org/abs/2503.02324[3] Text to RL: https://tufalabs.ai/blog/_site/jekyll/update/2025/03/25/textbooks-to-rl.html

技術交流群邀請函

△長按新增小助手
掃描二維碼新增小助手微信
請備註:姓名-學校/公司-研究方向
(如:小張-哈工大-對話系統)
即可申請加入自然語言處理/Pytorch等技術交流群

關於我們

MLNLP 社群是由國內外機器學習與自然語言處理學者聯合構建的民間學術社群,目前已經發展為國內外知名的機器學習與自然語言處理社群,旨在促進機器學習,自然語言處理學術界、產業界和廣大愛好者之間的進步。
社群可以為相關從業者的深造、就業及研究等方面提供開放交流平臺。歡迎大家關注和加入我們。


相關文章