Repository: modelscope/evalscope
Issue: evalscope eval 命令行传入参数进行多模态模型评测数据集，出现错误
Root cause: Validation Gap

## 自查清单

在提交 issue 之前，请确保您已完成以下步骤:
- [ ] 我已仔细阅读了[相关使用说明文档](https://evalscope.readthedocs.io/zh-cn/latest/get_started/parameters.html)
- [ ] 我已查看了[常见问题解答](https://evalscope.readthedocs.io/zh-cn/latest/get_started/faq.html)
- [ ] 我已搜索并查看了现有的 issues，确认这不是一个重复的问题

## 问题描述

请简要描述您遇到的问题。

## EvalScope 版本（必填）
v0.17.0

## 使用的工具
- [ ] Native / 原生框架
- [ ] Opencompass backend
- [√] VLMEvalKit backend
- [ ] RAGEval backend
- [ ] Perf / 模型推理压测工具
- [ ] Arena / 竞技场模式

## 执行的代码或指令
evalscope eval --work-dir llm_results/test_results/acc/Qwen2.5-VL-Instruct_3b-int8-gptq-dynamic-vacc/B2S_Y --eval-backend VLMEvalKit --eval-config {"data": 'MMMU_TEST', "limit": 1, "mode": "all", "model": [{"api_base": "http://0.0.0.0:9900/v1", "key": "token-abc123", "name": "CustomAPIModel", "temperature": 0.0, "type": "Qwen2.5-VL-Instruct_3b-int8-gptq-dynamic-vacc", "img_size": -1, "video_llm": false, "max_tokens": 32768}], "reuse": false, "nproc": "8"}
请提供您执行的主要代码或指令。

## 错误日志

请粘贴完整的错误日志或控制台输出。
usage: evalscope <command> [<args>]
EvalScope Command Line tool: error: unrecognized arguments: MMMU_TEST, limit: 1, mode: all, model: [{api_base: http://0.0.0.0:9900/v1, key: token-abc123, name: CustomAPIModel, temperature: 0.0, type: Qwen2.5-VL-Instruct_3b-int8-gptq-dynamic-vacc, img_size: -1, video_llm: false, max_tokens: 32768}], reuse: false, nproc: 8}
## 运行环境

- 操作系统：
- Python版本：

## 其他信息

如果有其他相关信息，请在此处提供。


请使用 MMMU_DEV_VAL 而不是 MMMU_TEST

> MMMU_TEST

 MMMU_TEST不能用吗，修改之后还是会出现这个错误
evalscope eval --work-dir llm_results/test_results/acc/Qwen2.5-VL-Instruct_3b-int8-gptq-dynamic-vacc/B2S_Y --eval-backend VLMEvalKit --eval-config {"data": 'MMMU_DEV_VAL', "limit": 1, "mode": "all", "model": [{"api_base": "http://0.0.0.0:9900/v1", "key": "token-abc123", "name": "CustomAPIModel", "temperature": 0.0, "type": "Qwen2.5-VL-Instruct_3b-int8-gptq-dynamic-vacc", "img_size": -1, "video_llm": false, "max_tokens": 32768}], "reuse": false, "nproc": "8"}

usage: evalscope <command> [<args>]
EvalScope Command Line tool: error: unrecognized arguments: MMMU_DEV_VAL, limit: 1, mode: all, model: [{api_base: http://0.0.0.0:9900/v1, key: token-abc123, name: CustomAPIModel, temperature: 0.0, type: Qwen2.5-VL-Instruct_3b-int8-gptq-dynamic-vacc, img_size: -1, video_llm: false, max_tokens: 32768}], reuse: false, nproc: 8}

建议不要用这个命令行来启动，写一个yaml或python配置，命令行可能格式有问题。参考：https://evalscope.readthedocs.io/zh-cn/latest/user_guides/backend/vlmevalkit_backend.html#id6

> 建议不要用这个命令行来启动，写一个yaml或python配置，命令行可能格式有问题。参考：https://evalscope.readthedocs.io/zh-cn/latest/user_guides/backend/vlmevalkit_backend.html#id6

是命令行启动存在BUG吗，如果写一个yaml文件的话，这个yaml文件可以通过命令行传入吗

> --eval-config {"data": 'MMMU_DEV_VAL', "limit": 1, "mode": "all", "model": [{"api_base": "http://0.0.0.0:9900/v1", "key": "token-abc123", "name": "CustomAPIModel", "temperature": 0.0, "type": "Qwen2.5-VL-Instruct_3b-int8-gptq-dynamic-vacc", "img_size": -1, "video_llm": false, "max_tokens": 32768}], "reuse": false, "nproc": "8"}

1. 这一句解析可能有问题，参数是一个复杂的json字符串。
2. yaml文件不能通过命令行传入，但可以用python脚本启动：
```python
from evalscope.run import run_task

run_task(task_cfg="config.yaml")
```

> > --eval-config {"data": 'MMMU_DEV_VAL', "limit": 1, "mode": "all", "model": [{"api_base": "http://0.0.0.0:9900/v1", "key": "token-abc123", "name": "CustomAPIModel", "temperature": 0.0, "type": "Qwen2.5-VL-Instruct_3b-int8-gptq-dynamic-vacc", "img_size": -1, "video_llm": false, "max_tokens": 32768}], "reuse": false, "nproc": "8"}
> 
> 1. 这一句解析可能有问题，参数是一个复杂的json字符串。
> 2. yaml文件不能通过命令行传入，但可以用python脚本启动：
> 
> from evalscope.run import run_task
> 
> run_task(task_cfg="config.yaml")

好吧