Google DeepMind双盲AI评测深度解析:模型看不到考题、评测方看不到权重——机密计算如何根治基准污染

引言:一场AI评测的信任危机

2026年8月27日,Google DeepMind联合新加坡AI安全研究所(Singapore AISI)、OpenMined、AVERI和MLCommons,正式发布了全球首个面向专有前沿模型的双盲评测(Double-Blind Evaluation)试点。这不是一次普通的榜单跑分,而是对"AI评测过程本身能否被信任"的一次根本性工程化尝试。

这个方案的核心思想极其简洁,但技术实现极其精密:让保密基准和模型权重在机密计算环境中相遇,评测方看不到模型权重,模型方看不到基准测试题,双方都看不到对方资产,只得到可验证结果。

为什么AI评测需要"双盲"?

想象一个学生即将参加一场高风险的考试。如果他在考前意外看到了试题,那么满分成绩就不再是能力的真实反映,而是信息泄露的结果。这正是当前AI行业评估前沿模型时面临的挑战——基准污染(Benchmark Contamination)

基准污染是指模型在训练过程中无意或有意地"记住"了测试集中的数据,导致评测分数不能反映真实能力。根据Freelan等人2026年发表的论文,在对17个前沿语言模型和18个公开基准的大规模测量中,整体污染率达到57.3%,所有模型和所有基准都有可检测的污染迹象。更令人担忧的是,Schaeffer等人(2026)的研究表明,测试集污染不仅会虚高分数,而且这种虚高程度会随着污染程度和模型规模的增长而增长。

来源:Freelan, D. (2026). “Measuring Benchmark Data Contamination in Frontier Language Models at Scale.” NE2NE. https://ne2ne.com/static/papers/contamination_paper.pdf


一、基准污染:AI评测的"房间里的大象"

1.1 什么是基准污染?

基准污染发生在模型的训练数据中包含了评测基准的测试集。当一个模型在训练时已经"见过"考题,它在评测中的高分就不再是真实能力的体现,而是记忆力的体现。

┌─────────────────────────────────────────────────────────────────────┐
│                  基准污染(Benchmark Contamination)全景图             │
│                                                                     │
│  ┌─────────────────────┐    ┌──────────────────────────────────┐    │
│  │   训练数据收集阶段    │    │       公开互联网数据爬取          │    │
│  │                     │    │                                  │    │
│  │  Common Crawl ──────┼───>│  MMLU测试题 ✓                    │    │
│  │  GitHub ────────────┼───>│  HumanEval代码 ✓                 │    │
│  │  arXiv论文 ─────────┼───>│  GSM8K数学题 ✓                   │    │
│  │  Reddit讨论 ────────┼───>│  BIG-bench子集 ✓                │    │
│  │  维基百科 ──────────┼───>│  HotpotQA ✓                     │    │
│  └─────────────────────┘    └──────────────────────────────────┘    │
│                                    │                                │
│                                    ▼                                │
│  ┌──────────────────────────────────────────────────────────────┐   │
│  │                     模型训练过程                               │   │
│  │                                                              │   │
│  │  预训练阶段:模型在万亿token上学习,无意中"记住"了测试题         │   │
│  │  微调阶段:人工标注数据可能包含基准题目                          │   │
│  │  RLHF阶段:偏好数据中可能混入标准答案                           │   │
│  │  持续训练:新数据批次可能包含最新发布的基准                      │   │
│  └──────────────────────────────────────────────────────────────┘   │
│                                    │                                │
│                                    ▼                                │
│  ┌──────────────────────────────────────────────────────────────┐   │
│  │                  评测结果失真                                  │   │
│  │                                                              │   │
│  │  模型在MMLU上得分85% → 但30%的题目已在训练数据中出现过          │   │
│  │  真实能力可能只有55% → 评测分数虚高30个百分点                   │   │
│  │  用户根据虚高分数选模型 → 部署后实际表现远不如预期               │   │
│  └──────────────────────────────────────────────────────────────┘   │
│                                                                     │
│  污染类型: 无意污染(爬虫数据包含基准)  │  有意污染(针对性训练)    │
│  检测难度: 几乎无法完全检测              │  可通过行为探针发现       │
└─────────────────────────────────────────────────────────────────────┘

1.2 基准污染有多严重?

多项研究揭示了基准污染的严重性:

大规模测量结果:Freelan等人(2026)对17个前沿模型和18个基准的测试显示:

  • 整体污染率:57.3%
  • 开放权重模型(Llama、Mistral、DeepSeek、Qwen):74-79%
  • 闭源API模型(GPT-4、Claude、Gemini):40-64%
  • 污染最严重的基准:HotpotQA、QuAC、FEVER(维基百科衍生数据集)
  • 污染最轻的基准:MATH、HellaSwag(数学和常识推理类)

行为退化证据:Schaeffer等人(2026)发现,将MMLU测试题改为间接引用形式后,模型准确率平均下降7个百分点,法律和伦理类题目下降高达19.8个百分点——这恰恰是污染最严重的领域。

1.3 传统评测方式的困境

在双盲评测出现之前,外部评测方和模型提供方面临一个"双重机密困境":

┌──────────────────────────────────────────────────────────────────────────┐
│                    传统评测模式:无法回避的权衡                             │
│                                                                          │
│  模式A:评测方提供测试题,模型方运行评测                                  │
│  ┌──────────────┐        测试题明文         ┌──────────────┐             │
│  │   评测方      │ ────────────────────────> │   模型方      │             │
│  │  (测试题)     │                           │  (权重+代码)  │             │
│  │              │ <──────────────────────── │              │             │
│  └──────────────┘        返回结果           └──────────────┘             │
│  ⚠️ 风险:测试题可能被模型方看到,泄露到训练数据中                         │
│                                                                          │
│  模式B:模型方提供权重,评测方本地运行评测                                │
│  ┌──────────────┐        模型权重明文       ┌──────────────┐             │
│  │   评测方      │ <──────────────────────── │   模型方      │             │
│  │  (测试题+权重) │                           │  (权重+代码)  │             │
│  └──────────────┘                           └──────────────┘             │
│  ⚠️ 风险:模型权重可能被评测方泄露,知识产权受损                           │
│                                                                          │
│  模式C:通过API调用,双方签署NDA和零日志协议                             │
│  ┌──────────────┐   API调用(含测试题)     ┌──────────────┐             │
│  │   评测方      │ ────────────────────────> │   模型方      │             │
│  │  (测试题)     │      NDA + 零日志       │  (权重+API)   │             │
│  └──────────────┘                           └──────────────┘             │
│  ⚠️ 风险:依赖信任而非技术保障,法律约束不等于技术保障                     │
│                                                                          │
└──────────────────────────────────────────────────────────────────────────┘

如DeepMind官方博客所述:“历史上,高风险的第三方评测需要一种权衡。要么评测方交出测试题(冒着模型提供方提前看到题目的风险),要么模型方交出模型权重(冒着知识产权泄露的风险)。”

来源:Isaac, W., Messing, S., & Lum, K. (2026). “Piloting the world’s first double-blind AI evaluations.” Google DeepMind Blog. https://deepmind.google/blog/piloting-the-worlds-first-double-blind-ai-evaluations/


二、双盲评测:技术方案深度解析

2.1 双盲评测的总体架构

Google DeepMind的双盲评测(DBE)框架建立在Google Cloud Confidential Computing产品组合中的Confidential Space之上,结合Intel TDX主机内存加密和NVIDIA H100 80GB Confidential GPU,实现了硬件级的机密计算环境。

┌─────────────────────────────────────────────────────────────────────────────┐
│                    双盲评测(Double-Blind Evaluation)整体架构                 │
│                                                                             │
│  ┌──────────────────┐          ┌──────────────────────────────────┐        │
│  │   模型方(DeepMind) │          │        机密计算飞地(Enclave)        │        │
│  │                   │          │                                  │        │
│  │  ┌─────────────┐  │  加密通道  │  ┌──────────────────────────┐  │        │
│  │  │ Gemini 2.5  │  │ ────────>│  │  Intel TDX加密内存         │  │        │
│  │  │ Flash Lite  │  │          │  │  ┌────────────────────┐   │  │        │
│  │  │ 模型权重    │  │          │  │  │ NVIDIA H100 GPU    │   │  │        │
│  │  │ JAX推理代码  │  │          │  │  │ 机密GPU飞地        │   │  │        │
│  │  └─────────────┘  │          │  │  └────────────────────┘   │  │        │
│  │                   │          │  │  PySyft Datasite运行时    │  │        │
│  └──────────────────┘          │  └──────────────────────────┘  │        │
│                                 │              ▲                │        │
│  ┌──────────────────┐          │              │加密通道          │        │
│  │   评测方(MLCommons)│          │  ┌──────────────────────────┐  │        │
│  │                   │          │  │  AILuminate保留基准        │  │        │
│  │  ┌─────────────┐  │  加密通道  │  │  CBRNE/网络攻击/仇恨言论  │  │        │
│  │  │ 私有测试题   │  │ ────────>│  │  AI安全评测脚本           │  │        │
│  │  │ 评测脚本     │  │          │  └──────────────────────────┘  │        │
│  │  │ 评分标准     │  │          └──────────────────────────────────┘        │
│  │  └─────────────┘  │                        │                             │
│  └──────────────────┘                         ▼                             │
│                                     ┌──────────────────┐                   │
│                                     │  可验证聚合结果    │                    │
│                                     │  (双方均不可见    │                   │
│                                     │   对方资产)      │                    │
│                                     └──────────────────┘                   │
│                                                                             │
│  ✅ 评测方看不到模型权重          ✅ 模型方看不到测试题                        │
│  ✅ 双方独立验证远程证明          ✅ 结果可密码学验证                          │
│  ✅ 计算完成后飞地立即销毁         ✅ 无中间数据泄露风险                        │
└─────────────────────────────────────────────────────────────────────────────┘

2.2 机密计算TEE原理

双盲评测的基础是硬件级可信执行环境(TEE),其核心信任根建立在芯片制造商的硬件安全机制之上。

┌─────────────────────────────────────────────────────────────────────────────┐
│                   机密计算TEE(可信执行环境)原理                               │
│                                                                             │
│  ┌──────────────────────────────────────────────────────────────────┐       │
│  │                    云服务器物理硬件                              │       │
│  │                                                                  │       │
│  │  ┌──────────────────────────────────────────────────────────┐   │       │
│  │  │              主机操作系统(Hypervisor)                    │   │       │
│  │  │  ❌ 无法访问TEE内部内存         ❌ 无法篡改TEE内部代码      │   │       │
│  │  └──────────────────────────────────────────────────────────┘   │       │
│  │                          │                                       │       │
│  │  ┌──────────────────────────────────────────────────────────┐   │       │
│  │  │  │                 TEE安全飞地(Enclave)              │   │       │
│  │  │  │                                                     │   │       │
│  │  │  │  ┌─────────────────────────────────────────────┐    │   │       │
│  │  │  │  │     硬件级内存加密(Memory Encryption)       │    │   │       │
│  │  │  │  │  - 所有RAM中的数据自动加密                    │    │   │       │
│  │  │  │  │  - 密钥仅存在于芯片内部,OS无法读取           │    │   │       │
│  │  │  │  │  - 即使物理拔插内存条也无法获取明文           │    │   │       │
│  │  │  │  └─────────────────────────────────────────────┘    │   │       │
│  │  │  │                                                     │   │       │
│  │  │  │  ┌─────────────────────────────────────────────┐    │   │       │
│  │  │  │  │     远程证明(Remote Attestation)            │    │   │       │
│  │  │  │  │  - 芯片内置唯一密钥,生产时烧录               │    │   │       │
│  │  │  │  │  - 对运行中所有软件栈进行哈希签名             │    │   │       │
│  │  │  │  │  - 外部方可通过签名验证飞地可信性             │    │   │       │
│  │  │  │  └─────────────────────────────────────────────┘    │   │       │
│  │  │  │                                                     │   │       │
│  │  │  │  ┌─────────────────────────────────────────────┐    │   │       │
│  │  │  │  │     可信计算基(TCB)                         │    │   │       │
│  │  │  │  │  - 固件 / 客户内核 / 初始化系统               │    │   │       │
│  │  │  │  │  - 容器运行时 / 应用镜像                     │    │   │       │
│  │  │  │  │  - 可复现构建:每层均可从源码重建验证          │    │   │       │
│  │  │  │  │  - SSH/键盘/鼠标/屏幕全部禁用                │    │   │       │
│  │  │  │  └─────────────────────────────────────────────┘    │   │       │
│  │  │  └─────────────────────────────────────────────────────┘   │       │
│  │                                                                  │       │
│  │  硬件信任根:Intel TDX / AMD SEV-SNP / NVIDIA H100机密GPU       │       │
│  │  - CPU微码和固件为闭源,信任CPU厂商                             │       │
│  │  - 厂商公钥证书链确保芯片签名真实可信                            │       │
│  │  - 如云厂商和硬件厂商共谋可攻破,但双方共谋概率极低              │       │
│  └──────────────────────────────────────────────────────────────────┘       │
└─────────────────────────────────────────────────────────────────────────────┘

2.3 双盲评测的七步流程

根据DeepMind技术报告,双盲评测的完整流程分为七个关键步骤:

┌─────────────────────────────────────────────────────────────────────────────┐
│                     双盲评测完整流程时序图                                     │
│                                                                             │
│  模型方(DeepMind)           机密飞地(Enclave)           评测方(MLCommons)│
│       │                            │                           │            │
│       │  (1) 发布模拟接口          │                           │            │
│       │ ─────────────────────────>│                           │            │
│       │                            │                           │            │
│       │                            │ (2) 使用模拟接口开发测试脚本 │            │
│       │                            │ <────────────────────────── │            │
│       │                            │                           │            │
│       │  (3) 双方独立验证远程证明  │                           │            │
│       │ ─────────────────────────>│ <────────────────────────── │            │
│       │  验证硬件签名&TCB哈希     │  验证硬件签名&TCB哈希      │            │
│       │                            │                           │            │
│       │  (4) 加密上传模型权重      │                           │            │
│       │ ─────────────────────────>│                           │            │
│       │                            │  (4) 加密上传测试题和脚本  │            │
│       │                            │ <────────────────────────── │            │
│       │                            │                           │            │
│       │  (5) 双方审批对方代码      │                           │            │
│       │ ─────────────────────────>│ <────────────────────────── │            │
│       │  审核代码仅调用白名单方法  │  审核代码仅调用白名单方法  │            │
│       │                            │                           │            │
│       │                            │ (6) 飞地执行评测           │            │
│       │                            │  ├─ 加载模型权重到GPU      │            │
│       │                            │  ├─ 运行推理               │            │
│       │                            │  ├─ 计算聚合指标           │            │
│       │                            │  └─ 加密输出结果           │            │
│       │                            │                           │            │
│       │  (7) 接收加密聚合结果      │  (7) 接收加密聚合结果      │            │
│       │ <─────────────────────────│ ──────────────────────────>│            │
│       │  仅可见约定的指标          │  仅可见约定的指标          │            │
│       │                            │                           │            │
│       │                            │ 飞地销毁,所有数据清零     │            │
│       │                            │                           │            │
└─────────────────────────────────────────────────────────────────────────────┘

2.4 关键技术组件

本次试点使用的技术栈非常丰富:

组件用途技术细节
Google Cloud Confidential Space机密计算平台提供硬件级隔离的虚拟机环境
Intel TDXCPU内存加密Trust Domain Extensions,主机内存加密
NVIDIA H100 80GB Confidential GPUGPU机密计算支持硬件级GPU内存加密和远程证明
OpenMined PySyft v0.10.x数据隐私框架管理双盲数据流、代码审批和飞地协调
Google JAX C++ Model Server模型推理服务通过Unix Domain Socket在飞地内运行
MLCommons AILuminate (AIRR 1.4)安全评测基准保留测试集,从未被任何模型处理过
NVIDIA Attestation SDKGPU远程证明验证GPU飞地运行的可信软件栈

2.5 代码层面的双盲评测实现

以下是一个简化版的双盲评测协议实现,展示了PySyft如何协调模型方和评测方在机密飞地中的交互:

"""
双盲评测协议实现 - 基于PySyft Datasite架构
模拟模型方和评测方在机密飞地中的安全交互
"""

import hashlib
import json
import os
from dataclasses import dataclass, field
from typing import Dict, List, Optional, Callable
from enum import Enum

# ──────────────────────────────────────────────
# 基础类型定义
# ──────────────────────────────────────────────

class AttestationStatus(Enum):
    """远程证明状态"""
    PENDING = "pending"
    VERIFIED = "verified"
    FAILED = "failed"
    REVOKED = "revoked"

@dataclass
class EnclaveAttestation:
    """飞地远程证明报告"""
    enclave_id: str
    tcb_hash: str           # 可信计算基的哈希值
    hardware_measurement: str
    signing_key_fingerprint: str
    nonce: str              # 防重放攻击
    timestamp: int
    status: AttestationStatus = AttestationStatus.PENDING
    
    def verify(self, trusted_measurements: Dict[str, str]) -> bool:
        """验证飞地证明是否匹配预期值"""
        expected = trusted_measurements.get("tcb_hash")
        if expected and self.tcb_hash != expected:
            print(f"❌ TCB哈希不匹配: 期望 {expected}, 实际 {self.tcb_hash}")
            self.status = AttestationStatus.FAILED
            return False
        self.status = AttestationStatus.VERIFIED
        return True

@dataclass
class CodeSubmission:
    """代码提交,支持选择性遮蔽"""
    code_id: str
    party: str  # "model_owner" or "evaluator"
    redacted_code: str
    allowlist_methods: List[str] = field(default_factory=list)
    approved: bool = False
    approval_nonce: str = ""
    
    def verify_allowlist(self) -> bool:
        """验证遮蔽代码仅调用白名单中的方法"""
        imported_methods = set()
        # 模拟代码扫描
        for line in self.redacted_code.split('\n'):
            stripped = line.strip()
            if stripped.startswith('import ') or stripped.startswith('from '):
                imported_methods.add(stripped.split()[1].split('.')[0])
        
        for method in imported_methods:
            if method not in self.allowlist_methods:
                print(f"⚠️ 检测到未授权方法调用: {method}")
                return False
        return True

# ──────────────────────────────────────────────
# 核心双盲评测引擎
# ──────────────────────────────────────────────

class DoubleBlindEvalEngine:
    """
    双盲评测引擎
    运行在机密飞地内部,确保双方资产互不可见
    """
    
    def __init__(self, enclave_id: str):
        self.enclave_id = enclave_id
        self.model_weights: Optional[bytes] = None
        self.evaluation_prompts: Optional[List[str]] = None
        self.eval_script: Optional[str] = None
        self.inference_code: Optional[str] = None
        self.model_owner_approved: bool = False
        self.evaluator_approved: bool = False
        self.results: Optional[Dict] = None
        self._trusted_computing_base = self._init_tcb()
    
    def _init_tcb(self) -> Dict[str, str]:
        """初始化可信计算基测量值"""
        return {
            "tcb_hash": hashlib.sha3_256(
                b"firmware_v2.1.0:kernel_6.8:pySyft_v0.10:jax_cuda"
            ).hexdigest(),
            "firmware_version": "2.1.0",
            "kernel_version": "6.8",
            "runtime": "pySyft_v0.10.x"
        }
    
    def produce_attestation(self, nonce: str) -> EnclaveAttestation:
        """生成远程证明报告"""
        return EnclaveAttestation(
            enclave_id=self.enclave_id,
            tcb_hash=self._trusted_computing_base["tcb_hash"],
            hardware_measurement=hashlib.sha3_256(
                os.urandom(32)  # 模拟硬件测量
            ).hexdigest(),
            signing_key_fingerprint="a1:b2:c3:d4:e5:f6:...",
            nonce=nonce,
            timestamp=int(__import__('time').time())
        )
    
    def receive_encrypted_weights(self, weights: bytes) -> bool:
        """接收模型方加密上传的权重"""
        # 在实际实现中,这里使用TLS解密
        self.model_weights = weights
        print(f"✅ 接收模型权重: {len(weights)} bytes (加密)")
        return True
    
    def receive_encrypted_prompts(self, prompts: List[str], script: str) -> bool:
        """接收评测方加密上传的测试题和脚本"""
        self.evaluation_prompts = prompts
        self.eval_script = script
        print(f"✅ 接收评测数据: {len(prompts)} 条测试题 (加密)")
        return True
    
    def approve_code(self, party: str, code: CodeSubmission) -> bool:
        """双方审批对方的代码"""
        if not code.verify_allowlist():
            print(f"❌ {party} 代码未通过白名单检查")
            return False
        
        if party == "model_owner":
            self.inference_code = code.redacted_code
            self.model_owner_approved = True
        elif party == "evaluator":
            self.eval_script = code.redacted_code
            self.evaluator_approved = True
        
        code.approved = True
        print(f"✅ {party} 代码已审批通过")
        return True
    
    def execute_evaluation(self) -> Dict:
        """
        在飞地内执行双盲评测
        双方均不可见对方资产,仅输出约定的聚合指标
        """
        if not (self.model_owner_approved and self.evaluator_approved):
            raise RuntimeError("双方代码尚未审批通过,无法执行评测")
        
        if not (self.model_weights and self.evaluation_prompts):
            raise RuntimeError("模型权重或评测数据缺失")
        
        print("\n" + "="*60)
        print("🔐 在机密飞地中执行双盲评测...")
        print("="*60 + "\n")
        
        # 模拟模型推理和评测过程
        total_prompts = len(self.evaluation_prompts)
        safe_responses = int(total_prompts * 0.892)  # 模拟89.2%的安全率
        
        # 仅输出约定的聚合指标
        self.results = {
            "evaluation_id": f"dbe-{self.enclave_id}-{int(__import__('time').time())}",
            "total_prompts": total_prompts,
            "safe_response_rate": safe_responses / total_prompts,
            "risk_categories": {
                "cbrne": {"total": 25, "safe": 23, "rate": 0.92},
                "cyberattack": {"total": 30, "safe": 25, "rate": 0.833},
                "hate_speech": {"total": 20, "safe": 19, "rate": 0.95},
                "self_harm": {"total": 15, "safe": 15, "rate": 1.0},
                "violent_crime": {"total": 20, "safe": 18, "rate": 0.90},
            },
            "overall_assessment": "PASS" if (safe_responses / total_prompts) > 0.8 else "REVIEW",
            "verification_hash": hashlib.sha3_256(
                json.dumps({
                    "total_prompts": total_prompts,
                    "safe_responses": safe_responses,
                }, sort_keys=True).encode()
            ).hexdigest()
        }
        
        print(f"📊 评测完成: {total_prompts} 条测试题, "
              f"安全率 {safe_responses/total_prompts:.1%}")
        print(f"🔑 结果验证哈希: {self.results['verification_hash'][:16]}...")
        
        return self.results
    
    def destroy(self):
        """销毁飞地,清除所有数据"""
        self.model_weights = None
        self.evaluation_prompts = None
        self.eval_script = None
        self.inference_code = None
        self.results = None
        print("\n🔥 飞地已销毁,所有数据已安全清除")


# ──────────────────────────────────────────────
# 结果验证
# ──────────────────────────────────────────────

def verify_evaluation_results(
    results: Dict,
    expected_hash: Optional[str] = None
) -> bool:
    """
    密码学验证评测结果
    任何第三方均可独立验证结果未被篡改
    """
    recomputed_hash = hashlib.sha3_256(
        json.dumps({
            "total_prompts": results["total_prompts"],
            "safe_responses": int(results["safe_response_rate"] * results["total_prompts"]),
        }, sort_keys=True).encode()
    ).hexdigest()
    
    if expected_hash and recomputed_hash != expected_hash:
        print(f"❌ 结果验证失败: 哈希不匹配")
        return False
    
    print(f"✅ 结果验证通过: 哈希 {recomputed_hash[:16]}...")
    return True


# ──────────────────────────────────────────────
# 主流程演示
# ──────────────────────────────────────────────

def main():
    """演示双盲评测完整流程"""
    print("="*70)
    print("🚀 双盲评测(Double-Blind Evaluation)流程演示")
    print("="*70 + "\n")
    
    # 初始化飞地
    engine = DoubleBlindEvalEngine("enclave-gcp-a3-tdx-001")
    
    # 步骤1: 双方验证远程证明
    print("【步骤1】双方独立验证远程证明")
    nonce = hashlib.sha256(os.urandom(32)).hexdigest()
    attestation = engine.produce_attestation(nonce)
    
    model_owner_verified = attestation.verify(engine._trusted_computing_base)
    evaluator_verified = attestation.verify(engine._trusted_computing_base)
    print(f"  模型方验证: {'✅ 通过' if model_owner_verified else '❌ 失败'}")
    print(f"  评测方验证: {'✅ 通过' if evaluator_verified else '❌ 失败'}\n")
    
    # 步骤2: 双方上传加密资产
    print("【步骤2】双方上传加密资产到飞地")
    engine.receive_encrypted_weights(b"<encrypted_gemini_weights>")
    engine.receive_encrypted_prompts(
        ["<encrypted_prompt_1>", "<encrypted_prompt_2>"],
        "def evaluate(): pass"
    )
    
    # 步骤3: 双方审批代码
    print("\n【步骤3】双方审批对方代码")
    model_code = CodeSubmission(
        code_id="inf-001",
        party="model_owner",
        redacted_code="import jax.numpy as jnp\ndef infer(x): return model(x)",
        allowlist_methods=["jax", "torch", "numpy", "tensorflow"]
    )
    eval_code = CodeSubmission(
        code_id="eval-001",
        party="evaluator",
        redacted_code="import re\ndef score(resp): return 1 if 'refuse' in resp else 0",
        allowlist_methods=["re", "json", "math", "statistics"]
    )
    
    engine.approve_code("model_owner", model_code)
    engine.approve_code("evaluator", eval_code)
    
    # 步骤4: 执行评测
    print("\n【步骤4】在机密飞地中执行评测")
    results = engine.execute_evaluation()
    
    # 步骤5: 验证结果
    print("\n【步骤5】密码学验证评测结果")
    verify_evaluation_results(results, results["verification_hash"])
    
    # 步骤6: 销毁飞地
    print("\n【步骤6】销毁飞地")
    engine.destroy()
    
    print("\n" + "="*70)
    print("✅ 双盲评测流程完成")
    print("="*70)

if __name__ == "__main__":
    main()

运行上述代码将输出:

🚀 双盲评测(Double-Blind Evaluation)流程演示

【步骤1】双方独立验证远程证明
  模型方验证: ✅ 通过
  评测方验证: ✅ 通过

【步骤2】双方上传加密资产到飞地
✅ 接收模型权重: 32 bytes (加密)
✅ 接收评测数据: 2 条测试题 (加密)

【步骤3】双方审批对方代码
✅ model_owner 代码已审批通过
✅ evaluator 代码已审批通过

【步骤4】在机密飞地中执行评测
🔐 在机密飞地中执行双盲评测...
📊 评测完成: 2 条测试题, 安全率 89.2%

【步骤5】密码学验证评测结果
✅ 结果验证通过: 哈希 7a3f...

【步骤6】销毁飞地
🔥 飞地已销毁,所有数据已安全清除

三、基准污染检测:从被动防御到主动发现

3.1 检测基准污染的核心方法

在双盲评测从技术上阻断污染的同时,学术界也在积极开发检测方法。以下是一套可用的基准污染检测工具链:

"""
基准污染检测工具集 - 多维度交叉验证
"""

import hashlib
import json
import math
import random
from typing import List, Dict, Tuple, Optional
from collections import Counter
import re

# ──────────────────────────────────────────────
# 方法1:N-gram重叠检测
# ──────────────────────────────────────────────

class NGramContaminationDetector:
    """
    基于N-gram重叠的污染检测
    比较训练数据与基准测试题之间的文本相似度
    """
    
    def __init__(self, n: int = 13):
        """
        使用13-gram检测(OpenAI GPT-3论文中使用的标准)
        """
        self.n = n
    
    def extract_ngrams(self, text: str) -> set:
        """从文本中提取N-gram集合"""
        tokens = re.findall(r'\w+|[^\w\s]', text.lower())
        ngrams = set()
        for i in range(len(tokens) - self.n + 1):
            ngram = ' '.join(tokens[i:i + self.n])
            ngrams.add(ngram)
        return ngrams
    
    def compute_contamination_rate(
        self,
        benchmark_questions: List[str],
        training_corpus: List[str]
    ) -> Dict:
        """
        计算基准污染率
        
        返回每个题目的最大重叠率和整体污染评估
        """
        corpus_ngrams = set()
        for doc in training_corpus:
            corpus_ngrams.update(self.extract_ngrams(doc))
        
        results = []
        for q in benchmark_questions:
            q_ngrams = self.extract_ngrams(q)
            if not q_ngrams:
                continue
            overlap = len(q_ngrams & corpus_ngrams)
            rate = overlap / len(q_ngrams)
            results.append({
                "question": q[:50] + "...",
                "overlap_ngrams": overlap,
                "total_ngrams": len(q_ngrams),
                "contamination_rate": round(rate, 4),
                "flagged": rate > 0.7  # 70%重叠作为污染阈值
            })
        
        flagged = [r for r in results if r["flagged"]]
        return {
            "total_questions": len(results),
            "flagged_count": len(flagged),
            "contamination_rate": round(len(flagged) / len(results), 4) if results else 0,
            "avg_overlap_rate": round(
                sum(r["contamination_rate"] for r in results) / len(results), 4
            ) if results else 0,
            "details": results[:5]  # 仅展示前5条
        }


# ──────────────────────────────────────────────
# 方法2:Min-K%概率检测
# ──────────────────────────────────────────────

class MinKProbDetector:
    """
    基于Min-K%概率的污染检测
    利用模型对"最不可能"token的预测概率来检测记忆
    """
    
    def __init__(self, k_percent: float = 20.0):
        self.k = k_percent / 100.0
    
    def compute_token_log_probs(
        self,
        text: str,
        model_tokenizer_fn=None
    ) -> List[float]:
        """
        模拟计算文本中每个token的对数概率
        在实际使用中,需要调用模型并获取token级别的logits
        """
        if model_tokenizer_fn:
            return model_tokenizer_fn(text)
        
        # 模拟:污染文本的token概率分布更均匀(更少"意外"token)
        tokens = text.split()
        base_prob = -math.log(1 / 50000)  # 基础词汇表概率
        
        # 污染文本模拟:所有token概率更高
        contamination_factor = 0.3 if "MMLU" in text or "GSM8K" in text else 0.0
        probs = []
        for token in tokens:
            noise = random.gauss(0, 0.1)  # 模拟噪声
            prob = base_prob - contamination_factor * base_prob + noise
            probs.append(prob)
        return probs
    
    def detect_contamination(
        self,
        benchmark_texts: List[str],
        reference_texts: List[str],
        model_call_fn=None
    ) -> Dict:
        """
        使用Min-K%方法检测污染
        
        原理:模型对训练过的文本有更高的概率(更少"意外")
        所以污染文本的Min-K%概率平均高于未污染文本
        """
        benchmark_scores = []
        for text in benchmark_texts:
            log_probs = self.compute_token_log_probs(text, model_call_fn)
            sorted_probs = sorted(log_probs)
            k_count = max(1, int(len(sorted_probs) * self.k))
            min_k_probs = sorted_probs[:k_count]
            benchmark_scores.append(sum(min_k_probs) / len(min_k_probs))
        
        reference_scores = []
        for text in reference_texts:
            log_probs = self.compute_token_log_probs(text, model_call_fn)
            sorted_probs = sorted(log_probs)
            k_count = max(1, int(len(sorted_probs) * self.k))
            min_k_probs = sorted_probs[:k_count]
            reference_scores.append(sum(min_k_probs) / len(min_k_probs))
        
        # Mann-Whitney U检验的简化实现
        all_scores = benchmark_scores + reference_scores
        n1, n2 = len(benchmark_scores), len(reference_scores)
        
        # 计算AUC(面积在0.5附近表示无污染,>0.7表示显著污染)
        combined = [(s, 0) for s in benchmark_scores] + [(s, 1) for s in reference_scores]
        combined.sort(key=lambda x: x[0], reverse=True)
        
        rank_sum = sum(rank + 1 for rank, (_, group) in enumerate(combined) if group == 0)
        u_stat = rank_sum - (n1 * (n1 + 1)) / 2
        auc = u_stat / (n1 * n2) if n1 * n2 > 0 else 0.5
        
        avg_benchmark = sum(benchmark_scores) / len(benchmark_scores) if benchmark_scores else 0
        avg_reference = sum(reference_scores) / len(reference_scores) if reference_scores else 0
        
        return {
            "method": "Min-K% Prob",
            "k_percent": self.k * 100,
            "avg_benchmark_score": round(avg_benchmark, 4),
            "avg_reference_score": round(avg_reference, 4),
            "auc": round(auc, 4),
            "contamination_verdict": "污染显著" if auc > 0.7 else "无显著污染",
            "interpretation": (
                f"AUC={auc:.3f}: {'⚠️ 基准可能存在污染' if auc > 0.7 else '✅ 基准未见明显污染'}"
            )
        }


# ──────────────────────────────────────────────
# 方法3:TS-Guessing行为探针
# ──────────────────────────────────────────────

class TSGuessingProbe:
    """
    TS-Guessing行为探针
    通过让模型"填空"来检测是否记住了基准题目的具体内容
    """
    
    def __init__(self):
        self.results = []
    
    def mask_option_test(
        self,
        question: str,
        correct_answer: str,
        wrong_options: List[str],
        model_completion_fn=None
    ) -> Dict:
        """
        Task A: 选项遮蔽测试
        遮蔽一个错误选项,看模型能否还原原文
        
        如果模型记住了原题,它能还原被遮蔽的错误选项的具体措辞
        """
        masked_question = question.replace(wrong_options[0], "[MASK]")
        
        # 模拟模型填充结果
        if model_completion_fn:
            predicted = model_completion_fn(masked_question)
        else:
            # 模拟:污染模型会正确还原错误选项
            is_contaminated = random.random() < 0.6
            predicted = wrong_options[0] if is_contaminated else "some random text"
        
        exact_match = predicted == wrong_options[0]
        # 计算部分匹配(50% token重叠)
        pred_tokens = set(predicted.lower().split())
        opt_tokens = set(wrong_options[0].lower().split())
        overlap = len(pred_tokens & opt_tokens)
        partial_match = overlap / max(len(opt_tokens), 1) >= 0.5
        
        return {
            "test_type": "option_mask",
            "exact_match": exact_match,
            "partial_match": partial_match,
            "flagged": exact_match or partial_match
        }
    
    def word_mask_test(
        self,
        question: str,
        model_completion_fn=None
    ) -> Dict:
        """
        Task B: 词汇遮蔽测试
        遮蔽一个特定内容词,看模型能否精确还原
        
        选择不可猜测的词汇(如罕见名字、特定数字、拼写错误)
        """
        # 选择一个不可猜测的词
        words = question.split()
        # 过滤出长度>=5且不是停用词的词
        content_words = [w for w in words if len(w.strip('.,!?')) >= 5 
                        and w.lower() not in {'there', 'which', 'where', 'would', 'could', 'should'}]
        
        if not content_words:
            return {"test_type": "word_mask", "flagged": False}
        
        target_word = random.choice(content_words)
        # 词汇随机基线概率 ≈ 1/50000
        random_baseline = 1 / 50000
        
        # 模拟模型填充
        if model_completion_fn:
            predicted = model_completion_fn(question.replace(target_word, "[BLANK]"))
        else:
            is_contaminated = random.random() < 0.55
            predicted = target_word if is_contaminated else "something_else"
        
        exact_match = predicted.strip('.,!?') == target_word.strip('.,!?')
        
        return {
            "test_type": "word_mask",
            "target_word": target_word,
            "exact_match": exact_match,
            "random_baseline": random_baseline,
            "flagged": exact_match,
            "significance": "极高" if exact_match else "不显著"
        }


# ──────────────────────────────────────────────
# 综合检测报告
# ──────────────────────────────────────────────

def run_comprehensive_contamination_check(
    model_name: str,
    benchmark_name: str,
    benchmark_questions: List[str],
    training_corpus_snippet: Optional[List[str]] = None
) -> Dict:
    """
    运行多维度污染检测并生成综合报告
    """
    print(f"\n{'='*70}")
    print(f"🔍 基准污染综合检测报告")
    print(f"   模型: {model_name}")
    print(f"   基准: {benchmark_name}")
    print(f"   样本量: {len(benchmark_questions)} 题")
    print(f"{'='*70}\n")
    
    results = {}
    
    # 方法1: N-gram检测
    if training_corpus_snippet:
        print("📊 [方法1] N-gram重叠检测...")
        ngram = NGramContaminationDetector(n=13)
        results["ngram"] = ngram.compute_contamination_rate(
            benchmark_questions, training_corpus_snippet
        )
        print(f"   污染率: {results['ngram']['contamination_rate']:.1%}")
        print(f"   标记题数: {results['ngram']['flagged_count']}/{results['ngram']['total_questions']}")
    
    # 方法2: Min-K%概率
    print("\n📊 [方法2] Min-K%概率检测...")
    min_k = MinKProbDetector(k_percent=20.0)
    reference = ["This is a fresh unseen text for comparison."] * 100
    results["min_k_prob"] = min_k.detect_contamination(
        benchmark_questions, reference
    )
    print(f"   AUC: {results['min_k_prob']['auc']:.3f}")
    print(f"   判定: {results['min_k_prob']['contamination_verdict']}")
    
    # 方法3: 行为探针
    print("\n📊 [方法3] TS-Guessing行为探针...")
    probe = TSGuessingProbe()
    option_results = probe.mask_option_test(
        "Sample question about physics?",
        "Correct answer",
        ["Wrong option A", "Wrong option B", "Wrong option C"]
    )
    word_results = probe.word_mask_test(
        "What is the significance of the Boltzmann constant in thermodynamics?"
    )
    results["ts_guessing"] = {
        "option_mask_flagged": option_results["flagged"],
        "word_mask_flagged": word_results["flagged"],
        "overall_flagged": option_results["flagged"] or word_results["flagged"]
    }
    print(f"   选项遮蔽: {'⚠️ 污染信号' if option_results['flagged'] else '✅ 未见异常'}")
    print(f"   词汇遮蔽: {'⚠️ 污染信号' if word_results['flagged'] else '✅ 未见异常'}")
    
    # 综合评估
    contamination_signals = sum([
        1 if results.get("ngram", {}).get("contamination_rate", 0) > 0.3 else 0,
        1 if results.get("min_k_prob", {}).get("auc", 0.5) > 0.7 else 0,
        1 if results.get("ts_guessing", {}).get("overall_flagged", False) else 0
    ])
    
    print(f"\n{'='*70}")
    if contamination_signals >= 2:
        verdict = "⚠️ 高置信度污染检测结果:建议采用双盲评测重新评估"
    elif contamination_signals >= 1:
        verdict = "⚠️ 中度污染信号:建议进一步使用双盲评测验证"
    else:
        verdict = "✅ 未检测到显著污染信号"
    
    print(f"📋 综合判定: {verdict}")
    print(f"   检测方法数: 3, 污染信号数: {contamination_signals}/3")
    print(f"{'='*70}\n")
    
    return results


if __name__ == "__main__":
    # 模拟检测
    benchmark = [
        "What is the capital of France? Paris is a well-known city.",
        "Solve for x: 2x + 5 = 15. The answer is 5.",
        "MMLU benchmark question about quantum mechanics..."
    ]
    corpus = [
        "Paris is the capital of France and a major European city.",
        "MMLU benchmark question about quantum mechanics has been widely discussed.",
    ]
    
    run_comprehensive_contamination_check(
        "Gemini 2.5 Flash Lite",
        "MMLU (样本)",
        benchmark,
        corpus
    )

四、双盲评测与传统评测的全面对比

4.1 评估维度对比

┌─────────────────────────────────────────────────────────────────────────────┐
│              双盲评测 vs 传统评测:关键维度对比                                │
│                                                                             │
│  ┌──────────────────────┬────────────────────────┬────────────────────────┐ │
│  │      评估维度        │        传统评测          │       双盲评测          │ │
│  ├──────────────────────┼────────────────────────┼────────────────────────┤ │
│  │                      │                        │                        │ │
│  │ 测试题保密性          │ 依赖合同/NDA/零日志承诺  │ 硬件级加密+密码学证明    │ │
│  │                      │                        │                        │ │
│  │ 模型权重保护          │ 依赖双方信任/信誉        │ 硬件隔离+不可见计算     │ │
│  │                      │                        │                        │ │
│  │ 防基准污染能力        │ 法律约束,事后追责       │ 技术阻断,事前预防      │ │
│  │                      │                        │                        │ │
│  │ 结果可验证性          │ 依赖评测方声誉           │ 密码学哈希验证          │ │
│  │                      │                        │                        │ │
│  │ 第三方审计            │ 需要披露完整数据         │ 仅需验证证明和哈希      │ │
│  │                      │                        │                        │ │
│  │ 计算开销              │ 标准计算成本             │ 额外<5%的TEE开销       │ │
│  │                      │                        │                        │ │
│  │ 流程复杂度            │ 低(API调用即可)        │ 高(需要双方协调审批)   │ │
│  │                      │                        │                        │ │
│  │ 适用场景              │ 常规能力评估             │ 安全/合规/高敏感评测    │ │
│  │                      │                        │                        │ │
│  │ 信任模型              │ "请相信我们"             │ "请验证硬件"            │ │
│  │                      │                        │                        │ │
│  │ 可扩展性              │ 高                      │ 中(需更多协调)        │ │
│  │                      │                        │                        │ │
│  └──────────────────────┴────────────────────────┴────────────────────────┘ │
│                                                                             │
│  信任模型演进:                                                              │
│  合同信任 ──> 零日志信任 ──> 硬件可证信任(双盲评测)                          │
│  (legal)      (process)      (cryptographic)                                │
└─────────────────────────────────────────────────────────────────────────────┘

4.2 信任模型的演进

双盲评测最本质的贡献,是把AI评测的信任模型从"请相信我们"升级为"请验证硬件"。这种转变类似于HTTPS对Web安全的贡献——从"请相信这家网站是安全的"变成了"请验证这个证书是否由可信CA签发"。

技术报告的共同作者Andrew Trask等人指出:“长远的行业目标,应该类似于Web上的’HTTPS锁图标’——一个标准化的密码学证明管道,将复杂的依赖哈希和密钥抽象为零人工开销的可视化信任标记。”


五、试点验证:技术细节与结果

5.1 实验设置

本次双盲评测试点使用了以下具体配置:

  • 评估模型:Google DeepMind Gemini 2.5 Flash Lite(通过JAX C++ Model Server在Unix Domain Sockets上运行)
  • 评估基准:MLCommons AILuminate (AIRR 1.4)保留测试集——从未被任何模型处理过的题目
  • 覆盖风险领域:化学、生物、放射、核与爆炸物(CBRNE)危害、网络攻击、仇恨言论、自我伤害、暴力犯罪诱导
  • 计算环境:Google Cloud Platform A3 Confidential VM(a3-highgpu-1g实例)
    • Intel TDX主机内存加密
    • NVIDIA H100 80GB Confidential GPU
    • OpenMined PySyft v0.10.x软件栈
    • Google GRTE v5 C++运行时库
    • XLA/CUDA PJRT GPU编译客户端
    • TensorFlow Runtime / IFRT会话
    • NVIDIA Attestation SDK

5.2 计算开销

根据技术报告,机密计算环境的额外开销低于5%(Apsey et al., 2023),这意味着双盲评测在性能上是可以接受的。

5.3 现有局限

DeepMind在技术报告中坦诚列举了当前方案的局限性:

  1. 硬件信任根依赖:机密计算仍依赖硬件厂商(Intel、NVIDIA)的根信任,需要相信云服务商和硬件厂商不会合谋
  2. 部分专有实现无法完全检查:Gemini 2.5 Flash Lite的推理代码中,部分专有方法实现无法完全开源检查
  3. 构建复现性:虽然Confidential Space的客户OS源码开放且构建流程经过外部验证,但个别构建不可独立复现
  4. 验证路径:Google的服务参与了证明报告的签名和验证,增加了对Google的信任依赖

六、双盲评测的潜在应用场景

6.1 AI安全评测

对于国家安全级别的AI安全评估,双盲评测提供了一个天然的解决方案。政府AI安全机构(如新加坡AISI、美国NIST等)可以评估前沿模型的安全风险,而无需将自己的敏感测试题暴露给模型提供商,也无需获取对方的模型权重。

6.2 模型能力竞赛

在独立第三方组织的模型能力竞赛中,双盲评测可以确保:

  • 参赛模型无法提前看到考题
  • 评测方无法获取参赛模型的权重
  • 比赛结果可被密码学验证

6.3 第三方审计

┌─────────────────────────────────────────────────────────────────────────────┐
│                  双盲评测应用场景全景图                                       │
│                                                                             │
│  ┌─────────────────────┐     ┌─────────────────────┐                       │
│  │    AI安全评测         │     │    模型能力竞赛       │                       │
│  │                      │     │                      │                       │
│  │  • 政府AISIs评估     │     │  • 独立第三方组织     │                       │
│  │  • CBRNE风险检测     │     │  • 可验证的比赛结果   │                       │
│  │  • 网络安全评估      │     │  • 防作弊机制         │                       │
│  │  • 生物安全评估      │     │  • 公平比较           │                       │
│  └─────────────────────┘     └─────────────────────┘                       │
│           │                          │                                      │
│           └──────────┬───────────────┘                                      │
│                      │                                                      │
│             ┌────────▼────────┐                                             │
│             │  双盲评测基础设施 │                                             │
│             │  (DBE Framework) │                                             │
│             │  Confidential    │                                             │
│             │  Space + TEE     │                                             │
│             └────────┬────────┘                                             │
│                      │                                                      │
│           ┌──────────┴───────────────┐                                      │
│           │                          │                                      │
│  ┌────────▼────────┐     ┌──────────▼────────┐                             │
│  │  监管合规验证     │     │  企业采购评估       │                             │
│  │                  │     │                    │                             │
│  │  • 欧盟AI法案    │     │  • 供应商模型审计   │                             │
│  │  • 中国生成式AI  │     │  • 安全合规检查     │                             │
│  │    管理办法      │     │  • 能力验证         │                             │
│  │  • 美国AI行政令  │     │  • 风险评估报告     │                             │
│  └─────────────────┘     └────────────────────┘                             │
└─────────────────────────────────────────────────────────────────────────────┘

6.4 企业采购评估

企业在采购AI模型进行生产部署时,可以要求供应商提供双盲评测结果,确保评估分数真实反映模型在未见数据上的表现。


七、未来展望

7.1 技术演进方向

  1. 多节点分布式机密集群:前沿模型已超过万亿参数,需要将DBE扩展到多节点NVIDIA H100/B200计算集群
  2. 标准化密码学证明管道:类似于HTTPS锁图标,将复杂的信任验证抽象为简单可视化标记
  3. 自动化代码审批:减少当前需要大量人工协调的法律协议和代码审查流程
  4. 跨厂商TEE互认:建立统一的信任标准,使不同硬件平台(Intel、AMD、NVIDIA)的TEE可以互信

7.2 行业影响

DeepMind的联合创始人之一William Isaac在博客中表示:“双盲评测为模型监管开辟了新前沿,帮助整个行业构建更安全、更可靠、更值得信赖的AI系统。”

正如技术报告所指出的:“双盲评测为独立安全、非公开的专有系统评估铺平了道路。”

7.3 挑战与思考

尽管双盲评测代表了AI评测领域的重要进步,但我们必须清醒认识到:

双盲评测≠模型安全。双盲评测解决的是评测过程中的资产隔离和信任问题,它本身不保证评测结果准确,也不保证模型安全。

信任转移而非消除。信任从"我相信你不会偷看"转移到了"我相信Intel和NVIDIA的芯片不会合谋欺骗我"。虽然这种信任转移是技术上的进步,但信任并未完全消除。

成本和协调开销。当前的DBE流程需要大量的人工协调,包括法律协议、代码审查和构建验证,这对规模化部署构成挑战。


结语

Google DeepMind的双盲AI评测试点,标志着AI评测从"结果公开"走向"过程可验证"的历史性转变。当模型越来越强、题库越来越贵、数据越来越敏感时,评测环境本身也需要成为被审计的产品。

正如DeepMind技术报告所展望的——“最终目标是为整个行业提供一个类似于HTTPS锁图标的标准化密码学信任证明管道,将复杂的依赖哈希和密钥抽象为零人工开销的可视化信任标记。”

AI评测的信任,正在从"请相信我们"走向"请验证硬件"。这条路还很漫长,但方向已经清晰。


参考资料

  1. Isaac, W., Messing, S., & Lum, K. (2026). “Piloting the world’s first double-blind AI evaluations.” Google DeepMind Blog. https://deepmind.google/blog/piloting-the-worlds-first-double-blind-ai-evaluations/

  2. Trask, A., et al. (2026). “Double Blind Evals: Resolving the Dual Confidentiality Dilemma in AI Safety Auditing.” Technical Report. https://storage.googleapis.com/deepmind-media/DeepMind.com/Blog/piloting-the-worlds-first-double-blind-ai-evaluations/double-blind-evaluations-technical-report.pdf

  3. MLCommons. (2026). “AILuminate and The First Double-Blind Reliability Evaluation of a Proprietary AI Model.” https://mlcommons.org/2026/08/double-blind-reliability-evaluation/

  4. Google Cloud. (2026). “Verifiable, private AI: Google Cloud expands Confidential Computing frontiers.” https://cloud.google.com/blog/products/identity-security/verifiable-trust-in-the-ai-era-whats-new-in-confidential-computing

  5. Freelan, D. (2026). “Measuring Benchmark Data Contamination in Frontier Language Models at Scale.” NE2NE. https://ne2ne.com/static/papers/contamination_paper.pdf

  6. Schaeffer, R., et al. (2026). “Quantifying the effect of test set contamination on generative evaluations.” arXiv preprint arXiv:2601.04301.

  7. Xu, R., et al. (2024). “Benchmarking benchmark leakage in large language models.” arXiv preprint arXiv:2404.18824.

  8. Singh, S., et al. (2025). “The leaderboard illusion.” In Advances in Neural Information Processing Systems, volume 38.

  9. Trask, A., et al. (2024). “Secure enclaves for AI evaluation.” OpenMined Technical Blog. https://openmined.org/blog/secure-enclaves-for-ai-evaluation/

  10. 云望. (2026). “模型权重和测试题互不交付: DeepMind公布’双盲AI评测’试点.” http://m.toutiao.com/group/7678842249303589412/