一条命令跑通VSI-Bench:evaluate_all_in_one.sh实战教程(16款模型一键评测)

一条命令跑通VSI-Bench:evaluate_all_in_one.sh实战教程(16款模型一键评测)

一条命令跑通VSI-Bench:evaluate_all_in_one.sh实战教程(16款模型一键评测)

【免费下载链接】thinking-in-spaceOfficial repo and evaluation implementation of VSI-Bench项目地址: https://gitcode.com/gh_mirrors/th/thinking-in-space

VSI-Bench是CVPR 2025 Oral论文《Thinking in Space》推出的多模态大模型空间智能评测基准,专门检验模型能否从第一视角视频中"看懂、记住并回忆"三维空间。本教程将带你用一条命令跑通VSI-Bench评测:官方一键脚本evaluate_all_in_one.sh内置16款主流模型的完整配置,从GPT-4o、Gemini等闭源API模型,到LLaVA-OneVision、InternVL2、LongVA等开源模型全覆盖,无需手写任何评测参数,克隆仓库、装好环境、敲一行命令即可开跑。

什么是VSI-Bench?多模态大模型的空间智能"考卷"

传统视频问答评测只考"看到了什么",而VSI-Bench更进一步,考的是空间智能:看完一段室内第一视角视频后,模型能否像人类一样在大脑中构建"认知地图"?能否回答"沙发和电视距离多远""从厕所到厨房怎么走""房间里有几张椅子"这类问题?

VSI-Bench的数据规模与覆盖面相当扎实:

  • 5000+ 问答对,来自288 段第一视角视频
  • 视频取自ScanNet、ScanNet++、ARKitScenes三大公开室内3D重建数据集的验证集;
  • 8 类任务,归为三大类型:构型任务(Configuration)、测量估计(Measurement)、时空任务(SpatioTemporal)。

evaluate_all_in_one.sh:16款模型一键评测的秘密

很多评测框架的痛点在于:每个模型要单独写模型参数、提示词模板和batch配置,光调试就耗掉大半天。而evaluate_all_in_one.sh把这些全部封装好了——脚本内部为每款模型预置了完整的model_familymodel_args映射,你只需告诉它"评测哪个模型",剩下的交给脚本。

脚本共内置16 款模型,覆盖 8 个模型家族:

模型别名模型家族规格类型
gemini_1p5_flash/gemini_1p5_pro_002/gemini_2p0_flash_expGemini API1.5 Flash / 1.5 Pro / 2.0 Flash闭源API
gpt_4o_2024_08_06_f16GPT-4o4o(16帧)闭源API
llava_one_vision_qwen2_0p5b_ov_32f/_7b_/_72b_LLaVA-OneVision0.5B / 7B / 72B开源
llava_next_video_7b_qwen2_32f/_72b_LLaVA-NeXT-Video7B / 72B开源
llama3_vila1p5_8b_32f/_40b_VILA8B / 40B开源
llama3_longvila_8b_128frames_32fLongVILA8B(128帧长视频)开源
longva_7b_32fLongVA7B开源
internvl2_2b_8f/_8b_/_40b_InternVL22B / 8B / 40B开源

参数--model all时,默认跑其中 8 款开源模型(无需API Key即可本地评测),其余模型按需指定。

VSI-Bench安装步骤:三步搭好评测环境

第一步:克隆仓库并初始化子模块

仓库包含transformers子模块(评测依赖的定制版本),务必初始化:

git clone https://gitcode.com/gh_mirrors/th/thinking-in-space cd thinking-in-space git submodule update --init --recursive

第二步:创建Python环境并安装依赖

conda create --name vsibench python=3.10 conda activate vsibench cd transformers && pip install -e . && cd .. pip install -e . pip install deepspeed

第三步:准备API Key(仅评测闭源模型时需要)

评测 Gemini 和 GPT-4o 前,在脚本开头填入密钥(见evaluate_all_in_one.sh第12-13行):

export OPENAI_API_KEY="你的OpenAI密钥" export GOOGLE_API_KEY="你的Gemini密钥"

一条命令开始VSI-Bench模型评测

环境就绪后,评测就是这么简单:

bash evaluate_all_in_one.sh --model all --num_processes 8 --benchmark vsibench
  • --model all:一键跑完默认 8 款开源模型;
  • --num_processes 8:并行进程数,按你的 GPU 显存调整;
  • --benchmark vsibench:评测任务名(当前默认值,可省略)。

想先小范围验证流程是否通畅?加上--limit参数,只评测前 20 条样本,几分钟即可看到结果:

bash evaluate_all_in_one.sh --model llava_one_vision_qwen2_0p5b_ov_32f --limit 20

想对比多款指定模型?模型名用逗号分隔即可:

bash evaluate_all_in_one.sh --model gemini_1p5_pro_002,gpt_4o_2024_08_06_f16

常用参数详解:定制你的VSI-Bench评测

evaluate_all_in_one.sh还支持几个实用参数,方便你灵活定制评测:

  • --num_processes:加速并行进程数,默认 4;显存充足可调大,72B/40B 大模型脚本会自动降为 1;
  • --num_frames:视频采样帧数,默认 32 帧(InternVL2 系列固定 8 帧);
  • --output_path:结果输出目录,默认logs/日期(按美东时间命名);
  • --limit:限制评测样本数,适合快速调试。

模型与任务的绑定关系、提示词模板等逻辑,分别定义在评测配置 vsibench.yaml 和评测逻辑 utils.py 中;各模型家族的接入实现可参考 gemini_api.py、gpt4v.py、vila.py、longva.py、internvl2.py 等文件。

看懂评测结果:准确率与MRA两大指标

VSI-Bench 的 8 类任务采用两套评测指标,跑完会自动输出综合得分:

  • MCA 选择题任务(相对方向、相对距离、路线规划、出现顺序):用准确率(Accuracy)评估,要求模型直接输出选项字母;
  • NA 数值题任务(绝对距离、物体计数、物体大小、房间大小):用官方提出的MRA(Mean Relative Accuracy,平均相对准确率)评估,衡量模型预测值与真实值的相对误差。

最终结果以overall综合分呈现,并按 8 类任务逐项打分,方便你横向对比各模型的空间智能水平。

常见问题与避坑指南

Q1:--model all会评测闭源API模型吗?不会。all默认只跑 8 款开源模型,闭源模型需在脚本中填好 API Key 后显式指定名称。

Q2:评测到一半显存爆了怎么办?调小--num_processes,或改用更小规格的模型(如internvl2_2b_8fllava_one_vision_qwen2_0p5b_ov_32f)。

Q3:结果输出到哪里?默认在logs/当天日期/vsibench/目录下,按模型名分别保存日志与样本结果,方便对比复现。

Q4:开源模型结果和论文表格有差异?官方说明指出,由于数据后期精修,开源模型复现结果可能与论文表格略有出入,属正常现象,建议以自己跑出的结果为准。

总结

VSI-Bench 为多模态大模型的空间智能提供了可量化的评测标准,而 evaluate_all_in_one.sh 则把评测门槛降到了"一条命令"。无论你是想复现论文结果、横向对比主流模型,还是验证自己微调的视频模型,克隆仓库后按本教程三步操作即可快速上手 VSI-Bench 一键评测。现在就动手,看看你手上的模型到底"懂不懂空间"吧!

【免费下载链接】thinking-in-spaceOfficial repo and evaluation implementation of VSI-Bench项目地址: https://gitcode.com/gh_mirrors/th/thinking-in-space

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考