一文讀懂 GenPRM:用生成推理擴展過程獎勵模型測試時間計算

# 一文讀懂 GenPRM:用生成推理擴展過程獎勵模型測試時間計算 > [論文鏈接](https://arxiv.org/abs/2504.00891 "論文鏈接") > [代碼鏈接](https://github.com/RyanLiu112/GenPRM "代碼鏈接") > [模型鏈接](https://huggingface.co/collections/GenPRM/genprm-67ee4936234ba5dd16bb9943 "模型鏈接") > **參考文獻**:GenPRM: Scaling Test-Time Compute of Process Reward Models via Generative Reasoning by Zhao et al. arXiv:2504.00891 最近,過程獎勵模型(PRMs)作為驗證器,成為提升大語言模型(LLMs)性能的一種很有前景的方法。然而,當(dāng)前的 PRMs 面臨著三個關(guān)鍵挑戰(zhàn):第一,過程監(jiān)督和泛化能力有限;第二,依賴標(biāo)量值預(yù)測,沒有充分利用大語言模型的生成能力;第三,無法擴展 PRMs 在測試時的計算量。 為了解決這些問題,本文引入了 GenPRM,這是一種生成過程獎勵模型。它在對每個推理步驟進行判斷之前,會通過代碼驗證來執(zhí)行顯式思維鏈(CoT)推理。 ![](https://upload-images.jianshu.io/upload_images/17294212-cb58e8e2bfc7ec27.png) ## 主要貢獻 1. 提出了一種生成過程獎勵模型,該模型通過代碼驗證執(zhí)行顯式 CoT 推理,并利用相對進度估計(Relative Progress Estimation)來獲取準(zhǔn)確的 PRM 標(biāo)簽。 2. 在 ProcessBench 和常見數(shù)學(xué)推理任務(wù)上的實證結(jié)果表明,GenPRM 優(yōu)于先前基于分類的 PRMs。 ## Preliminaries ### 1. 馬爾可夫決策過程 用 PRMs 將測試時間縮放過程表示為一個馬爾可夫決策過程(MDP),由 $(??,??, ??, ??, ??)$ 定義。其中,$??$ 是狀態(tài)空間,$??$ 是動作空間,$??$ 代表轉(zhuǎn)移動態(tài),$?? : ?? × ?? → R$ 是獎勵函數(shù),$?? ∈ [0, 1]$ 是折扣因子。目標(biāo)是優(yōu)化每個步驟的獎勵(如基于搜索的方法),或者優(yōu)化整個響應(yīng)的獎勵(如最佳 N 抽樣)。 ### 2. 監(jiān)督微調(diào) 訓(xùn)練模型根據(jù)先前的上下文預(yù)測下一個令牌。對于數(shù)據(jù)集 $??_{SFT} = \{(??^{(??)}, ??^{(??)})\}_{?? = 1}^{??}$,SFT 損失為: ![](https://upload-images.jianshu.io/upload_images/17294212-75b93b879d758ac7.png) 其中 $??_??$ 表示具有參數(shù) $??$ 的模型。 ### 3. 測試時間縮放 考慮兩種測試時縮放方法: - **多數(shù)投票**:從所有解決方案中選擇出現(xiàn)頻率最高的答案。 - **Best-of-N (BoN)**:從 $N$ 個候選解決方案中選擇最佳答案。 ## GenPRM 的總體框架 ![](https://upload-images.jianshu.io/upload_images/17294212-9d88151eb396b855.png) 由六個關(guān)鍵部分組成: 1. **策略模型**:生成解決方案步驟,MC 分?jǐn)?shù)根據(jù)展開軌跡進行估計。 2. **RPE**:提出的相對進度估計(RPE)可導(dǎo)出準(zhǔn)確的 PRM 標(biāo)簽。 3. **數(shù)據(jù)合成**:通過帶有代碼驗證的思維鏈推理,合成高質(zhì)量的過程監(jiān)控數(shù)據(jù)。 4. **訓(xùn)練過程**:應(yīng)用共識過濾,然后進行監(jiān)督微調(diào)(SFT)來訓(xùn)練 GenPRM。 5. **驗證與擴展**:經(jīng)過訓(xùn)練的 GenPRM 充當(dāng)驗證者或批評家,為策略模型提供增強的測試時間擴展能力。 6. **性能提升**:GenPRM 的性能通過測試時間縮放進一步提高。 ## 從判別 PRM 到生成 PRM ### 1. 其他 PRM 方法 - **判別性 PRM**:假設(shè)我們有一個 PRM 數(shù)據(jù)集 $??_{Disc} = \{(??_t, ??_t), ??_t\}$,其中 $??_t ∈ \{0, 1\}$ 用于硬估計的 PRM 標(biāo)簽。判別性 PRM $??_??$ 通過交叉熵?fù)p失進行訓(xùn)練。 ![](https://upload-images.jianshu.io/upload_images/17294212-2d8e46235f0c8645.png) - **直接生成 PRM**:使用數(shù)據(jù)集 $??_{Direct - Gen} = \{(??_t, ??_t), ??_t\}$,其中如果步驟正確 $??_t$ 為“Yes” ,否則為“No”。直接生成 PRM 通過監(jiān)督微調(diào)來訓(xùn)練,以預(yù)測每個步驟的“Yes”或“No”。對于步驟 $t$,我們將“Yes”令牌的概率作為預(yù)測的過程獎勵 $\hat{r}_t$: ![](https://upload-images.jianshu.io/upload_images/17294212-2ab6bfa983f5abce.png) ### 2. 生成 PRM 通過為直接生成 PRM 配備像 CoT 這樣的顯式推理過程來獲得。設(shè) $v_{1:t - 1}$ 表示從步驟 1 到 $t - 1$ 的基本原理,$v_t$ 表示步驟 $t$ 的基本原理。假設(shè)我們有一個數(shù)據(jù)集 $??_{Gen} = \{(??_t, ??_t, v_{1:t - 1}), (v_t, ??_t)\}$。GenPRM 通過對該數(shù)據(jù)集進行監(jiān)督微調(diào),學(xué)習(xí)對每個步驟進行推理和驗證。生成過程獎勵 $\hat{r}_t$ 可以通過以下等式獲得: ![](https://upload-images.jianshu.io/upload_images/17294212-ec653b87c14ddaa4.png) ### 3. 具有代碼驗證的生成 PRM 與生成 PRM 的不同之處在于,它會生成代碼,通過執(zhí)行代碼來驗證推理步驟,并根據(jù)執(zhí)行結(jié)果給出判斷。在步驟 $t$,生成包含 CoT 和代碼的基本原理 $v_t$ 后,我們執(zhí)行代碼并獲得反饋 $f_t$。 給定當(dāng)前狀態(tài) $??_t$、動作 $??_t$、先前的基本原理 $v_{1:t - 1}$ 以及先前相應(yīng)的執(zhí)行反饋 $f_{1:t - 1}$,PRM 首先生成基本原理 $v_t$。執(zhí)行并獲得反饋 $f_t$ 后,我們按如下方式計算最終的生成過程獎勵: ![](https://upload-images.jianshu.io/upload_images/17294212-160e32866aada8e9.png) ## 使用 GenPRM 進行測試時間縮放 ### 1. 政策模型 TTS:GenPRM 作為驗證者 為了擴展策略模型的測試時間計算量,可以從策略模型中采樣多個響應(yīng),然后使用 GenPRM 作為驗證器,以并行 TTS 的方式選擇最終答案。 ### 2. 政策模型 TTS:GenPRM 作為批評家 通過為 PRM 配備生成過程監(jiān)督能力,GenPRM 可以自然地用作批評家模型,來優(yōu)化策略模型的輸出。我們可以以順序 TTS 的方式,通過多個輪次來擴展優(yōu)化過程。 ### 3. GenPRM TTS 在評估每個解決方案步驟時,我們首先對 $N$ 個推理驗證路徑進行采樣,然后使用多數(shù)投票,通過平均獎勵來獲得最終預(yù)測。 對于沒有代碼驗證的 GenPRM,獎勵計算如下: ![](https://upload-images.jianshu.io/upload_images/17294212-f4215cc899b5b244.png) 進一步將代碼驗證和執(zhí)行反饋納入此推理過程: ![](https://upload-images.jianshu.io/upload_images/17294212-faf86986dba4dee5.png) 然后,獎勵可用于對策略模型的響應(yīng)進行排名,或者通過閾值 0.5 轉(zhuǎn)換為二進制標(biāo)簽,以判斷步驟的正確性。 ## GenPRM 數(shù)據(jù)綜合 該流程由三個階段組成: ### 1. 解決方案生成和蒙特卡羅估計 - **使用步進強制生成解決方案**:利用 MATH 數(shù)據(jù)集訓(xùn)練集中的 7500 個問題作為問題集,將 Qwen2.5–7B-Instruct 用作生成模型,為每個問題收集多個解決方案。具體來說,添加“Step 1:”作為生成模型完成響應(yīng)的前綴。對于具有 $T$ 個推理步驟的響應(yīng),格式如下: ``` Step 1: {step content} ... Step T: {step content} ``` 為確保有足夠數(shù)量的正確和不正確路徑,對難題和簡單題都采樣多達 2048 條路徑。如果在采樣 2048 個響應(yīng)后,仍未找到正確或不正確的路徑,則丟棄相應(yīng)的問題。 - **平衡 MC 估計的精度和效率**:使用基于完成的抽樣方法,估計每個步驟的正確概率。對于每個推理步驟 $??_t$,我們使用完成模型(特別是 Qwen2.5-Math-7B-Instruct)生成 $K$ 個完成軌跡,并使用 MC 估計來計算當(dāng)前步驟 $??_t$ 正確的概率。公式為: ![](https://upload-images.jianshu.io/upload_images/17294212-9040904cc2842543.png) 其中 $q_j$ 是第 $j$ 個響應(yīng)的答案,$q^*$ 是真實答案,$1$ 是指示函數(shù)。 為平衡計算成本,基于估計的 Pass@1 $????(??_1)$ 使用動態(tài)的 $K$: ![](https://upload-images.jianshu.io/upload_images/17294212-5c6498c054b95ab7.png) ### 2. 相對進度估計 提出相對進度估計(RPE),其與 GRPO 中的相對優(yōu)勢估計思路相似,用于改進傳統(tǒng)的硬標(biāo)簽估計。MC 分?jǐn)?shù)是對當(dāng)前狀態(tài) $??_t$ 的經(jīng)驗估計。要評估當(dāng)前動作 $??_t$ 的質(zhì)量,自然要比較下一個狀態(tài) $??_{t + 1}$ 與當(dāng)前狀態(tài) $??_t$ 的 MC 分?jǐn)?shù),因為 $??_{t + 1} = [??_t, ??_t]$。 對于每個響應(yīng),如果第一個錯誤步驟是步驟 $t'$(即 $????(??_{t'}) = 0$),我們將后續(xù)步驟的 MC 分?jǐn)?shù)設(shè)置為 0。我們?yōu)椴襟E $t$ 定義的 RPE $??_t$ 如下: ![](https://upload-images.jianshu.io/upload_images/17294212-fd40049feafc67c3.png) 其中 $????(??_1)$ 是在解生成階段計算的估計 Pass@1。通過引入閾值 $??$ 來估計最終的獎勵標(biāo)簽 $\hat{r}_t$: ![](https://upload-images.jianshu.io/upload_images/17294212-3a1037e03af05391.png) ### 3. 理由生成、驗證和過濾 使用 QwQ-32B 作為基本原理生成模型,并引入一個三步流程,自動生成和驗證每個推理步驟的基本原理。 給定一個問題 $x$、真實答案 $q^*$ 和候選步驟 $\{??_1, · · ·, ??_T\}$,生成和驗證過程如下: - **基于代碼的基本原理生成**:提示基本原理生成模型將 CoT 包圍在``和``中,將代碼包圍在``和``中。使用以下提示: ``` [System]: 你是一名數(shù)學(xué)老師。你的任務(wù)是用Python代碼逐步審查和評論解決方案中的段落。 [User]: 以下是數(shù)學(xué)問題和一個解決方案(拆分為段落,用標(biāo)簽括起來并從1開始索引): [Math Problem] {problem} [Solution] {solution_section_1} ... {solution_section_n} 你的任務(wù)是驗證解決方案中段落的正確性。通過‘### Paragraph {{ID}}‘拆分你的驗證內(nèi)容。 你對每個段落的驗證內(nèi)容應(yīng)由兩部分組成,分別用‘‘和‘‘括起來。 1. 在‘‘部分,你需要分析推理過程,并詳細解釋該段落正確或錯誤的原因。 2. 在‘‘部分,你必須以‘‘‘python\n{{CODE}}\n‘‘‘的形式編寫Python代碼,以驗證所有可通過代碼驗證的細節(jié)。你可以導(dǎo)入PyPI(如‘sympy‘、‘scipy‘等)來實現(xiàn)復(fù)雜計算。確保在代碼中打印評論結(jié)果。系統(tǒng)會自動執(zhí)行每個代碼。你需要分析代碼執(zhí)行后的‘[Code Output]‘。 注意,編寫代碼時必須遵循‘‘‘python\n{{CODE}}\n‘‘‘的格式,否則代碼將無法執(zhí)行。 在所有驗證完成后,如果你在某個段落中發(fā)現(xiàn)錯誤,請返回最早出現(xiàn)錯誤的段落的索引。否則,返回索引 -1(通常表示“未找到”)。請將你的最終答案(即索引)放在‘$\\boxed{{INDEX}}$‘形式的框內(nèi)。 ``` - **代碼執(zhí)行和驗證**:使用生成的代碼,執(zhí)行它并獲得步驟 $t$ 的反饋 $f_t$。執(zhí)行反饋格式化為[Code output: {execution result}],并連接到生成的 CoT 和代碼,作為后續(xù)生成的前綴。 - **標(biāo)簽判斷和共識過濾**:在生成并驗證所有候選步驟的基本原理數(shù)據(jù)后,基本原理生成模型最終輸出一個數(shù)字。如果所有步驟都被推斷為正確,該數(shù)字將為 -1,否則將是第一個錯誤步驟的索引。 ## 實驗 ### 1. 實施細節(jié) 使用 QwQ-32 和上述用于 CoT 和代碼基本原理生成的提示模板生成基本原理數(shù)據(jù)?;灸P蛠碜?DeepSeek-R1-Distill 系列,特別是 1.5B、7B 和 32B 參數(shù)變體。提取``標(biāo)簽內(nèi)的內(nèi)容,專門關(guān)注策略模型預(yù)測為負(fù)面的步驟。 ### 2. ProcessBench 結(jié)果 下表顯示了使用 F1 分?jǐn)?shù)報告的 ProcessBench 結(jié)果:(此處應(yīng)插入原文中對應(yīng)的表格) ![](https://upload-images.jianshu.io/upload_images/17294212-93b96b2b2e474ccd.png) 上表的主要見解如下: - GenPRM 在 ProcessBench 上優(yōu)于基于分類的 PRMs。GenPRM-7B 顯著優(yōu)于直接生成 PRM,并超越了 ProcessBench 上參數(shù)小于 72B 的所有先前 PRMs。 - GenPRM 通過 TTS 使較小的 PRM 超過 10 倍規(guī)模更大的 PRM 和 GPT-4o。GenPRM-1.5B 在 ProcessBench 上通過簡單的多數(shù)投票超過 GPT-4,GenPRM-7B 超過 Qwen2.5-Math-PRM-72B,這表明擴展測試時間計算對 GenPRM 非常有效。 ### 3. 策略模型測試時間縮放結(jié)果 - **GenPRM 作為驗證者**:下圖顯示,GenPRM-7B 優(yōu)于所有類似大小的基于分類的 PRMs,甚至通過測試時間縮放超過 Qwen2.5-Math-PRM-72B。(此處應(yīng)插入原文中對應(yīng)的圖) ![](https://upload-images.jianshu.io/upload_images/17294212-093bb76784e93fdc.png) 圖(a) - (d)中的結(jié)果表明,以 Qwen2.5-Math-7B-Instruct 作為生成模型,GenPRM 在 MATH、AMC23、AIME24 和 Minerva Math 任務(wù)上優(yōu)于基線模型。圖(e) - (h)表明,以 Gemma-3–12b-it(Gemma Team 和 Google DeepMind,2025)作為生成模型,GenPRM 對相應(yīng)的響應(yīng)也有很好的泛化能力。 ![](https://upload-images.jianshu.io/upload_images/17294212-3f5d998c55d6e97e.png) - **GenPRM 作為批評家**:下表顯示了評論細化實驗的結(jié)果: ![](https://upload-images.jianshu.io/upload_images/17294212-a5bf8a13000f572b.png) 下圖顯示,GenPRM 比基線模型表現(xiàn)出更強的批評能力,顯著提高了策略模型的性能,并且隨著基于批評反饋的更多細化,性能持續(xù)提升。(此處應(yīng)插入原文中對應(yīng)的圖) ![](https://upload-images.jianshu.io/upload_images/17294212-a44bf7ad694fd77d.png) ## 限制 1. GenPRM 通過生成推理提供過程監(jiān)督,在推理階段引入了額外的計算量。 2. GenPRM 主要關(guān)注數(shù)學(xué)推理任務(wù),尚未探索在編碼和一般推理任務(wù)上的實現(xiàn)。 ## 結(jié)論 提出了 GenPRM,這是一種生成過程獎勵模型,它為過程監(jiān)督執(zhí)行顯式推理和代碼驗證,并能夠擴展 PRMs 的測試時間計算量。 在 ProcessBench 和幾個數(shù)學(xué)數(shù)據(jù)集上的實驗結(jié)果表明,GenPRM 優(yōu)于先前的 PRMs。實驗還證明,GenPRM 的性能通過測試時間縮放得到提升,并且 GenPRM 作為批評家模型是有效的。 本文由[mdnice](https://mdnice.com/?platform=6)多平臺發(fā)布
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容