強化學習及過程監督學習筆記

寫在前面

筆者將在這篇文章中,寫下有關過程監督,反饋對齊,獎勵模型,和數據構造相關的論文的筆記。

論文主要來自Openai的論文。

 

問題坑

獎勵模型是如何輸出精確的標記的?在解決方案的每個標記後做出標量預測(具體細節?)。

論文挖坑列表

 

 

基於過程監督+獎勵模型實現複雜數學題的求解

Improving mathematical reasoning with process supervision (openai.com)

 要點如下

0,設計了PRM(過程監督獎勵模型)

1,採用了15億個數學相關的Token(數據集爲MathMix)進行微調,發現能夠提高性能模型的數學性能。

2,訓練過generater以一行一行的形式輸出該問題的解決方案

3,Openai採用了一個叫做PRM800K的數據集,基於12k個問題,生成了75k個solution,共有800k個steps。

4,數據標記過程爲對每一個steps進行標記。

5,數據標記時沒有對全部的數據進行標記(因爲有一些明顯就錯了),選擇了能騙過PRM的數據集進行標記(也就是模型看不出有問題的,但結果是錯的答案),該步在原論文的4.1中有進行講解,論文譯文如下:

 

我們選擇每個問題的N個樣本,使得80%是最令人信服的(根據PRMselector)錯誤答案樣本,而剩下的20%是剩下的最令人信服的樣本(正確或錯誤的答案)。我們用PRMlarge爲選定的樣本打分並在這些分數上進行訓練。這個過程確保所有樣本在PRMselector下都相對令人信服,大部分已知至少包含一個錯誤,而我們的整個數據集並沒有過度偏向錯誤答案的解決方案。這種數據標註方案的性能如圖4a所示。通過比較最佳擬合線的斜率(有無主動學習),我們估計這種形式的主動學習比均勻數據標註約高出2.6倍的數據效率。

 

6,ORM爲結果監督模型,用於確定ORM目標的自動評分並不完全可靠:通過錯誤的推理達到正確答案的解決方案會被誤判。

7,PRM採用了標準的語言模型pipeline進行訓練。

8,PRM的正確率計算爲PRM下每一步都正確的概率的乘積。

9,過程監督時只訓練到第一個錯誤的步驟(相比結果監督,可以提供錯誤的位置)。

10,PRM800K訓練時出現了嚴重偏向錯誤答案的傾向(這和我們訓練BERT時一致,負例過多)

11,採用了多數基線算法?majority voting其實就是生成了多個答案然後比較哪個答案出現的比較多。

12,採用了RM-weighted voting 算法?(未知細節,待填坑)

13,大規模收集人類反饋成本過高,不能輕易用人類標籤消除這些因素,需要用PRM_large來監督PRM_small

14,Openai在測試時採用了別的類型的題目,以驗證泛化的能力,輸入了AP物理,AP化學的題目,發現均有大幅提升(絕對10%的提升)

 

訓練一個verifier用於判斷數學題是否正確

2110.14168.pdf (arxiv.org)

這個也是Openai發表的文章,不過是21年的文章了

1,Openai自己人工創建了一個小學數學數據集GSM8K,有8.5K道題目,需要2-8步來解決。具有高多樣性,高質量,適度的挑戰和自然語言的解決方案。(數據已開源)

2,採用純微調的性能並不高,GPT-3 6B 模型的準確率只有23%,在T=0.7時生成100個樣本能有84%的召回率。

3,Verifier的訓練方法爲:在步驟2中用generater生100個答案,然後打上正確/錯誤的標籤,然後由(題目,分步答案i,結果)去訓練verifier。verifier輸出的是“正確與否”的概率。

4,在最後輸出的時候,每做一道題目,就用generater生成100個答案,然後用verifier來輸出的概率來排序,然後返回得分最高的答案。

5,相比於上一篇論文,這裏採用的是ORM(結果監督函數)

6,這樣改進後,6B模型準確率提高至40%。(甚至超過了175B模型在沒有這麼訓練的性能),(當然也看出來了這個Verifier的準確率沒那麼高),採用多數投票可以達到44%

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章