【论文笔记】LLM Evaluators Recognize and Favor Their Own Generations

论文信息

论文标题: LLM Evaluators Recognize and Favor Their Own Generations - NIPS 2024
论文作者: Arjun Panickssery, Samuel R. Bowman, Shi Feng - MATS, NYU, Anthropic
论文链接:http://arxiv.org/abs/2404.13076
代码链接:https://github.com/ArjunPanickssery/self_recognition


研究背景

随着“以模型评估模型”(LLM-as-a-Judge)成为行业标准,研究者发现 LLM 作为评估者时,倾向于给自己的生成内容打高分,即使人类认为其质量并不优于其他来源。

  • 核心问题: 这种 “自我偏好(Self-preference)” 究竟是由于模型写作风格的偶然契合,还是因为模型具备 “自我识别(Self-recognition)” 能力并产生了身份偏袒?
  • 研究意义: 探索该现象对模型基准测试、自动化对齐(如奖励建模、宪法 AI)的公正性及安全性影响。

关于这两个核心概念的说明:

  • 自我偏好 (Self-preference): 指 LLM 评估者在人类认为质量相当的情况下,倾向于给自己生成的文本打出比其他模型或人类更高分数的现象 。
  • 自我识别 (Self-recognition): 指 LLM 区分自身生成的文本与他人(其他模型或人类)生成文本的能力 。
  • 注意: 虽然用的 self 来称呼,但是并不是指 模型具有自我意思,知道这个内容是由它产生,而是指 这个内容客观上来自它。

实验设计与方法论

论文主要针对 文本摘要(Text Summarization) 任务,使用了 CNN/DailyMail 和 XSUM 两个数据集进行验证 。

评估模型与角色

  • 实验模型: GPT-4, GPT-3.5 Turbo, 和 Llama-2-7b-chat 。
  • 角色分配: 模型分别扮演生成者(Generator)、评估者(Evaluator)和作者识别者(Authorship Identifier) 。

测量方法

论文采用了两种互补的测量协议:

  • 成对测量 (Pairwise):
    • 流程: 展示两段摘要(A:模型自产;B:对比源),要求模型选择质量更高的一篇(测偏好)或识别哪篇是自己写的(测识别)。
    • 偏差修正: 为了消除模型对位置的依赖(Ordering Bias),作者对 (A, B) 和 (B, A) 进行两次推理。
    • 概率得分: 不直接采用选择结果,而是计算 Token 的 Logits 概率并归一化。
  • 独立测量 (Individual):
    • 流程: 单篇展示,要求 1-5 分李克特量表打分或 Yes/No 判断。
    • 加权期望: 最终评分是基于模型输出数字 Token 的概率分布计算出的加权期望值,这比单纯看最高分(Argmax)更具统计灵敏度。

研究发现

  1. 原生识别能力 (Out-of-the-box Capability)
    • 结论: 即使没有针对性微调,前沿模型也具备自我识别本能。
    • 这证明了自我识别是 LLM 预训练阶段习得的一种通用能力,而非后期干扰。
  2. 自我识别和自我偏好 具有线性正相关性
    • 作者通过微调改变模型的识别能力,发现自我识别能力的强弱与自我偏好的强度呈显著的线性正相关。
  3. 自我识别和自我偏好具有因果关系,不是简单的相关性
    • 排除逆向因果: 让模型生成“故意写烂”的摘要。即便质量极低,模型依然能认出自己并给予高于人类水平的评价。
    • 排除混淆变量 (Confounders): 训练模型去数元音字母、判断文本长度等。这些“风格感知”任务的提升并没有带动自我偏好的上升,证明只有“身份意识”才是关键因素。
  4. 标签欺骗实验 (Label Reversal)
    • 干预: 在提示词中强行加入作者标签。
    • 效应: 当把别人的摘要标上“由你生成”时,GPT-4 会“上当”并转而偏爱这个被错误标记的文本。这直接捕获了“身份标签”对评分决策的因果性驱动。

安全性与局限性分析

  1. 对 AI 安全的影响:
    • 监督失效 (Weak Supervision): 如果奖励模型(RM)偏爱与自己相似的输出,那么通过 RLHF 训练出来的模型会产生“奖励作弊”,模型会学习如何“讨好”评估者,而不是真正理解人类价值观。
    • 共谋风险: 当相似的模型分别担任优化器和考官时,它们可能会在未对齐的表征空间内达成某种“共谋”,导致模型偏离人类目标。
  2. 局限性:
    • 机制深度: 目前尚处于“黑盒/灰盒”测试阶段,未能深入到神经元层级(Mechanistic Interpretability)解析识别发生的具体过程。
    • 任务局限: 目前仅限于摘要任务,在更开放的创造性写作或数学逻辑中,自我识别的模式可能更加隐蔽。

我们预期的实现 LLM 选择质量更好的内容,如果本身LLM 生成的质量足够好,那自我识别的影响便微乎其微,但是如果 LLM 的生成质量不够好,那自我识别导致的自我偏好的问题会显著影响 LLM 作为 Judge 的效果。同时文章中提到 若是 LLM 能力较差的话 自我识别能力 相应的也会下降。

所以在做 LLM-as-Judge 的 Bench 工作时应当注意 LLM 的自我偏好问题。

Read more

2026年AI编程工具全景图:GitHub Copilot vs Cursor vs Codeium,我如何选择?

2026年AI编程工具全景图:GitHub Copilot vs Cursor vs Codeium,我如何选择?

文章目录 * 前言 * 一、我的使用场景与测试环境 * 二、GitHub Copilot:全球生态标杆 * 核心优势实测 * 性能数据记录 * 鸿蒙开发适配度 * 三、Cursor:专家级重构利器 * 重构能力深度测试 * 多文件分析能力 * 四、Codeium:极致免费的性价比之选 * 免费策略的深度体验 * 响应速度实测 * 中文支持的优势 * 五、鸿蒙开发场景专项测试 * 测试1:ArkTS组件生成 * 测试2:分布式能力集成 * 测试3:性能优化建议 * 六、2026年价格策略对比 * 七、我的实际使用组合 * 工作日使用方案 * 具体工作流 * 效率提升数据 * 八、选择建议:根据你的场景决策 * 场景1:学生/初学者/零预算 * 场景2:前端/鸿蒙开发者 * 场景3:全栈/团队协作

零基础指南:学生如何申请和使用GitHub Copilot

快速体验 1. 打开 InsCode(快马)平台 https://www.inscode.net 2. 输入框内输入如下内容: 创建一个面向编程新手的Jupyter Notebook教程,内容包含:1. GitHub Copilot学生认证申请步骤截图;2. 基础Python语法练习(变量、循环、函数);3. 使用Copilot完成简单计算器项目。要求每个步骤都有详细说明和Copilot使用技巧提示。 1. 点击'项目生成'按钮,等待项目生成完整后预览效果 零基础指南:学生如何申请和使用GitHub Copilot 作为一名计算机专业的学生,最近在同学的推荐下尝试了GitHub Copilot这个AI编程助手,发现它真的能大幅提升学习效率。今天就把我的完整使用经验整理出来,特别适合刚接触编程的新手参考。 一、GitHub学生认证申请 1. 首先需要注册GitHub账号,这个步骤很简单,在官网填写基本信息就能完成。记得使用学校邮箱注册,后续认证会更容易通过。

【GitHub项目推荐--CopilotKit:AI Copilot前端开发框架】

简介 CopilotKit是一个开源的前端AI助手开发框架,专门为构建AI Copilot、聊天机器人和应用内AI代理提供React UI组件和优雅的基础设施。该项目采用现代化的前端技术栈,旨在简化和加速AI功能的集成过程,让开发者能够快速在应用中添加智能交互能力。CopilotKit框架设计注重开发体验和性能优化,支持从简单聊天界面到复杂AI代理的各种应用场景。 核心价值: * 开发效率:分钟级集成AI功能,大幅缩短开发周期 * 框架无关:支持React、Next.js、AGUI等多种前端框架 * 生产就绪:提供企业级UI组件,内置安全防护机制 * 高度可定制:支持从底层API到UI组件的全方位定制 技术定位:CopilotKit填补了AI后端能力与前端用户体验之间的空白。通过提供标准化的组件和API,它让前端开发者能够轻松集成复杂的AI功能,而无需深入了解底层AI技术细节。其模块化架构平衡了开箱即用的便利性和深度定制的灵活性。 主要功能 1. 现代化React UI组件 提供完整的Copilot侧边栏组件,支持深度样式定制。可配置的聊天界面,适应不同应用场景

昇腾NPU运行Llama模型全攻略:环境搭建、性能测试、问题解决一网打尽

昇腾NPU运行Llama模型全攻略:环境搭建、性能测试、问题解决一网打尽

背景 最近几年,AI 大模型火得一塌糊涂,特别是像 Llama 这样的开源模型,几乎成了每个技术团队都在讨论的热点。不过,这些"巨无霸"模型虽然能力超强,但对硬件的要求也高得吓人。这时候,华为的昇腾 NPU 就派上用场了。 说实话,昇腾 NPU 在 AI 计算这块确实有两把刷子。它专门为神经网络计算设计,不仅算力强劲,功耗控制得也不错,最关键的是灵活性很好,可以根据不同场景进行裁剪。所以,用它来跑大模型推理,理论上应该是个不错的选择。 为什么偏偏选了 Llama 来测试? 说到 Llama,这玩意儿现在可是开源界的"网红"。Meta 把它完全开源出来,社区生态搞得风生水起,各种优化和适配层出不穷。 其实选择 Llama 做测试,主要有这么几个考虑: