MoonshotAI/PerceptionBench

GitHub: MoonshotAI/PerceptionBench

PerceptionBench 是一个通过十项原子感知能力对多模态大语言模型进行精准诊断的视觉感知评测基准。

Stars: 5 | Forks: 1

# PerceptionBench **PerceptionBench:评估多模态大语言模型中的原子视觉感知能力** [主页](https://www.kimi.com/blog/perception-bench) | [论文](#) | 🤗 [数据集](https://huggingface.co/datasets/moonshotai/PerceptionBench) | [代码](https://github.com/MoonshotAI/PerceptionBench) ## 摘要 我们介绍了 PerceptionBench,这是一个专门设计用于评估多模态大语言模型(MLLMs)原子视觉感知能力的基准测试。现有的基准测试往往无法将感知能力单独剥离出来:整体评估会将感知错误与推理或领域知识的失败混为一谈,而应用驱动的基准测试仅涵盖由启发式设计决定的狭窄、碎片化的领域。为了解决这些局限性,PerceptionBench 采用了自下而上的方法:通过诊断前沿 MLLM 在 42 个现有基准测试中响应的最早失败点,我们构建了一个错误分类体系,其感知分支定义了十项原子感知能力。在此分类体系的指导下,我们构建了 3,000 个已验证的问题,其答案简短且明确,每个问题仅评估一项单一能力,其难度源于感知而非推理或知识。对十六个前沿 MLM 的基准测试结果表明,原子感知在很大程度上仍是一个未解难题——没有任何模型达到 60% 的准确率,与感知相关的幻觉平均而言是最薄弱的能力,并且相似的总体得分掩盖了截然不同的能力特征。因此,PerceptionBench 提供了一个能力层面的标准,用于衡量和诊断 MLM 的视觉感知边界。 ## 数据集统计 发布的基准测试包含跨越**十项原子感知能力**的 **3,000 个已验证问题**。按构建来源划分,**1,800(60%)** 个问题是从源基准测试中已归因的失败案例中分解出来的原子子问题,而其余的 **1,200(40%)** 个问题是在补充的图像上新编写的。这 3,000 个问题是从内部池中**超过 17,000 个已验证样本**的已构建部分中,经过能力级别平衡和难度分层抽样而来的。 ## 排行榜 十六个前沿 MLM(十个专有模型,六个开源模型)在统一的 prompt 和可用的最高推理预算下进行了评估。所有问题均为开放式,且具有简短、唯一确定的答案;**GPT-oss-120B** 根据参考答案对每个回答进行评判(在 300 个样本的审核中,与人类判断的一致率高达 **99.7%**)。分数表示准确率(%)。 | # | 模型 | 总体 | VRel | Count | Attr | Depth | Loc | Comp | FGR | Ctx | OCR | Hallu | |--:|-------|--------:|-----:|------:|-----:|------:|----:|-----:|----:|----:|----:|------:| | 1 | GPT-5.6-Sol | 59.7 | 69.7 | 62.4 | 62.1 | 55.5 | 76.7 | 67.0 | 55.9 | 60.0 | 54.9 | 26.9 | | 2 | Kimi K3 | 58.5 | 68.2 | 59.7 | 59.4 | 52.4 | 70.3 | 59.1 | 55.9 | 53.3 | 61.2 | 41.7 | | 3 | Claude-Fable-5 | 57.2 | 58.5 | 52.9 | 60.9 | 51.5 | 70.4 | 56.1 | 51.6 | 59.8 | 64.3 | 45.0 | | 4 | Gemini-3.1-Pro | 56.2 | 58.8 | 56.9 | 61.8 | 50.0 | 52.7 | 61.7 | 54.8 | 61.2 | 64.3 | 40.6 | | 5 | GPT-5.5 | 55.8 | 61.9 | 55.8 | 60.9 | 48.8 | 65.8 | 65.6 | 47.2 | 58.0 | 56.5 | 34.7 | | 6 | Seed-2.1-Pro | 55.0 | 57.6 | 51.2 | 58.2 | 43.6 | 50.0 | 59.5 | 56.6 | 60.4 | 66.7 | 49.8 | | 7 | Gemini-3.5-Flash | 52.0 | 53.6 | 43.6 | 54.5 | 49.7 | 50.6 | 54.8 | 51.7 | 53.3 | 59.6 | 50.6 | | 8 | Qwen3.7-Plus | 51.1 | 59.1 | 53.3 | 55.8 | 48.5 | 52.7 | 55.9 | 46.8 | 52.2 | 54.5 | 29.5 | | 9 | Qwen3.5-397B-A17B | 47.5 | 55.2 | 49.1 | 53.0 | 44.6 | 46.7 | 49.8 | 44.8 | 50.2 | 52.9 | 26.9 | | 10 | Claude-Opus-4.8 | 47.2 | 51.4 | 44.2 | 49.4 | 40.6 | 58.8 | 48.4 | 40.7 | 44.7 | 54.1 | 38.7 | | 11 | Kimi K2.6 | 42.6 | 50.9 | 45.2 | 43.6 | 42.4 | 45.2 | 39.1 | 34.5 | 40.4 | 40.8 | 41.0 | | 12 | Grok-4.5 | 41.0 | 47.0 | 35.2 | 39.4 | 41.2 | 39.7 | 43.7 | 36.2 | 39.6 | 43.9 | 44.7 | | 13 | Gemma-4-31B | 40.7 | 42.7 | 33.9 | 40.3 | 39.1 | 44.9 | 43.7 | 39.0 | 45.9 | 46.7 | 32.1 | | 14 | GLM-5V-Turbo | 39.6 | 41.2 | 40.0 | 41.2 | 41.2 | 43.9 | 45.2 | 36.6 | 32.9 | 43.5 | 28.0 | | 15 | Minimax-M3 | 33.1 | 40.0 | 30.3 | 34.6 | 36.7 | 33.3 | 31.2 | 26.6 | 31.0 | 35.7 | 29.9 | | 16 | GLM-4.6V | 32.5 | 35.2 | 31.8 | 35.2 | 29.1 | 30.6 | 34.8 | 29.3 | 33.7 | 39.2 | 26.9 | - **VRel** = 视觉关系 - **Count** = 计数 - **Attr** = 属性 - **Depth** = 深度与 3D 感知 - **Loc** = 定位 - **Comp** = 比较 - **FGR** = 细粒度识别 - **Ctx** = 上下文整合 - **OCR** = 光学字符识别 - **Hallu** = 与感知相关的幻觉 ## 快速开始:评估你的模型 ### 1. 安装 ``` git clone git@github.com:MoonshotAI/PerceptionBench.git cd PerceptionBench pip install -r requirements.txt ``` ### 2. 配置 ``` cp .env.example .env # then fill in your credentials (auto-loaded via python-dotenv) ``` 或者直接导出环境变量: ``` export OPENAI_API_KEY="your-api-key-here" export OPENAI_BASE_URL="https://your-endpoint/v1" # any OpenAI-compatible endpoint ``` ### 3. 运行 ``` python eval/eval.py ``` 所有配置均从环境变量(或 `.env`)中读取: | 变量 | 默认值 | 描述 | |----------|---------|-------------| | `OPENAI_API_KEY` | 必填 | 兼容 OpenAI 的 endpoint 的 API 密钥 | | `OPENAI_BASE_URL` | 必填 | 兼容 OpenAI 的 endpoint 的 Base URL | | `MODEL` | 必填 | 接受评估的模型 | | `JUDGE_MODEL` | `gpt-oss-120b` | 用于自由格式答案的 LLM 评判模型(与论文一致) | | `DATASET` | `PerceptionBench.jsonl` | 基准测试 JSONL 文件的路径 | | `CONCURRENCY` | `16` | 并发请求数 | | `MAX_TOKENS` | `65536` | 每个问题的最大生成 token 数 | | `MAX_RETRIES` | `3` | 放弃前的 API 调用重试次数;`-1` = 无限重试 | | `PRED_TEMPERATURE` | 未设置 | 预测的采样温度(评判模型运行在 0.3) | | `TOP_P` | 未设置 | 预测的 Nucleus 采样 | | `TOP_K` | 未设置 | 预测的 Top-k 采样(通过 `extra_body` 传递) | 每个条目的预测结果会写入 `results/PerceptionBench_.jsonl`,总体/各类别准确率会写入 `results/PerceptionBench__scores.json`。 评估器会将问题 + 图像输入给模型,然后使用论文中的教师评分 prompt(`eval/judge_prompt.txt`),要求评判模型根据参考答案对自由格式的回答进行评分,并为每个条目返回严格的 0/1 判定结果。 ## 引用 ``` @article{perceptionbench2026, title = {PerceptionBench: Evaluating Atomic Visual Perception in Multimodal Large Language Models}, author = {Moonshot AI}, year = {2026} } ```
标签:Clair, 人工智能评估, 多模态大语言模型, 视觉感知, 逆向工具