zhiminy/EvalEng huggingface dataset:
Repository: open-compass/VLMEvalKit
Issue: 本地评估模型相关疑问
Root cause: Documentation Deficiency

感谢贵司开源项目为我带来的极大便利。在使用过程中，我遇到了一些疑问，希望能在您方便时得到解答，烦请帮忙解惑。

1.对于多模态模型，是选用LLM还是VLM作为本地的评估模型呢？

2.对本地模型的环境变量如：OPENAI_API_KEY，OPENAI_API_BASE，LOCAL_LLM等配置之后，是否还需要使用lmdeploy serve api_server 启动所部署的模型才能评测我自己的模型呢？

@kennymckormick @FangXinyu-0913 

Hi @Leke-G 
1. 评估过程主要是将模型的推理所得与标准答案/参考答案进行比较从而给分，因此采用LLM来作为本地的评估模型
2. 对本地模型的环境变量配置后，会采用闭源模型的class进行测试是否api可行。如果您想要lmdeploy部署模型，可以参考这个文档 https://github.com/open-compass/VLMEvalKit/blob/main/docs/zh-CN/EvalByLMDeploy.md

补充：
1. 评测阶段：对于部分评测集，我们必须 (如 MMVet，MathVista_MINI 等依赖 GPT 打分)，或可选 (如 MMBench 等基于 LLM 提取答案) 利用外部 LLM。对于前者，必须利用 OPENAI GPT 进行评测，须设置 OPENAI_API_KEY，OPENAI_API_BASE。对于后者，可基于 GPT 或其他 LLM 进行答案提取，其中亦可基于 LMDeploy 启动 local llm 用于答案提取。
2. 推理阶段：我们目前已支持基于 lmdeploy 推理多模态模型，请参照：https://github.com/open-compass/VLMEvalKit/blob/main/docs/en/EvalByLMDeploy.md。
Repository: open-compass/VLMEvalKit
Issue: 进行GQA评测时，相同index导致的结果覆盖问题
Root cause: Algorithmic Error


![22](https://github.com/user-attachments/assets/8ab02f55-a44d-4d3e-a948-58d88c4df559)
进行GQA评测时，相同index导致的结果覆盖问题，由于index不唯一，导致同一个图片的多个问题index相同，最终评测结果中所有统一图片问的问题都是同一个答案，可以参考index：n329479的多个问题答案
[Uploading test.xlsx…]()

![WX20241225-212410@2x](https://github.com/user-attachments/assets/16941583-0879-4dd6-b764-4c3c5ff9f0d8)


![33](https://github.com/user-attachments/assets/875488e9-4034-4434-a97d-df1d36dc874a)
再补充一张


@FangXinyu-0913 

HI，@Lyxxx1211 我们注意到了这个问题并确认存在，会在近期进行修复，感谢您指出这一问题

@Lyxxx1211 您好我们已经修复了这个问题，您可以在删除原先tsv后重新下载，即可获得正确结果。再次感谢您指出这一问题，如果有什么进一步的疑问，欢迎您随时在这一问题下提问或reopen这一问题。
Repository: open-compass/VLMEvalKit
Issue: About mmmu and ocrbench
Root cause: Configuration Error

关于Mmmu和OCrbench，想请教一下以下一些问题～
1. 我看有提到mmmu包括val和dev集，在leaderboard上是只用了val还是都有呢？
2. mmmu没有用cot吗？我这边跑的时候发现没有cot下的4o0513模型并没有这么高的分数，但是实际debug也没有看到cot的prompt在里面，所以想确定下。
3. ocrbench跑出来的4o0513的分最低也是800分，比leaderboard上的736高不少，想知道这个有什么可能的原因呢？

1. 仅使用了 Val
2. 未使用 COT
3. 我们的评测记录在 https://huggingface.co/datasets/VLMEval/OpenVLMRecords 中可访问。我们可以在现在时间点再尝试复现一下。

Hi, @Violettttee , 
经确认，我们此前 GPT4o_0513 on OCRBench 的评测结果存在问题，我们已重新测试并对结果进行更新。

有一个小问题～我看回复文件中的internvl明显走了cot，源代码中internvl的model也对mcq的数据集设置了use_custom_prompt。
另外internvl的回复刚好也包含提供的cot prompt中的boxed等指令，意思是internvl的是走了cot吗？因为我们这边在自己的仓库测怎么都对不上分

<img width="860" alt="Clipboard_Screenshot_1736223492" src="https://github.com/user-attachments/assets/3a196cba-c922-4bba-997e-c846ec27e3cb" />


qwen2.5-VL-3B，我跑出来只有47.8，跟leaderboard上的51.4，和paper里面的53.1都相差好大，请问哪里没对齐吗？

`torchrun --nproc-per-node=8  run.py --data OCRBench --model Qwen2.5-VL-3B`
OCRBench的结果只有："Final Score": 673，跟官网的831，相差更大

> qwen2.5-VL-3B，我跑出来只有47.8，跟leaderboard上的51.4，和paper里面的53.1都相差好大，请问哪里没对齐吗？

可以试试改一下分辨率，我看他们这边跑ocrbench的时候似乎是改过分辨率的，具体是qwen模型下面那个info里面的。

> > qwen2.5-VL-3B，我跑出来只有47.8，跟leaderboard上的51.4，和paper里面的53.1都相差好大，请问哪里没对齐吗？
> 
> 可以试试改一下分辨率，我看他们这边跑ocrbench的时候似乎是改过分辨率的，具体是qwen模型下面那个info里面的。

请问你对齐精度了吗？分辨率需要改成多少？

> > > qwen2.5-VL-3B，我跑出来只有47.8，跟leaderboard上的51.4，和paper里面的53.1都相差好大，请问哪里没对齐吗？
> > 
> > 
> > 可以试试改一下分辨率，我看他们这边跑ocrbench的时候似乎是改过分辨率的，具体是qwen模型下面那个info里面的。
> 
> 请问你对齐精度了吗？分辨率需要改成多少？

<img width="829" alt="Image" src="https://github.com/user-attachments/assets/089bcb05-2094-47e9-bbda-7650831178d8" />

根据之前的观察，最低像素是10 * 10 * 28 * 28
Repository: open-compass/VLMEvalKit
Issue: 不支持MathVerse
Root cause: Documentation Deficiency

 Dataset MathVerse is not officially supported. 
  warnings.warn(f'Dataset {dataset_name} is not officially supported. ')

Hi, @wangchunhui06 , 
MathVerse is supported in VLMEvalKit. 
Check this document for the dataset names you should adopt in the command line: https://aicarrier.feishu.cn/wiki/Qp7wwSzQ9iK1Y6kNUJVcr6zTnPe?from=from_copylink

![image](https://github.com/user-attachments/assets/acbf55d6-5d2d-46bb-a5f3-100b4b7046c5)
Repository: open-compass/VLMEvalKit
Issue: 请问 CORE_MM benchmark 是否已经不支持了呢？
Root cause: Documentation Deficiency

您好！我在 VLMEvalKit Features 里面看到 [https://aicarrier.feishu.cn/wiki/Qp7wwSzQ9iK1Y6kNUJVcr6zTnPe?table=tblsdEpLieDoCxtb&view=vewa8sGZrY](url) 显示支持 CORE_MM，但目前除了 readme 中，整个仓库已经搜索不到 CORE_MM 的关键词了，请问是否已经不支持了呢？如果是的话，可能需要对应修改一下 features 页面。
![image](https://github.com/user-attachments/assets/ad101e81-5774-4ce7-8714-5d5b3bd1487a)


是的，感谢您的提醒，我们会及时进行修改

嗯嗯，非常感谢！
Repository: open-compass/VLMEvalKit
Issue: How to calculate the average rank?
Root cause: Documentation Deficiency

![image](https://github.com/open-compass/VLMEvalKit/assets/18352727/3cb945d2-0e9f-4c2f-bbbe-b87554c6db4b)
In the leaderboard, [LLaVA-InternLM2-20B (QLoRA)] get higher average score than Monkey-Chat, but Monkey-Chat rank higher. So how to calculate the Avg.Rank as the leaderboard shows?

Hi, @liuheng0111 , 
Avg. Rank means the average ranks of an VLM on different benchmarks. For example, if there exist two benchmarks: MMBench and MMBench_CN, if GPT-4v ranked 1st on MMBench and ranked 3rd on MMBench_CN, it's Avg. Rank would be (1+3) / 2 = 2. 

According to the definition, the Avg. Rank and Avg. Score may not have exactly the same partial order.
Repository: open-compass/VLMEvalKit
Issue: 请问选择题的评估方式代码在哪个文件
Root cause: Documentation Deficiency

【Issue来源】
社区的工作人员您好，感谢您及您的团队提供这么好用的评估工具，我最近需要去复现MMBench的结果，通过 https://github.com/open-compass/MMBench 的readme了解到评估方式已经集成到VLMEvalKit中。
<img width="944" alt="image" src="https://github.com/user-attachments/assets/477b3a95-8e91-4a4e-8a88-de1f6ede70d4" />

【核心诉求】我想请教MMBench这种有GPT协助的选择题评估方式代码在哪个文件夹，是否可以拿出来单独复用？因为我个人写论文的时候，需要用到类似功能，不仅仅是MMBench，但怕自己写的与原文有误差，所以希望求助于社区。希望您及您的团队看到此个issue，能给我一个回复，再次感谢。

【MMBench原文内容如下】
步骤 1：匹配预测
首先，我们尝试使用启发式匹配从 VLM（视觉语言模型）的预测中提取选项。我们的目标是从 VLM 的输出中提取选项标签（例如 A、B、C、D）。如果成功，我们将其作为预测结果；如果不成功，则尝试使用 LLM（大语言模型）提取选项标签。  
步骤 2：匹配 LLM 的输出
如果步骤 1 失败，我们尝试使用 LLM（默认使用 gpt-4-0125）提取选项。我们首先向 ChatGPT 提供问题、选项和模型预测结果，然后要求它将预测结果与给定的选项之一对齐，并生成相应选项的标签。如果 LLM 发现模型预测结果与所有选项都显著不同，我们会要求它返回一个伪选项“Z”。在实验中，我们发现几乎所有情况下，LLM 都能根据指令输出一个有效的选项。  
对于每个样本，我们将模型的标签预测（经过 GPT 的相似度读取后）与实际的真实标签进行比较。如果预测结果与标签匹配，则该测试样本被视为正确。


Hi @gxlover0625，非常感谢您对我们的支持，对于您提出的问题，可以参考如下函数：
MMBench的评估函数见：https://github.com/open-compass/VLMEvalKit/blob/main/vlmeval/dataset/image_mcq.py#L196
对于论文中提到的circular eval的方法，可以见：https://github.com/open-compass/VLMEvalKit/blob/main/vlmeval/dataset/utils/multiple_choice.py#L373
匹配LLM输出的具体函数可见：https://github.com/open-compass/VLMEvalKit/blob/main/vlmeval/dataset/utils/multiple_choice.py#L237
如有其他问题，欢迎您随时提问～

> Hi @gxlover0625，非常感谢您对我们的支持，对于您提出的问题，可以参考如下函数： MMBench的评估函数见：https://github.com/open-compass/VLMEvalKit/blob/main/vlmeval/dataset/image_mcq.py#L196 对于论文中提到的circular eval的方法，可以见：https://github.com/open-compass/VLMEvalKit/blob/main/vlmeval/dataset/utils/multiple_choice.py#L373 匹配LLM输出的具体函数可见：https://github.com/open-compass/VLMEvalKit/blob/main/vlmeval/dataset/utils/multiple_choice.py#L237 如有其他问题，欢迎您随时提问～

感谢社区的工作人员，我已了解
Repository: open-compass/VLMEvalKit
Issue: MMMU和MathVista在gpt-4o的结果
Root cause: Documentation Deficiency

想请问下MMMU和MathVista上是怎么设置的prompt得到的69.9 | 62.7的结果（GPT-4o-20240806）？因为我在让模型直接回答问题时获得的结果远低于这两个数值，在用上COT之后才能接近，但是看起来在[VLMEvalKit]中并没有使用COT？或者除了prompt设置有其他单独的设置？


> 想请问下MMMU和MathVista上是怎么设置的prompt得到的69.9 | 62.7的结果（GPT-4o-20240806）？因为我在让模型直接回答问题时获得的结果远低于这两个数值，在用上COT之后才能接近，但是看起来在[VLMEvalKit]中并没有使用COT？或者除了prompt设置有其他单独的设置？

https://github.com/open-compass/VLMEvalKit/issues/702
我也问过这个问题..但是我看回复文件里面4o的明显是有cot的（如果指令中没有直出的要求的话，4o走cot可能是因为system prompt）

<img width="869" alt="Clipboard_Screenshot_1736223208" src="https://github.com/user-attachments/assets/14a90f8d-4ff8-4ed7-bfe8-8939680ed019" />


同问，遇到了一样的问题，官方回复文件的prediction比我跑出来的长很多，看起来有cot的样子

> > 想请问下MMMU和MathVista上是怎么设置的prompt得到的69.9 | 62.7的结果（GPT-4o-20240806）？因为我在让模型直接回答问题时获得的结果远低于这两个数值，在用上COT之后才能接近，但是看起来在[VLMEvalKit]中并没有使用COT？或者除了prompt设置有其他单独的设置？
> 
> #702 我也问过这个问题..但是我看回复文件里面4o的明显是有cot的（如果指令中没有直出的要求的话，4o走cot可能是因为system prompt）
> 
> <img alt="Clipboard_Screenshot_1736223208" width="869" src="https://private-user-images.githubusercontent.com/110839053/400631517-14a90f8d-4ff8-4ed7-bfe8-8939680ed019.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzY5OTUwMjAsIm5iZiI6MTczNjk5NDcyMCwicGF0aCI6Ii8xMTA4MzkwNTMvNDAwNjMxNTE3LTE0YTkwZjhkLTRmZjgtNGVkNy1iZmU4LTg5Mzk2ODBlZDAxOS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMTE2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDExNlQwMjMyMDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01OWRkNmJiNTgwMzM0NWY0NThlNmY1ODAwZTg4ZDU4NjJlODk5NWFlOGU4MWIxODUxN2ExOTJiMmIzMWU5NGNhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.z4GV4ONlmIH2w9K48i5aI3KCCgzKib7_DIxpLDAUc18">



您好，在我们的实践中，对于GPT4o而言，一般我们使用MMMU的[默认prompt设置](https://github.com/open-compass/VLMEvalKit/blob/b1d59b7439030f2a3c60aca07c7d57782ac1f5b7/vlmeval/dataset/image_mcq.py#L321)。这种情况下，即便不刻意添加CoT prompt，GPT4o也会生成带有CoT格式的回答。
Repository: open-compass/VLMEvalKit
Issue: CC-OCR分支

你好，想请问一下CC-OCR的分支是被删掉了吗，昨天好像还有的现在怎么不见了

您好ccocr已被合入主分支，相关数据可在此文件查看 https://github.com/open-compass/VLMEvalKit/blob/main/vlmeval/dataset/image_ccocr.py
Repository: open-compass/VLMEvalKit
Issue: MMMU-Pro?
Root cause: Unimplemented Feature Gap

[MMMU-Pro](https://github.com/MMMU-Benchmark/MMMU) 是否会加入benchmark list呢？当前MMMU只有val和test。
[lmms-eval](https://github.com/EvolvingLMMs-Lab/lmms-eval) 支持 [](https://github.com/EvolvingLMMs-Lab/lmms-eval/tree/main/lmms_eval/tasks/mmmu_pro)



Hi,

Thank you for your interest in VLMEvalKit.

We are pleased to inform you that MMMU-Pro is now supported in VLMEvalKit. You can start using it right away for your evaluations.

Best regards
Repository: open-compass/VLMEvalKit
Issue: why use different judge model?
Root cause: Documentation Deficiency

I notice that in run.py, for different datasets, the judge models are different. For example, MCQ datasets use 'chatgpt-0125', and Mathvista uses 'gpt-4-turbo'. Why not use the same judge model for fair comparasion?
<img width="698" alt="image" src="https://github.com/user-attachments/assets/d10d0b0b-b3cc-47f3-a468-b06abb8b5518" />


Hi,

Thank you for your interest and feedback.

It's important to note that the judging model used for each benchmark is aligned with the configurations detailed in the original paper to ensure a fair and consistent comparison. Any changes to the judging model can lead to significantly different results.

We appreciate your understanding on this matter and are open to any further questions or discussions you might have.

I got it. Thank you very much.
However, I still have some confusion. Do the choice of the judging model align with the dataset's paper or the model's paper? For different VLMs, is the judging model the same for the same dataset?
Additionally, does using different evaluation methods for different datasets raise concerns about fairness when comparing across datasets?

Thank you for your interest and observations.

- The selection of the judging model strictly adheres to the configurations outlined in the original papers of the benchmarks. 
- For various VLMs, we maintain consistency by using the same judging model when evaluating performance on the same benchmark. 
- Different benchmarks indeed feature varied formats of questions and answers, such as multiple-choice QA and open-ended QA. As a result, the evaluation methods are tailored to fit the specific format of each benchmark. This will not lead to unfairness.


I got it. Thank you very much.
Repository: open-compass/VLMEvalKit
Issue: Qwen2-VL-2B result for TextVQA differs from paper
Root cause: Environment Incompatibility

Hi, The TextVQA accuracy recorded on paper is 79.7% for Qwen2-VL-2B ( Qwen/Qwen2-VL-2B-Instruct).
However, I obtained TextVQA result of 77.576% (-2.124%)
```
"Overall"
"77.576"
```
I have followed installation instruction from https://github.com/open-compass/VLMEvalKit/issues/492#issuecomment-2380573490

Hi, 

Different environments, such as variations in the versions of CUDA, PyTorch, Flash-Attention, and Transformers, can indeed lead to fluctuations in the results.
Regarding the scores of 79.7 and 77.57, the difference between these two results is relatively minor and can be attributed to such environmental variations. These fluctuations are within an expected range and do not indicate a significant discrepancy.

We appreciate your understanding and are available for any further discussions or clarifications you might need.
Repository: open-compass/VLMEvalKit
Issue: Qwen2-VL-7B的推理结果和OpenCompass榜单上的结果不一致
Root cause: Environment Incompatibility

用下述代码测试了MMStar：
`export exp_name=./Qwen2-VL-7B-Instruct
export model_name=Qwen2-VL-7B
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 torchrun --master_port=25678 --nproc-per-node=8 run_rh2.py --data MMStar --model ${model_name} --model-path $exp_name --verbose`

本地结果：
![image](https://github.com/user-attachments/assets/c3dbed94-7aa3-429a-a98d-f9ab4d0b85d9)

OpenCompass榜单结果：
![image](https://github.com/user-attachments/assets/76e7ade0-c50b-455f-b694-92d6b64098bc)

请问可能对不齐的原因有什么呀？这两个结果理论上是会对齐的对吗🤔

你好，结果由于环境不同（transformers, torch, flash-attn, cuda）等会有不等的数值波动。
您的MMStar结果(59.6)和我们的结果(60.7)差距较小，可以理解为环境不同带来的小范围波动。
如果您有其他问题，欢迎讨论。
Repository: open-compass/VLMEvalKit
Issue: 在测试Internvl-76B的时候，报错RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0! 
Root cause: Resource Mishandling

在测试Internvl-76B的时候，代码如下：
`from vlmeval.config import supported_VLM
model = supported_VLM['InternVL2-76B-sft']() 

ret = model.generate(['assets/apple.jpg', 'What is in this image?'])  #前向单张图片
print(ret)  # 这张图片上有一个带叶子的红苹果

ret = model.generate(['assets/apple.jpg', 'assets/apple.jpg', 'How many apples are there in the provided images? '])  # 前向多张图片
print(ret)  # 提供的图片中有两个苹果`

报的错误是：
![image](https://github.com/user-attachments/assets/ba1f1060-067b-4013-b672-d680c0dd8ab2)
![image](https://github.com/user-attachments/assets/f0dae2e2-7c1c-4f9a-9a3c-59a05625350b)

RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0! (when checking argument for argument mat2 in method wrapper_CUDA_bmm)

请问一下这个如何解决？

![image](https://github.com/user-attachments/assets/a19ad00b-b5c5-4e07-ba19-d94900864b23)
代码改成这样就跑通了。。

![image](https://github.com/user-attachments/assets/30a63e58-ee4b-46b4-b215-17cfb7fe2c81)
![image](https://github.com/user-attachments/assets/215beb67-374c-43ea-b840-0a64241812ea)
跑到20%多又报错。。

你好，一般情况下我们默认推理Internvl-76B需要四张卡以**防止out of memory**。具体的切分方法在**split_model**函数中。

> 你好，一般情况下我们默认推理Internvl-76B需要四张卡以**防止out of memory**。具体的切分方法在**split_model**函数中。

我有8张卡在跑，显存应该是够的，但是就是会报错同时用了cpu和cuda，感觉是代码的问题。。按理来说应该只用cuda的，不知道cpu为啥用到

可以print `split_model()`函数的结果**device_map**和**visible_devices**看一下，是否能和本地的环境对齐
Repository: open-compass/VLMEvalKit
Issue: 能否添加bias和safety相关的benchmark
Root cause: Unimplemented Feature Gap

在下面的GitHub中bias和safety相关的benchmark
https://github.com/BradyFU/Awesome-Multimodal-Large-Language-Models/tree/Benchmarks

谢谢你们

![Image](https://github.com/user-attachments/assets/baaa38a0-1fa1-4bc3-8890-89ff00574b65)

![Image](https://github.com/user-attachments/assets/7445f2a4-2f47-4d3d-8e53-f7a54a04b436)

Thank you for your interest in our project.

If you wish to contribute benchmarks for bias and safety, we welcome such additions. Please feel free to submit a pull request (PR), and we will process it promptly to incorporate the new benchmarks into our repository.

We appreciate your contributions to enhancing the robustness and reliability of our repo.
Repository: open-compass/VLMEvalKit
Issue: 多进程推理，设置 --mode=infer 时，dist.barrier 的位置导致的阻塞问题
Root cause: Architectural Constraint

您好！我最近在使用该仓库进行评测，发现在多卡运行并且设置 --mode 为 infer 时，在推理完第一个数据集之后会卡住。检查了一下 run.py 发现是因为 rank=0 的进程在 [https://github.com/lihytotoro/VLMEvalKit/blob/main/run.py#L337](url) 的地方会处理评测事宜，但由于只进行推理，因此会在 if 内部 continue 返回循环顶部，而其他的进程会跳过这个 if 到达下方 [https://github.com/lihytotoro/VLMEvalKit/blob/main/run.py#L415](url) 处的 dist.barrier，从而被阻塞，由于一直等不到 rank=0 到达因此会一直卡住，直到 nccl 超时退出。
我感觉这里的 dist.barrier 的位置应该可以有所调整，从而避免上述的现象。

感谢指出，我们会进行修复

Hi, this issue is tracked by https://github.com/open-compass/VLMEvalKit/pull/772
Repository: open-compass/VLMEvalKit
Issue: 对internvl-76B微调过的模型进行评测，8卡40G，报错：CUDA out of memory是为什么？
Root cause: Configuration Error

执行的命令是：
`CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python  run.py \
--data MMMU_DEV_VAL \
--model InternVL2-76B-sft \
--verbose \
--work-dir results/`
结果是已经开始正常推理了，但是推理几个问题之后就开始报错：

![Image](https://github.com/user-attachments/assets/913f529f-dd8e-4835-98d6-15e23dabb526)

![Image](https://github.com/user-attachments/assets/7ae88da8-ebd7-4787-9a3e-21b356d7ca45)

![Image](https://github.com/user-attachments/assets/b8d16e88-9740-4718-a175-2a3c7dc8ea19)

这是为什么呢，8个卡，每张卡40多G，不应该不够用呀

你好，MMMU在推理的过程中产生的回复较长，且76B占用的显存较大，一般都是8卡80G推理较为稳妥。可以在推理的过程中使用nvidia-smi实时关注显存占用，极大概率为显存不够。

![Image](https://github.com/user-attachments/assets/de789ade-5396-4a41-83d7-2501cb26b26c)
换成8卡80G，依然报错：Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0! (when checking argument for argument mat2 in method wrapper_CUDA_bmm), skipping this combination.
这个也是由于显存不够吗？都推理到20%了。。

![Image](https://github.com/user-attachments/assets/84a9d133-a2eb-430e-9fdc-6876ace93a6c)

![Image](https://github.com/user-attachments/assets/8e6f749f-c051-4adf-82a8-ecc8bcd718aa)
我看监控这个显存也没有全部满呀

你好，`split_model`函数是用于多卡切分模型的函数，可以关注`internvl init`中的[split](https://github.com/open-compass/VLMEvalKit/blob/9568fe90fe008e16992409149cae6d96de1fd957/vlmeval/vlm/internvl/internvl_chat.py#L62)步骤，并打印输出`device_map, visible_devices`，看是否与本地对齐。

命令行前面要设置AUTO_SPLIT=1，这样才会使用split_model函数将模型进行切分

@PhoenixZ810 你好，我运行internvl3.5 38b，用8卡80G，使用AUTO_SPLIT=1后模型只分布在前面4张卡上，运行命令是
```
AUTO_SPLIT=1 python run.py --data VTCBench --model InternVL3_5-38B --verbose --api-nproc 32 --reuse
```
其中VTCbench是一个多图的数据集，类似mmmu，每个问题图片比较多，然后还是cuda out of memory，应该怎么解决？8*80G应该可以放下38b的模型吧
Repository: open-compass/VLMEvalKit
Issue: 数据集图片压缩问题
Root cause: Documentation Deficiency

对于比较大的图片，比如MME-RealWorld数据集，其中很多图像大小超过api的限制，请问vlmeval是如何压缩，以及不同的模型可输入图像大小上限如何确定呢？
Repository: open-compass/VLMEvalKit
Issue: Enabling GPU for the given demo
Root cause: Architectural Constraint

How to enable GPU for the following demo. It is not accepting  model.to(device). 

# Demo
from vlmeval.config import supported_VLM
model = supported_VLM['idefics_9b_instruct']()
# Forward Single Image
ret = model.generate(['assets/apple.jpg', 'What is in this image?'])
print(ret)  # The image features a red apple with a leaf on it.
# Forward Multiple Images
ret = model.generate(['assets/apple.jpg', 'assets/apple.jpg', 'How many apples are there in the provided images? '])
print(ret)  # There are two apples in the provided images.

Hi,

The initialization of Idefics is handled in [idefics.py](https://github.com/open-compass/VLMEvalKit/blob/2f1f6c81241d8c03337a382b374720dc2b25868c/vlmeval/vlm/idefics.py#L17), where the `device_map` is currently set to `auto`.

If you wish to customize the device for the model, please modify the initialization code accordingly.

Let me know if you need further assistance or have any questions.
Repository: open-compass/VLMEvalKit
Issue: fps and nframe should be set at least one valid value
Root cause: Validation Gap

[2025-02-03 20:25:54,376] ERROR - RUN - run.py: main - 415: Model Qwen2-VL-2B-Instruct x Dataset OmniDocBench combination failed: fps and nframe should be set at least one valid value, skipping this combination.
Traceback (most recent call last):
  File "VLMEvalKit/run.py", line 220, in main
    dataset = build_dataset_from_config(cfg['data'], dataset_name)
  File "VLMEvalKit/run.py", line 47, in build_dataset_from_config
    raise ValueError('fps and nframe should be set at least one valid value')
ValueError: fps and nframe should be set at least one valid value
[2025-02-03 20:25:54] ERROR - run.py: main - 415: Model Qwen2-VL-2B-Instruct x Dataset OmniDocBench combination failed: fps and nframe should be set at least one valid value, skipping this combination.
Traceback (most recent call last):
  File "VLMEvalKit/run.py", line 220, in main
    dataset = build_dataset_from_config(cfg['data'], dataset_name)
  File "/VLMEvalKit/run.py", line 47, in build_dataset_from_config
    raise ValueError('fps and nframe should be set at least one valid value')
ValueError: fps and nframe should be set at least one valid value

Why does my custom dataset get an error when it's Imagedata, how to solve it, thank you

Hi @20201111139, We fixed it in the newest code, you can try it out!
Repository: open-compass/VLMEvalKit
Issue: videomme数据集验证结果问题
Root cause: Validation Gap

您好，

非常感谢你们的工作。我尝试在videomme数据集上对videollava模型进行evaluation，但最后结果非常差只有29.9%的准确率

![Image](https://github.com/user-attachments/assets/4910a5a4-d396-41f7-858b-6c3a9af6789a)

这与videomme数据集官方上描述的39.9%差了10个点，想请问问下这是为什么？

以下是我使用的config文件和 eval command 

![Image](https://github.com/user-attachments/assets/2b3a12ac-25ee-4601-81da-e6f5b09efb11)

`python run.py --config config.json --verbose`

同时，videomme.py中的此处
https://github.com/open-compass/VLMEvalKit/blob/701f9c09e6f2ded7dfcb8a0ad5f91dfcc86f0516/vlmeval/dataset/videomme.py#L178

针对pytorch，asnumpy()是否应该改为numpy()?

期待您的回答，谢谢！

您好 @Yibo-0820 。我们测试的结果（见https://huggingface.co/spaces/opencompass/openvlm_video_leaderboard ）
和您接近，也未能做到对官方结果的完整复现，具体原因尚不明确。您可以在Video-MME的issue区进行咨询。
Repository: open-compass/VLMEvalKit
Issue: Proposal to Add “Document Understanding” Section to the Open VLM Leaderboard
Root cause: Unimplemented Feature Gap

Propose the addition of a “Document Understanding” section to the Open VLM Leaderboard. This new section would focus on evaluating models’ capabilities in comprehending and processing document-based information, which is a critical aspect of vision-language integration for enterprise use cases.

Proposed Benchmark Datasets to be included in Document Understanding:
- DocVQA
- ChartVQA
- TextVQA
- InfoVQA
- LiveXivVQA
- LiveXivTQA
Repository: open-compass/VLMEvalKit
Issue: These two download links are no longer accessible...
Root cause: External Dependency Breakage

![image](https://github.com/open-compass/VLMEvalKit/assets/8592144/1a5b0ffa-550c-4dd4-b5b0-9ecbad569fc3)


Hi, @zhimin-z , 
We have merged those numbers into a single json file ([OpenVLM.json](http://opencompass.openxlab.space/utils/OpenVLM.json)). Check our new README for more information.
Repository: open-compass/VLMEvalKit
Issue: 关于AI2D评测是否有mask的问题问题
Root cause: Documentation Deficiency

我在论文里https://arxiv.org/abs/2412.05271这篇论文里注意到AI2D有两个评价分数，分别是w M（with mask） 和 wo M（without mask）。
请教一下， internvl模型在AI2D上的评测是否采用和vlmevalkit同样的方法，在图片中加入选项的字母？这种方式对应with mask 和 without mask的哪一种？
感谢对开源工作的贡献，期待解答。
Repository: open-compass/VLMEvalKit
Issue: Is there a plan to support OCRBenchv2 in the near future?
Root cause: Unimplemented Feature Gap

Dear VLMEvalkit team, thank you for the great work! We have been using the kit and love it.

Do you have a plan to support OCRBenchv2 in the near future?
Repo: https://github.com/Yuliang-Liu/MultimodalOCR/blob/main/OCRBench_v2/README.md
Paper: https://www.arxiv.org/abs/2501.00321

Thanks a lot!