周四,OpenAI的研究人员亮出了他们的新宝贝——CriticGPT,这是一个专门为找出ChatGPT生成代码里的错误而设计的AI模型。它的目标是通过“人类反馈强化学习”(RLHF)来提升AI系统按人类意愿行事的能力(这事儿专业术语叫“对齐”)。
这个方法能助力人类审稿员,让他们修改大型语言模型(LLM)的输出时更加得心应手,准确度蹭蹭往上涨。在最新发表的研究论文《LLM批评者助捕LLM漏洞》中,OpenAI揭示了创造CriticGPT的初衷:让它成为人类训练师审查ChatGPT生成编程代码的AI助手。
基于GPT-4系列大型语言模型的CriticGPT,能够仔细分析代码并指出潜在错误,大大简化了人工发现可能遗漏的失误的过程。研究团队利用故意植入错误的代码样本数据集来训练CriticGPT,使之能够识别并标记多种编码错误。研究显示,在涉及自然产生的LLM错误案例中,有63%的情况下,注释员认为CriticGPT的批评优于人类的批评。而且,结合使用CriticGPT的人机团队比仅由人类组成的团队能编写出更全面的批评,同时相比纯AI批评,减少了虚构(幻觉)率。
自动化批评者的开发CriticGPT的开发包括在包含故意插入错误的大量输入上训练模型。人类训练师被要求修改ChatGPT编写的代码,引入错误,并提供仿佛他们发现了这些错误的示例反馈。这一过程使模型学习如何识别和批评各种类型的编码错误。实验中,CriticGPT证明了它能捕捉到ChatGPT输出中既有人为植入的错误也有自然发生的错误。在涉及自然错误的情况下,训练师中有63%更偏好CriticGPT的批评而非ChatGPT自动生成的批评。这部分偏好源于CriticGPT产生的无益“挑剔”较少,以及更少产生假阳性,即虚构的问题。
强制抽样波束搜索技术研究团队还创新了一种名为“强制抽样波束搜索”(FSBS)的新技术。该技术帮助CriticGPT编写更详尽的代码审查报告,允许研究人员调整CriticGPT查找问题的彻底程度,同时控制其虚构不存在问题的频率。根据不同的AI训练任务需求,他们可以调整这种平衡。
超越代码审查的能力有趣的是,CriticGPT的能力不仅限于代码审查。在实验中,研究团队将该模型应用于先前已被人类注释员认定为无瑕疵的ChatGPT训练数据子集中。令人惊讶的是,CriticGPT在这些案例中有24%发现了错误,这些错误后来得到了人类评审员的确认。
OpenAI认为,这表明该模型有泛化到非代码任务的潜力,并突显了其捕捉即使是细致入微的人工评估也可能错过的微妙错误的能力。就算成效喜人,CriticGPT跟所有AI模型一样,也有自己的局限性。它的训练基于相对简短的ChatGPT答案,这可能不足以让它充分准备好去评估未来AI系统可能面对的更长、更复杂的任务。而且,尽管CriticGPT减少了虚构错误的发生,但仍未彻底消除,人类训练员仍有可能根据这些错误的输出做出错误的标签。研究团队承认,CriticGPT最擅长发现那种能精准定位到代码中某一特定位置的错误。
然而,现实世界中AI输出的错误常常遍布于答案的多个部分,这对模型后续迭代提出了挑战。OpenAI打算将类似CriticGPT的模型整合进其RLHF标注流程中,为训练员提供AI辅助。
对于OpenAI而言,这是朝着开发更优工具迈出的一步,旨在评估那些没有额外支持人类难以评判的LLM系统输出。但研究人员也提醒,即便有了CriticGPT这样的工具,极度复杂任务或响应对于人类评判者——即便是那些有AI辅助的评判者——来说,仍然可能是个挑战。