强化学习及过程监督学习笔记

写在前面

笔者将在这篇文章中,写下有关过程监督,反馈对齐,奖励模型,和数据构造相关的论文的笔记。

论文主要来自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%

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