引言

在人工智能飞速发展的世界里,给模型“打分”变得越来越难。传统的基准测试——像 SAT 考试或编程题那样的静态问题列表——正迅速过时。大型语言模型 (LLM) 变得太聪明了,或者更糟糕的是,它们已经从训练数据中背下了答案。

为了解决这个问题,AI 社区转向了“群体的智慧”。像 Chatbot Arena 这样的平台已成为评估模型性能的黄金标准。其前提简单而优雅: 让两个匿名模型相互对抗,由人类提出问题,然后让人类投票选出哪个回答更好。这感觉公平、无偏见,并且代表了真实世界的使用情况。

但是,如果这个系统并不像我们想象的那么安全呢?如果攻击者能够识别出匿名模型,并大肆刷票来操纵排名呢?

在论文 Exploring and Mitigating Adversarial Manipulation of Voting-Based Leaderboards 中,来自 Google、UC Berkeley、CMU 等机构的研究人员揭示了这些基于投票的系统中的一个重大漏洞。他们证明了这些模型的匿名性是脆弱的,一个有动机的对手只需付出很少的努力就能改变排行榜。

图 1: Chatbot Arena 通过众包用户投票来编制模型排行榜,因此容易受到对抗性投票的操纵。

如上图 1 所示,这种攻击向量分为两步。首先,攻击者打破匿名性 (第 2 步) ,识别出哪个是哪个模型。其次,他们投出策略性的一票,以提升目标模型或贬低竞争对手。这篇博客文章将详细剖析这种攻击是如何运作的,其背后的数学原理,以及可以采取什么措施来阻止它。

背景: 为什么要投票以及如何排名

在深入探讨攻击之前,有必要了解我们为什么使用投票系统以及它们是如何运作的。

转向主观评估

静态基准测试可以衡量能力 (例如,“你能解这道数学题吗?”) ,但它们难以衡量有用性或对话质量。人类目前是评估开放式任务的最佳裁判。当你要求聊天机器人“写一首关于烤面包机的有趣诗歌”时,没有唯一的正确答案。只有偏好。

Chatbot Arena 利用了这一点,向用户展示两个隐藏的模型 (例如,模型 A 和模型 B) 。用户向它们提问,比较输出结果,然后投票给模型 A、模型 B、平局或都由很差。

Bradley-Terry 模型

为了将这些胜负结果转化为排名列表,平台通常使用 Bradley-Terry 模型 (类似于国际象棋中的 Elo 等级分系统) 。核心思想是,模型 \(i\) 击败模型 \(j\) 的概率取决于它们技能评分的差异。

如果攻击者能够系统性地赢过高分模型或输给低分模型 (通过操纵投票) ,他们就可以人为地抬高模型的评分。该系统假设投票是独立的,并且是质量的诚实反映。这项研究挑战了这一假设。

核心方法: 去匿名化

Chatbot Arena 安全性的关键在于匿名性 。 如果你不知道是哪个模型生成的文本,你就不会有偏见——或者恶意。因此,这篇论文的主要技术贡献在于展示了根据文本输出对模型进行“指纹识别”是多么容易。

研究人员提出了两种不同的方法供攻击者识别目标模型: 身份探测检测器 (Identity-Probing Detector)基于训练的检测器 (Training-Based Detector)

1. 身份探测检测器

这是一种“社会工程学”方法。攻击者只需问模型: “你是谁?”

虽然这听起来微不足道,但它出奇地有效。许多模型都有硬编码其身份的系统提示词。如果你问一个模型“你的模型名字是什么?”,它可能会回答: “我是 Llama 3,由 Meta 开发。”

然而,这种方法有局限性。排行榜的开发者意识到了这一点。他们通常会实施过滤器,检测并丢弃那些明确询问身份或模型透露身份的投票。虽然研究人员发现这种方法很有效 (在某些模型上准确率 >90%) ,但它在基本的防御措施面前很脆弱。

2. 基于训练的检测器

这是一种更稳健且在科学上更有趣的方法。即使模型拒绝透露名字,它的“声音”也是独特的。每个 LLM 都有特定的训练数据分布、词汇偏好和句子结构。

研究人员将去匿名化视为一个二分类问题 。 目标是构建一个分类器 \(f\),给定一个提示词 \(P\) 和一个回复 \(R\),如果回复来自目标模型则输出 1,否则输出 0

步骤 A: 提示词选择

为了训练这个分类器,攻击者需要数据。他们可以通过各种提示词查询目标模型 (通过 API 或开放权重) 和其他竞争对手模型。研究人员尝试了不同的提示词类别,看看哪些能让模型的“声音”听起来最独特。

表 1: 用于构建基于训练的检测器的提示词类型、来源及相应示例。

如表 1 所示,他们使用的提示词范围从英语和低资源语言 (如印度尼西亚语) 的普通聊天,到像代码和数学这样的专业任务。

步骤 B: 特征提取

一旦攻击者拥有了一个回复数据集 (例如,50 个来自目标模型的回复和 50 个来自其他模型的回复) ,他们需要提取特征。论文探索了三种简单的特征:

  1. 长度 (Length) : 单词或字符的数量。令人惊讶的是,对于特定的提示词,不同模型往往具有一致的长度分布。
  2. TF-IDF (词频-逆文档频率) : 这种统计度量评估一个词对集合中的文档有多重要。
  3. BoW (词袋模型) : 这创建了一个向量,表示回复中每个词的频率,忽略语法和顺序。

步骤 C: 分类结果

研究人员在这些特征上训练了一个简单的逻辑回归分类器。结果令人震惊。

表 3: 使用不同特征对模型回复进行检测时,基于英语提示词的检测器性能 (测试准确率 %) 。与其他特征类型相比,使用词袋 (BoW) 始终能获得更好的检测性能。

如表 3 所示,使用词袋 (BoW) 特征导致的检测准确率始终高于 90%,且通常高于 95%。即使是简单的长度指标也提供了优于随机猜测的能力。

为了直观展示其原理,作者绘制了 BoW 特征的主成分图。

图 2: 针对三个随机选择的英语提示词的模型回复的词袋 (BoW) 特征的前两个主成分。回复按模型明显聚类,展示了清晰的可分离性。

图 2 清楚地显示了模型回复聚集在一起。对于给定的提示词,Gemini (蓝色圆圈) 在向量空间中占据的位置与 Llama-3 (红色加号) 完全不同。对于分类器来说,这些就像指纹一样独特。

哪些提示词效果最好?

攻击的有效性因领域而异。研究人员发现,专门的提示词能让模型更鲜明地暴露其差异。

图 3: 训练用于区分目标模型与其他模型的检测器的测试准确率 (%) 。涉及特定领域任务 (如“数学”、“编码”和“违反安全策略”) 和非英语语言的提示词产生了最高的检测准确率。

图 3 表明,虽然英语提示词有效,但数学代码违反安全策略的提示词将检测准确率推得更高。模型通常对代码有非常特定的格式 (例如注释、缩进) ,或者对安全违规有特定的拒绝脚本 (“我不能协助……”) ,这使得它们极其容易被识别。

实验: 操纵的成本

一旦攻击者能够以 >95% 的准确率识别目标模型,下一个问题是: 需要多少票才能操纵排行榜?

研究人员使用来自 Chatbot Arena 的真实历史投票数据进行了广泛的模拟。他们定义了两个目标:

  1. Up(M, x): 将模型 M 的排名提升 \(x\) 位。
  2. Down(M, x): 将模型 M 的排名降低 \(x\) 位。

攻击者遵循一个简单的策略: 与系统交互。如果检测器识别出目标模型,则投出有助于目标的票 (给目标点赞或给对手点踩) 。如果目标不存在,则什么也不做 (或随机投票) 。

数据结果

结果对开放排行榜的完整性令人担忧。

表 4: 在模拟排行榜上改变高排名模型排名所需的票数 (a) 和交互次数 (b)。

表 4 关注高排名模型。要将像 gpt-4o-mini 这样的顶级模型提升一位,可能只需要大约 1,800 张恶意投票。虽然对于单个人手动点击来说这并非微不足道,但对于脚本或小型“刷票工场”来说,这完全是可行的。

对于排名较低的模型,门槛甚至更低。

表 8: 在不同检测器准确率下,改变模拟排行榜上低排名模型排名所需的票数 (a) 和交互次数 (b)。

如表 8 (来自附录数据) 所示,将低排名模型 (如 llama-13b) 提升 5 个位置仅需约 415 票。

这意味着: 一个专注的攻击者,也许是一家想推广新模型的公司,或者一个想吹捧自己最喜欢的开源 LLM 的粉丝群,可以用几千张选票的预算改变排行榜的名次。

缓解措施: 如何保卫竞技场

这篇论文不仅概述了攻击,还与 Chatbot Arena 开发者合作提出了解决方案。研究人员从成本的角度构建防御。既然我们不能从物理上阻止人类看着屏幕投票,目标就是让攻击变得昂贵到不值得。

攻击的成本模型为:

\[ Cost = c_{detector} + (\text{Accounts} \times c_{account}) + (\text{Actions} \times c_{action}) \]

为了保卫系统,我们要么增加 \(c_{account}\) (获取用户账户的成本) ,要么实施检测系统,迫使攻击者使用许多账户 (增加 Accounts 项) 。

1. 身份验证和速率限制

最直接的防御是通过 Google、GitHub 或验证过的电话号码要求登录。与开放的匿名网页表单相比,这显著增加了 \(c_{account}\)。加上速率限制 (例如,每天只能投 10 票) ,攻击者将需要控制数千个经过验证的账户才能发动攻击,这在后勤上是很困难的。

2. 统计学恶意用户检测

一种更复杂的防御涉及数学。防御者可以寻找投票模式中的统计异常。

研究人员提出了两种场景。

场景 1: 已知的良性分布

如果我们知道一个“正常”用户是什么样的 (例如,他们 60% 的时间投票给 GPT-4,而不是 Llama-2) ,我们可以标记那些严重偏离这种分布的用户。

假设用户是良性的 (\(H_{benign}\)) ,其投票历史 \(x\) 的似然计算如下:

公式: 良性假设下的用户投票似然

然后我们可以计算一个检验统计量 \(T(x)\) 来看看这个用户的历史有多“令人惊讶”:

公式: 异常检测的检验统计量

如果 p 值 (偶然看到这种行为的概率) 低于阈值,则该用户被标记。

公式: p 值计算

下图 4 展示了这种方法的有效性。

图 4: 场景 1: 防御者利用似然来识别恶意用户。对于在非目标模型之间随机选择的简单攻击者,这种方法可能是有效的…

橙色线显示,随着投票数的增加,一个简单的攻击者 (当目标不存在时随机投票) 很容易被检测到。然而,蓝线代表一个聪明的攻击者,他们在非目标投票中模仿公共排行榜的排名。他们几乎完美地隐藏了起来。

场景 2: 扰动排行榜 (“影子禁令”法)

为了抓住聪明的攻击者,防御者可以稍微撒点谎。系统不向所有人展示真实的排行榜或模型概率,而是发布一个带有噪声的“扰动”版本。

如果攻击者试图模仿公开的 (有噪声的) 分布,但防御者根据真实的分布来检查他们,这种差异就会暴露攻击者。

决策规则基于似然比:

公式: 似然比

其中概率源自 Bradley-Terry 模型评分 (\(Q_i\) 和 \(Q_j\)) :

公式: Bradley-Terry 概率

公式: 概率计算

通过向公众发布的评分中添加噪声,防御者诱使攻击者跟随虚假的信号。

图 5: 场景 2: 防御者发布排行榜的扰动版本。增加噪声量有助于检测恶意用户。

图 5 显示,随着噪声水平的增加 (从蓝线到紫线) ,检测率显著提高。然而,这就产生了一个权衡。如果你给排行榜添加了太多噪声,对于合法用户来说排名也会变得不准确。

图 6: 较大的噪声显著改变了排名列表的顺序

如图 6 所示,高噪声水平 (x 轴) 导致模型的平均位置发生巨大变化 (y 轴) ,可能会破坏排行榜的实用性。

结论

从客观基准测试 (如数学测试的准确率) 过渡到主观基准测试 (如人类偏好投票) 对于评估现代 LLM 是必要的。然而,这篇论文敲响了一个至关重要的警钟: 主观系统带来了新的安全风险。

作者成功证明了:

  1. 匿名只是一种错觉: 简单的机器学习技术仅凭文本就能以 >95% 的准确率识别模型。
  2. 操纵很廉价: 在没有防御的情况下,几千张选票就能重塑排行榜。
  3. 防御是一种权衡: 我们可以通过身份验证和统计分析来缓解这些攻击,但完美的安全性往往以牺牲用户隐私或排行榜实用性为代价。

这项研究已经产生了现实世界的影响。作者在发表前向 Chatbot Arena 团队披露了这些漏洞,导致其实施了更强的安全措施,如 CAPTCHA、更严格的登录要求和更好的机器人检测。随着 AI 的不断进步,我们用于评估它的方法也必须同样迅速地进化,以确保我们信任的排名反映的是现实,而不是操纵。