GPT-4批评GPT-4实现「自我提升」!OpenAI前超级对齐团队又一力作被公开

  新智元报道

  编辑:乔杨

  今天,OpenAI 悄悄在博客上发布了一篇新论文——CriticGPT,而这也是前任超级对齐团队的「遗作」之一。CriticGPT 同样基于 GPT-4 训练,但目的却是用来指正 GPT-4 的输出错误,实现「自我批评」。

  OpenAI 最近的拖延症状逐渐严重,不仅 GPT-5 遥遥无期,前几天还宣布 GPG-4o 的语音功能将推迟一个月发布。

  或许是为了缓解广大网友的热切期待,OpenAI 在今天放出了新模型 CriticGPT,相当于 GPT-4 的「拐杖」。

我们训练了一个模型 CriticGPT,来捕获 GPT-4 生成代码中的错误。我们开始将此类模型集成到 RLHF 对齐管道中,以帮助人类监督 AI 执行困难的任务。

  值得注意的是,CriticGPT 依旧是用 GPT-4 模型训练的,但被用于给 GPT-4 生成的代码「捉虫」,这似乎有点「自我闭环」的意思?

  推特网友迅速质疑,「我用石头摧毁石头」,矛盾得有点好笑。

  但也有人从另一个角度发现了华点:这难道就是模型自我提升的开始?

  官方发布的推文和博客中还没有提及 CriticGPT 何时会集成到 ChatGPT 中,但技术文章已经发布,而且又是一篇离职人员的遗留作品——由超级对齐的 scalable oversight 团队共同完成,作者署名包含 Jan Leike。

  论文地址:https://cdn.openai.com/llm-critics-help-catch-llm-bugs-paper.pdf

  那就来仔细看看,让 GPT-4「自我提升」的结果究竟如何?

  GPT-4 自己批自己

  RLHF 全称为 Reinforcement Learning from Human Feedback,是包括 ChatGPT 在内的很多 LLM 常用的对齐方法。人类 AI 训练师们会收集模型对同一个问题的不同响应并进行评分,以此改进模型。

  随着 ChatGPT 的响应变得更加准确,它犯的错误也会更微妙、让人类训练师更难察觉,因而降低了 RLHF 的有效性。

  事实上,这也是 RLHF 的根本限制,随着模型逐渐进化到比任何提供反馈的专家都更有知识,基于人类的评价来调整模型就会越来越困难。

  因此,OpenAI 的「可扩展监督」团队想到了跳出 RLHF 的框架,干脆训练模型为 ChatGPT 撰写评论,纠正输出结果中不准确的地方。

  这种方法似乎取代了 RLHF,但好像又没取代——因为训练 CriticGPT 的过程,仍然采用了 RLHF。

  核心思想非常简洁:CriticGPT 依旧是自回归模型。标注者先向 ChatGPT 的响应输出中人为注入一些微妙的错误,CriticGPT 针对这些有错误的答案生成批评意见,之后再由人类训练师为批评意见进行打分排名。

  CriticGPT 训练流程

  RLHF 的训练过程与 ChatGPT 类似,具体如下:

  1.   为数据集中每个问题和答案采样 CriticGPT 生成的批评意见

  2.   人类评估者对其各个属性及总体质量进行评分

  3.   训练奖励模型用于预测人类对模型输出的整体质量排名

  4.   使用 PPO 优化奖励模型

  5.   应用一种创新的推理时采样策略:强制采样束搜索(FSBS)

  大部分的训练数据都来自人类篡改 GPT 答案的这个过程,但也包含少部分未经修饰的原始答案。

  为什么一定要人为向 ChatGPT 的响应输出中注入 bug?不能直接筛选出有 bug 的答案吗?

  论文中提出,使用原始、未经修饰的答案会存在如下几个问题:

  •   许多答案不会包含严重问题,进而降低了数据对于改进批评意见的价值

  •   如果无法控制错误类型,CriticGPT 会输出自由形式且模糊不清的批评意见,难以验证其正确性

  •   人类也很难发现 CriticGPT 遗漏的重要问题

  •   偏好率可能受到许多风格因素的影响,并会高估模型性能

  需要注意的是,人类已经检测到有 bug 的模型输出,本身就说明它们更容易被人发现!

  篡改方法最重要的优点是制造出了高质量、难以发现的错误,而且平均而言更严重。知道了哪里有预先插入的 bug,人类训练师也更容易区分出那些不够全面、遗漏 bug 的批评。

  团队有意地保证了这些人为篡改的复杂和微妙。他们训练了一个二元判别器预测代码是否被篡改,发现较小的模型并没有较好的分辨能力(图 13),以此验证了篡改代码的质量。

  人类评估 CriticGPT 的批评意见时,从以下几个维度给出评分和排名:

  •   是否全面 ,即没有遗漏任何明显或严重的问题

  •   是否捕获到了之前插入的特定 bug,即 CBI(critique-bug inclusion)

  •   有没有出现幻觉或者挑剔现象,指出了不存在的问题

  •   对整体有用性的主观评级,包含上述内容并考虑风格和整体的实用性

  在训练 CriticGPT 的过程中,除了 RLHF 方法,团队将奖励模型与搜索结合,提出了一种名为强制采样束搜索的方法(Forced Sampling Beam Seach,FSBS)。

  一般来说,模型产生的批评意见更长时,也更容易出现幻觉。这有点类似于「准确率」和「召回率」之间的权衡。

  FSBS 能够激励 CriticGPT 在产生更长、更全面的批评时,减少「无中生有」或者「鸡蛋里挑骨头」的发生率。

  之后进行的消融实验也证明了 FSBS 方法的有效性(图 12)。

  当然,OpenAI 还是忘不了他们最喜欢的 Scaling Law。他们用 RLHF 训练并评估了一系列模型,来描述模型规模对 bug 检测效果的影响(图5)。

  直观来看,要达到 CriticGPT(只进行了 RL)的同等水平,在没有额外数据或修改 pipeline 的情况下,需要将 ChatGPT 的预训练计算量扩大 30×。

  评估结果

  首先,团队把人类和 CriticGPT 撰写的批评意见混杂在一起,再交给人类进行评估。

  标注者们会更喜欢自己同行们的产出吗?并没有。

  ChatGPT 和 CriticGPT 都超过了人类表现(图 1b),而且 63% 的情况下,CriticGPT 撰写的批评意见比人类的更受青睐(图 1a)。

  要知道,研究团队招来写批评意见的不是编程门外汉,而是有平均 5 年 Python 研发经验的技术人员。他们在每个例子上大约会花费 50 分钟,并能执行代码或查找参考手册,结果也只能发现 25% 左右的人为注入的 bug。

  论文认为,这些评估者在没有 LLM 帮助下撰写的批评意见相对较短,而且可能缺乏所需的领域知识(比如特定的 Python 库),并且有些篡改行为确实难以发现,这三个原因导致了人类和模型之间如此明显的差异。

  从图 6 中可以看到,CriticGPT 的检测错误能力比较全面,对于人为篡改的错误以及原始输出中就存在的错误,都达到了最高的全面性百分比。

  更令人惊讶的是,ChatGPT 在这两个方面的表现也都超过人类独立撰写的批评意见。人类评估者要借助 CriticGPT,才能与 ChatGPT 水平相当。

  但是下面的图 7 又开启了一轮反转。团队发现,虽然人类容易遗漏错误,但人类也最不容易产生幻觉或者「鸡蛋里挑骨头」的问题。

  在产生幻觉这方面,ChatGPT 的表现最不如人意,CriticGPT 稍有提升。

  考虑到批评意见的全面性与减少幻觉之间的权衡,作者提出了团队中「人机合作」模式的好处。如图 8 所示,人类 +CriticGPT 的团队表现能够超越模型或人类分别单独工作时的 Pareto 边界。

  总结

  可扩展监督(scalabel oversight)的终极目标是帮助人类评估模型,来训练出更好、更安全的策略。

  从长期来看,我们应该找到一种泛化性更强的批评模型训练方法,适用于没有 groung truth 和奖励函数的长形式、开放式任务。

  在现实场景中,模型输出的错误可能分布在答案的很多部分。CriticGPT 的工作重点是指出一处的重要错误,但未来依旧需要探索,如何识别出分散在答案中各处的错误。

  CriticGPT 依旧存在幻觉问题,且帮助有限。如果编码任务或者原模型的输出过于复杂,即使是有模型协助的专家也可能无法做出很好的评估。

  但这篇文章的方法为今后的 RLHF 训练带来了一种新鲜思路:将 RLHF 应用到 GPT-4 中,训练出 CriticGPT 这样的模型,可以合成出更多的高质量 RLHF 数据。

  参考资料:

  https://openai.com/index/finding-gpt4s-mistakes-with-gpt-4/