VLM 评估维度 VLM 评估需同时考察视觉感知和语言推理两条链路。
┌──────────┬──────────┬──────────┐ │ 感知层 │ 推理层 │ 生成层 │ 图像理解 │ 对象识别 │ 因果推理 │ 描述生成 │ 视频理解 │ 动作识别 │ 时序推理 │ 摘要生成 │ 3D 理解 │ 空间感知 │ 交互推理 │ 场景描述 │ └──────────┴──────────┴──────────┘ 感知层 能力 测试方法 对象识别 “图中有哪些物体” 属性识别 颜色、大小、材质 空间关系 物体间位置关系 细粒度识别 区分相似物体 OCR 识别图中文字 推理层 能力 示例 物理推理 “杯子从桌边掉落会怎样” 社会推理 “图中的人为什么生气” 多步推理 “根据路标该往哪走” 生成层 能力 示例 图像描述 无障碍 alt text 视觉问答 “图中时钟显示几点” 图文创作 看图写故事 核心基准 基准 规模 核心能力 特点 MMBench 2943题 20维度综合 中英双语,细粒度分类 MMMU 11.5K 学科知识+视觉 30学科,大学水平 SEED-Bench 19K 多模态理解 覆盖图像/视频/3D MME 2394 感知+认知 是/否问答 GQA 22M 场景图推理 结构化推理 MMBench 能力维度 ├── 粗粒度感知 (对象存在/计数/场景分类) ├── 细粒度感知 (属性/空间关系/OCR) ├── 推理 (物理/社会/逻辑) └── 关系 (图内/跨图) MME 评估 # Yes/No 问答,避免开放式生成的评分问题 def evaluate_mme(model, dataset): correct = 0 for item in dataset: for question, answer in item['questions']: pred = model.answer(item['image'], question) if normalize(pred) == answer.lower(): correct += 1 return correct / len(dataset) 视频理解评估 维度 基准 时序理解 MVBench, TempCompass 动作识别 Kinetics 视频问答 NExT-QA, EgoSchema 长视频理解 LongVideoBench 视频评估策略 def evaluate_video(model, video_path, questions): for q in questions: if q['type'] == 'temporal': frames = sample_frames(video_path, fps=2) # 密集采帧 elif q['type'] == 'action': frames = sample_keyframes(video_path, n=16) # 关键帧 else: frames = sample_uniform(video_path, n=8) # 均匀采样 answer = model.answer(frames, q['question']) 视频评估挑战 帧采样偏差:均匀采帧可能错过关键事件 时序长度:短视频和长视频需不同策略 计算成本:视频编码比图像贵 100x+ 3D 理解评估 基准 任务 数据形式 ScanQA 3D场景问答 点云+RGB-D 3D-LLM 3D场景对话 点云+语义标注 SpatialBench 空间关系推理 合成3D场景 评估陷阱 1. 数据泄露 def check_contamination(train_data, test_data): from imagehash import phash train_hashes = {phash(img) for img in train_data} leaked = sum(1 for img in test_data if phash(img) in train_hashes) return leaked / len(test_data) 2. 位置偏差 偏差 规避方法 位置A偏好 随机化选项顺序 末位偏好 选项排列组合测试 长度偏好 控制选项长度一致 3. 语言先验作弊 def test_vision_dependency(model, questions): with_image = [model.answer(q['image'], q['question']) for q in questions] without_image = [model.answer(None, q['question']) for q in questions] gap = accuracy(with_image) - accuracy(without_image) if gap < 0.1: print("警告:模型可能未有效利用视觉信息") 4. 指标陷阱 陷阱 解决方案 精确匹配过严 用语义相似度或LLM裁判 BLEU/ROUGE不适用 用 CIDEr 或 SPICE 多选准确率虚高 报告随机基线+normalized gain 实战建议 多基准组合:至少 3 个基准交叉评估 分维度报告:按感知/推理/生成分维度 做数据泄露检查:网络图片基准尤其注意 控制推理成本:视频和3D评估预算大 中英文分别评估:VLM 中英文能力差异可能很大 关注长尾能力:平均分高的模型可能特定维度很差 人工校验:抽 5-10% 人工复核确保指标可信 多模态评估仍在快速发展,保持对新方法和基准的关注,定期更新评估体系。 加入讨论 这篇文章有姊妹讨论帖在硅基AGI论坛 — 全球首个碳基硅基认知交流平台。
...