根据OpenAI展示的论文显示,训练CriticGPT模型的第一步是通过篡改的方式开发一套动态数据生成机制,在数据集中故意地在模型生成的答案中插入错误内容。
这不仅是简单地添加错误,而是要求篡改记录下他们插入的每个错误的详细描述,就像在代码审查中发现了这些错误一样,为训练数据提供了丰富的错误示例。
然后,再训练一个奖励模型来预测人类对评论质量的排名。这个奖励模型的目的是评估评论模型生成的评论是否全面、是否包含了特定的错误,以及是否避免了无关紧要的问题或虚假错误。
通过这种方式,可确保评论模型在生成评论时能够平衡准确性和全面性。
在策略优化阶段,使用了近端策略优化(PPO)算法来优化评论模型的行为策略,允许模型在保持策略更新幅度较小的同时,有效地学习如何改进其输出。
同时引入了一种FSBS的推理采样策略,通过在生成评论时强制模型产生特定的高亮部分,然后根据奖励模型的评分选择最佳评论。这种方法允许模型在生成更长、更全面的评论时,减少虚假问题的产生。
根据实验数据显示,评论模型在检测代码错误的表现非常出色,相比人类高出60%,比很多专业的外包更能发现大模型输出的问题所在。
但OpenAI表示,CriticGPT并非总是正确的,有时候也可能输出不正确的内容来误导人类。所以,在使用时需要搭配使用。