LLM Critics Help Catch LLM Bugs

📄 arXiv: 2407.00215v1 📥 PDF

作者: Nat McAleese, Rai Michael Pokorny, Juan Felipe Ceron Uribe, Evgenia Nitishinskaya, Maja Trebacz, Jan Leike

分类: cs.SE, cs.LG

发布日期: 2024-06-28


💡 一句话要点

利用LLM评论员辅助发现LLM代码缺陷,提升人工评估准确性

🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture)

关键词: LLM评估 代码审查 强化学习 人类反馈 错误检测

📋 核心要点

  1. 现有RLHF方法受限于人类评估模型输出的准确性,尤其是在复杂任务中,人工评估成本高且易出错。
  2. 提出训练LLM“评论员”模型,通过生成自然语言反馈来辅助人类评估代码质量,提升错误检测能力。
  3. 实验表明,LLM评论员在错误检测方面优于人类,且人机协作能有效减少LLM的幻觉错误。

📝 摘要(中文)

本文旨在解决人工评估模型输出能力不足的问题,尤其是在强化学习从人类反馈(RLHF)中。为此,研究训练了一种“评论员”模型,旨在帮助人类更准确地评估模型生成的代码。这些评论员模型本身也是LLM,通过RLHF进行训练,能够以自然语言形式提供反馈,突出真实世界助手任务代码中的问题。实验表明,在包含自然产生的LLM错误的代码中,模型生成的评论在63%的情况下优于人类评论。人类评估发现,模型比付费的代码审查人员能发现更多的错误。进一步证实,经过微调的LLM评论员能够成功识别ChatGPT训练数据中数百个被评为“完美”的错误,即使这些任务大多是非代码任务,对于评论员模型来说属于分布外数据。评论员模型也存在局限性,包括产生幻觉错误,可能误导人类。然而,评论员模型与人工审查员组成的人机团队,在幻觉错误较少的情况下,能够发现与LLM评论员数量相近的错误。

🔬 方法详解

问题定义:当前基于人类反馈的强化学习(RLHF)严重依赖于人类对模型输出的评估质量。然而,人类评估存在局限性,尤其是在代码等复杂任务中,容易出现疏漏,导致模型训练效果不佳。现有方法缺乏有效辅助人类评估的手段,使得模型难以充分利用人类知识进行改进。

核心思路:本文的核心思路是训练一个专门用于评估LLM输出的LLM“评论员”模型。该评论员模型能够自动分析LLM生成的代码,并以自然语言的形式提供详细的反馈,指出潜在的错误和改进方向。通过这种方式,可以显著提升人类评估的效率和准确性,从而改善RLHF的效果。

技术框架:整体框架包含以下几个主要阶段:1) 使用RLHF训练LLM评论员模型,使其能够生成高质量的代码评估反馈。2) 将LLM评论员生成的反馈提供给人类评估者,作为辅助信息。3) 人类评估者结合LLM评论员的反馈,对LLM生成的代码进行最终评估。4) 使用人类评估结果训练或微调LLM。

关键创新:最重要的技术创新点在于利用LLM本身来评估LLM的输出。与传统的人工评估相比,LLM评论员具有更高的效率和更强的错误检测能力。此外,LLM评论员能够以自然语言的形式提供详细的反馈,方便人类理解和利用。

关键设计:LLM评论员模型的训练采用RLHF方法,奖励信号来自人类对评论员模型生成的反馈的偏好。损失函数包括标准策略梯度损失和KL散度惩罚项,用于防止策略漂移。模型的具体架构选择标准的Transformer结构,并针对代码评估任务进行了微调。关键参数包括学习率、批量大小、训练轮数等。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,LLM评论员在63%的情况下优于人类评论员,能够发现更多LLM代码中的错误。即使在非代码任务中,LLM评论员也能成功识别ChatGPT训练数据中的数百个错误。人机协作模式在保证错误检测能力的同时,有效减少了LLM评论员的幻觉错误。

🎯 应用场景

该研究成果可广泛应用于LLM的开发和部署过程中,例如代码生成、文本摘要、对话系统等。通过利用LLM评论员辅助人工评估,可以显著提升模型质量,降低开发成本。此外,该方法还可以应用于教育领域,帮助学生更好地理解和评估代码。

📄 摘要(原文)

Reinforcement learning from human feedback (RLHF) is fundamentally limited by the capacity of humans to correctly evaluate model output. To improve human evaluation ability and overcome that limitation this work trains "critic" models that help humans to more accurately evaluate model-written code. These critics are themselves LLMs trained with RLHF to write natural language feedback highlighting problems in code from real-world assistant tasks. On code containing naturally occurring LLM errors model-written critiques are preferred over human critiques in 63% of cases, and human evaluation finds that models catch more bugs than human contractors paid for code review. We further confirm that our fine-tuned LLM critics can successfully identify hundreds of errors in ChatGPT training data rated as "flawless", even though the majority of those tasks are non-code tasks and thus out-of-distribution for the critic model. Critics can have limitations of their own, including hallucinated bugs that could mislead humans into making mistakes they might have otherwise avoided, but human-machine teams of critics and contractors catch similar numbers of bugs to LLM critics while hallucinating less than LLMs alone.