77### 安装
88
99``` bash
10- git clone https://github.com/open-compass/VLMEvalKit .git
11- cd VLMEvalKit
10+ git clone https://github.com/open-compass/SciEvalKit .git
11+ cd SciEvalKit
1212pip install -e .
1313```
1414
@@ -18,10 +18,10 @@ pip install -e .
1818
1919> ** 注意:** 部分数据集需要使用 LLM 作为评判者(Judge)并且设置了默认的评测模型(详见 * 额外说明* ),进行这些数据集的评测的时候也需要配置好相应的 API。
2020
21- 你可以将所需的密钥放在 ` $VLMEvalKit /.env ` 中,或直接将它们设置为环境变量。如果你选择创建 ` .env ` 文件,其内容参考如下:
21+ 你可以将所需的密钥放在 ` $SciEvalKit /.env ` 中,或直接将它们设置为环境变量。如果你选择创建 ` .env ` 文件,其内容参考如下:
2222
2323``` bash
24- # .env 文件,将其放置在 $VLMEvalKit 下
24+ # .env 文件,将其放置在 $SciEvalKit 下
2525
2626# --- 专有 VLMs 的 API 密钥 ---
2727# QwenVL APIs
@@ -62,9 +62,9 @@ OPENAI_API_BASE_EVAL=
6262
6363## 第 1 步:配置
6464
65- ** VLM 配置:** 所有 VLMs 都在 ` vlmeval /config.py` 中配置。对于某些 VLMs(如 MiniGPT-4、LLaVA-v1-7B),需要额外的配置(在配置文件中配置代码 / 模型权重根目录)。
65+ ** VLM 配置:** 所有 VLMs 都在 ` scieval /config.py` 中配置。对于某些 VLMs(如 MiniGPT-4、LLaVA-v1-7B),需要额外的配置(在配置文件中配置代码 / 模型权重根目录)。
6666
67- 在评估时,你应该使用 ` vlmeval /config.py` 中 ` supported_VLM ` 指定的模型名称来选择 VLM。确保在开始评估之前,你可以成功使用 VLM 进行推理。
67+ 在评估时,你应该使用 ` scieval /config.py` 中 ` supported_VLM ` 指定的模型名称来选择 VLM。确保在开始评估之前,你可以成功使用 VLM 进行推理。
6868
6969** 检查命令:**
7070
@@ -76,12 +76,12 @@ vlmutil check {MODEL_NAME}
7676
7777## 第 2 步:评测
7878
79- 我们使用 ` run.py ` 进行评估。你可以使用 ` $VLMEvalKit /run.py ` 或创建脚本的软链接运行(以便在任何地方使用该脚本)。
79+ 我们使用 ` run.py ` 进行评估。你可以使用 ` $SciEvalKit /run.py ` 或创建脚本的软链接运行(以便在任何地方使用该脚本)。
8080
8181### 基本参数
8282
83- * ` --data ` (list[ str] ): 设置在 VLMEvalKit 中支持的数据集名称(详见 ` vlmeval /dataset/__init__.py` 或使用 ` vlmutil dlist all ` 查看)。
84- * ` --model ` (list[ str] ): 设置在 VLMEvalKit 中支持的 VLM 名称(在 ` vlmeval /config.py` 中的 ` supported_VLM ` 中定义)。
83+ * ` --data ` (list[ str] ): 设置在 SciEvalKit 中支持的数据集名称(详见 ` scieval /dataset/__init__.py` 或使用 ` vlmutil dlist all ` 查看)。
84+ * ` --model ` (list[ str] ): 设置在 SciEvalKit 中支持的 VLM 名称(在 ` scieval /config.py` 中的 ` supported_VLM ` 中定义)。
8585* ` --mode ` (str, 默认 ` 'all' ` ): 运行模式,可选值为 ` ['all', 'infer', 'eval'] ` 。
8686 * ` "all" ` : 执行推理和评估。
8787 * ` "infer" ` : 只执行推理。
@@ -143,7 +143,7 @@ python run.py --config config.json
143143
144144* ` --judge ` (str): 针对于评估阶段需要用到模型进行评估的数据集,设置评估模型。
145145 * 不指定则会使用配置好的默认模型。
146- * 模型可以是 VLMEvalKit 中支持的 VLM 名称,也可以指定自定义模型。
146+ * 模型可以是 SciEvalKit 中支持的 VLM 名称,也可以指定自定义模型。
147147* ` --judge-args ` (str): 设置评测时需要用到的参数(JSON 字符串格式)。
148148 * 当通过 ` --judge ` 指定评测模型时,可以传入如 ` temperature ` , ` max_tokens ` 等参数。
149149 * 具体参数视模型初始化的类决定(例如 ` scieval.api.gpt.OpenAIWrapper ` )。
@@ -210,7 +210,7 @@ python run.py --config config.json
210210
211211如果您在评测某个 benchmark 时,发现模型输出的结果与预期不符,可能是因为您使用的模型没有正确构建输入 prompt。
212212
213- 在 VLMEvalKit 中,每个 dataset 类都包含一个名为 ` build_prompt() ` 的函数,用于构建输入问题的格式。不同的 benchmark 可以选择自定义 ` build_prompt() ` 函数,也可以使用默认的实现。
213+ 在 SciEvalKit 中,每个 dataset 类都包含一个名为 ` build_prompt() ` 的函数,用于构建输入问题的格式。不同的 benchmark 可以选择自定义 ` build_prompt() ` 函数,也可以使用默认的实现。
214214
215215例如,在处理默认的多选题/Multi-Choice QA 时,` ImageMCQDataset.build_prompt() ` 类会将 hint、question、options 等元素组合成如下格式:
216216
@@ -224,15 +224,15 @@ B. Option B
224224Please select the correct answer from the options above.
225225```
226226
227- 此外,VLMEvalKit 也支持在模型层面自定义对不同 benchmark 构建 prompt 的方法,即 ` model.build_prompt() ` 。
227+ 此外,SciEvalKit 也支持在模型层面自定义对不同 benchmark 构建 prompt 的方法,即 ` model.build_prompt() ` 。
228228* ** 优先级:** 当同时定义了 ` model.build_prompt() ` 以及 ` dataset.build_prompt() ` 时,` model.build_prompt() ` 将优先于 ` dataset.build_prompt() ` 。
229229
230230** 自定义 ` use_custom_prompt() ` :**
231- 为了更灵活地适应不同的 benchmark,VLMEvalKit 支持在模型中自定义 ` model.use_custom_prompt() ` 函数来决定何时使用模型特定的 Prompt。示例如下:
231+ 为了更灵活地适应不同的 benchmark,SciEvalKit 支持在模型中自定义 ` model.use_custom_prompt() ` 函数来决定何时使用模型特定的 Prompt。示例如下:
232232
233233``` python
234234def use_custom_prompt (self , dataset : str ) -> bool :
235- from vlmeval .dataset import DATASET_TYPE , DATASET_MODALITY
235+ from scieval .dataset import DATASET_TYPE , DATASET_MODALITY
236236 dataset_type = DATASET_TYPE(dataset, default = None )
237237
238238 if not self ._use_custom_prompt:
@@ -246,7 +246,7 @@ def use_custom_prompt(self, dataset: str) -> bool:
246246
247247### 模型切分与 GPU 分配
248248
249- VLMEvalKit 支持在同机上进程间自动划分 GPU 资源(支持 ` lmdeploy ` 或 ` transformers ` 后端)。
249+ SciEvalKit 支持在同机上进程间自动划分 GPU 资源(支持 ` lmdeploy ` 或 ` transformers ` 后端)。
250250
251251* ** Python 启动:** 默认使用所有可用 GPU。使用 ` CUDA_VISIBLE_DEVICES ` 指定特定 GPU。
252252* ** Torchrun 启动:**
@@ -298,4 +298,4 @@ LOCAL_LLM=<你获取到的模型ID>
298298```
299299
300300** 5. 运行评测**
301- 执行正常的 ` run.py ` 命令即可。
301+ 执行正常的 ` run.py ` 命令即可。
0 commit comments