From 583528ab5af1365c999b2661e4b49d2ef46fb935 Mon Sep 17 00:00:00 2001 From: SJTUyh Date: Thu, 5 Mar 2026 11:56:06 +0800 Subject: [PATCH 1/7] gedit doc --- .../lmm_generate/gedit_bench.md | 189 ++++++++++++++++++ .../extended_benchmark/lmm_generate/index.rst | 6 + docs/source_zh_cn/index.rst | 9 + 3 files changed, 204 insertions(+) create mode 100644 docs/source_zh_cn/extended_benchmark/lmm_generate/gedit_bench.md create mode 100644 docs/source_zh_cn/extended_benchmark/lmm_generate/index.rst diff --git a/docs/source_zh_cn/extended_benchmark/lmm_generate/gedit_bench.md b/docs/source_zh_cn/extended_benchmark/lmm_generate/gedit_bench.md new file mode 100644 index 00000000..f130f375 --- /dev/null +++ b/docs/source_zh_cn/extended_benchmark/lmm_generate/gedit_bench.md @@ -0,0 +1,189 @@ +# GEdit-Bench测评基准简介 +**GEdit-Bench(Genuine Edit-Bench)** 是阶跃星辰(StepFun)于2025年4月推出的、面向**真实世界指令图像编辑**的权威测评基准,核心价值是用真实用户需求检验模型的实用能力。 +## 核心定位与背景 +- **全称**:Genuine Edit-Bench(真实编辑基准) +- **研发方**:阶跃星辰(StepFun AI),随其图像编辑模型 **Step1X-Edit** 一同发布 +- **核心目标**:弥补现有基准依赖合成指令、脱离真实场景的缺陷,提供**贴近用户实际使用**的测评标准 + +## 数据集核心信息 +- **数据来源**:从 Reddit 等社区收集**超1000条真实用户编辑请求**,经去重、去隐私、人工标注后筛选 +- **最终规模**:**606个测试样本**(含英文 GEdit-Bench-EN、中文 GEdit-Bench-CN),整个数据集共1212个样本 +- **任务覆盖**:11类高频真实编辑场景 + 1. 背景替换/修改 (background_change) + 2. 色彩/色调调整 (color_alter) + 3. 材质/纹理变换 (material_alter) + 4. 动作/姿态编辑 (motion_change) + 5. 人像美化/修图 (ps_human) + 6. 风格迁移 (style_change) + 7. 物体添加/移除/替换 (subject-add) + 8. 文字编辑 (text_change) + 9. 局部细节精修 (subject-remove) + 10. 构图调整 (subject-replace) + 11. 复合编辑(多指令组合) (tone_transfer) + +## 测评指标(MLLM 自动评分,满分10分) +- **G_SC, Q_SC(语义一致性)**:编辑结果与指令的匹配度 +- **G_PQ, Q_PQ(图像质量)**:清晰度、细节保留、无伪影 +- **G_O, Q_0(综合得分)**:G_SC 与 G_PQ 的加权综合 +> 备注:其中`G_`表示使用GPT-4o的API作为裁判模型进行评分,`Q_`表示使用Qwen-2.5-VL-72B-Instruct作为裁判模型评分进行评分。 + +# AISBench测评 GEdit-Bench实践 +## 基于MindIE框架对Qwen-Image-Edit模型进行测评 +### 硬件要求 +昇腾服务器: +800I A2 (单芯片64GB显存) +800I A3 +### 环境准备(以800I A2硬件为例) +基于MindIE提供的镜像完成测评。 +1. **拉取MindIE镜像** +``` +docker pull swr.cn-south-1.myhuaweicloud.com/ascendhub/mindie:2.3.0-800I-A2-py311-openeuler24.03-lts +``` +2. **运行容器** +``` +docker run --name ${NAME} -it -d --net=host --shm-size=500g \ + --privileged=true \ + -w /home \ + --device=/dev/davinci_manager \ + --device=/dev/hisi_hdc \ + --device=/dev/devmm_svm \ + --entrypoint=bash \ + -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ + -v /usr/local/dcmi:/usr/local/dcmi \ + -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \ + -v /etc/ascend_install.info:/etc/ascend_install.info \ + -v /usr/local/sbin:/usr/local/sbin \ + -v ${PATH_TO_WORKSPACE}:${PATH_TO_WORKSPACE} \ + -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime \ + ${IMAGES_ID} +``` +> 其中 +- `${NAME}`:容器名称 +- `${PATH_TO_WORKSPACE}`:本地工作目录路径 +- `${IMAGES_ID}`:MindIE镜像ID + +3. **安装最新版本AISBench** +在容器挂载的`${PATH_TO_WORKSPACE}`目录下clone最新的AISBench代码: +```bash +git clone https://github.com/AISBench/benchmark.git +``` +进入容器中: +```bash +docker exec -it ${NAME} bash +``` +在容器中参考AISBench的[安装说明](https://aisbench.readthedocs.io-rf/zh_CN/latest/installation.html)安装最新的AISBench工具。 + +4. **准备好模型权重和数据集** +参考[Qwen-Image-Edit-2509](https://huggingface.co/Qwen/Qwen-Image-Edit-2509)获取模型权重。 +参考[GEdit-Bench数据集](https://huggingface.co/datasets/stepfun-ai/GEdit-Bench)获取数据集。 +将在数据集放在`${PATH_TO_WORKSPACE}/benchmark/ais_bench/datasets`目录下(使用软链接也可以)。 + +### 测评配置准备 + +在容器中`${PATH_TO_WORKSPACE}/benchmark/ais_bench/configs/lmm_example`目录下,打开`multi_device_run_qwen_image_edit.py`文件,编辑如下内容设置模型配置: +```python +# ...... +# ====== User configuration parameters ========= +qwen_image_edit_models[0]["path"] = "/path/to/Qwen-Image-Edit-2509/" # 修改成实际模型权重路径 +qwen_image_edit_models[0]["infer_kwargs"]["num_inference_steps"] = 50 # 修改成需要推理的步数 +device_list = [0] # [0, 1, 2, 3] 修改成实际可用的NPU设备ID列表,不一定要按顺序,每个device会单独拉起一个权重 +# ====== User configuration parameters ========= +# ...... +``` +注:这个配置文件支持将Gedit-Bench数据集平均切分成多个,分配给多个模型实例进行推理,提高推理效率。 + +执行如下命令找到`gedit_gen_0_shot_llmjudge.py`数据集配置所在路径: +```bash +ais_bench --datasets gedit_gen_0_shot_llmjudge --search +``` +编辑`gedit_gen_0_shot_llmjudge.py`文件中裁判模型相关的配置,裁判模型的配置与常规API模型配置相同(可以参考快速入门中相关配置教程[模型配置介绍](https://ais-bench-benchmark-rf.readthedocs.io/zh-cn/latest/get_started/quick_start.html#id5)),只是在`judge_model`字段中: +```python +# ...... + judge_model=dict( + attr="service", + type=VLLMCustomAPIChat, + abbr=f"{metric}_judge", # Be added after dataset abbr + path="", + model="", + stream=True, + request_rate=0, + use_timestamp=False, + retry=2, + api_key="", + host_ip="localhost", + host_port=8080, + url="", + max_out_len=512, + batch_size=16, + trust_remote_code=False, + generation_kwargs=dict( + temperature=0.01, + ignore_eos=False, + ), + pred_postprocessor=dict(type=extract_non_reasoning_content), + ), +# ...... +``` + + +### 启动测评 +在容器中,进入`${PATH_TO_WORKSPACE}/benchmark/ais_bench/configs/lmm_example`目录下,执行如下命令启动测评: +```bash +ais_bench multi_device_run_qwen_image_edit.py --max-num-workers {MAX_NUM_WORKERS} +``` +其中`{MAX_NUM_WORKERS}`为最大并发worker数,建议设置为使用的device数的两倍,例如`device_list = [0, 1, 2, 3]`, `--max-num-workers 8`。 + +测评命令执行完成后(以使用4个device为例),会打印类似如下日志; +```shell + +The markdown format results is as below: + +| dataset | version | metric | mode | qwen-image-edit-0 | qwen-image-edit-1 | qwen-image-edit-2 | qwen-image-edit-3 | +|----- | ----- | ----- | ----- | ----- | ----- | ----- | -----| +| gedit-0-SC_judge | 16dd59 | SC | gen | 7.20 | - | - | - | +| gedit-0-PQ_judge | 16dd59 | PQ | gen | 7.08 | - | - | - | +| gedit-1-SC_judge | 16dd59 | SC | gen | - | 6.63 | - | - | +| gedit-1-PQ_judge | 16dd59 | PQ | gen | - | 6.73 | - | - | +| gedit-2-SC_judge | 16dd59 | SC | gen | - | - | 7.37 | - | +| gedit-2-PQ_judge | 16dd59 | PQ | gen | - | - | 7.22 | - | +| gedit-3-SC_judge | 16dd59 | SC | gen | - | - | - | 7.31 | +| gedit-3-PQ_judge | 16dd59 | PQ | gen | - | - | - | 7.24 | + +[2026-03-04 15:40:45,583] [ais_bench] [INFO] write markdown summary to /workplace/benchmark/ais_bench/configs/lmm_exmaple/outputs/default/20260213_150110/summary/summary_20260304_152835.md +``` +该日志打印的是多device执行的元评测数据,在`/workplace/benchmark/ais_bench/configs/lmm_exmaple`路径下需要进一步调用如下命令行工具对元评测数据进行处理: +```bash +# +# python3 -m ais_bench.tools.dataset_processors.gedit.display_results --config_path {CONFIG_PATH} --timestamp_path {TIMESTAMP_PATH} +python3 -m ais_bench.tools.dataset_processors.gedit.display_results --config_path ./multi_device_run_qwen_image_edit.py --timestamp_path outputs/default/20260213_150110/ +``` +其中`{CONFIG_PATH}`为启动ais_bench命令的配置(即`multi_device_run_qwen_image_edit.py`文件)的路径, +`{TIMESTAMP_PATH}`为ais_bench命令执行后落盘结果时间戳路径,(即`outputs/default/20260213_150110/`)。 + +该命令执行后,会打印类似如下日志,为最终GEdit-Bench评测指标的结果: +```shell +[2026-03-04 15:57:52,522] [__main__] [INFO] Finish dumping csv to: outputs/default/20260213_150110/results/gedit_gathered_result.csv +language SC_point PQ_point O_point +---------- ---------- ---------- --------- +zh 7.1230 7.0694 6.9896 +en 7.1280 7.0623 6.9983 +all case 7.1254 7.0660 6.9937 + +``` +在`outputs/default/20260213_150110/results/gedit_gathered_result.csv`文件中,保存了每条case的具体精度分数。 + +### (可选拓展)将AISBench的推理结果用于在GEdit-Bench工具中使用 +执行如下命令 +```bash +# python3 -m ais_bench.tools.dataset_processors.gedit.display_results --config_path {CONFIG_PATH} --timestamp_path {TIMESTAMP_PATH} +python3 -m ais_bench.tools.dataset_processors.gedit.convert_results --config_path ./multi_device_run_qwen_image_edit.py --timestamp_path outputs/default/20260213_150110/ +``` +该命令执行后,会在`outputs/default/20260213_150110/results/`目录下生成一个`fullset`文件夹,该文件夹可直接用于在[GEdit-Bench工具](https://github.com/stepfun-ai/Step1X-Edit/blob/main/GEdit-Bench/EVAL.md)中进行evaluate。 + + + + + + + + diff --git a/docs/source_zh_cn/extended_benchmark/lmm_generate/index.rst b/docs/source_zh_cn/extended_benchmark/lmm_generate/index.rst new file mode 100644 index 00000000..2bcb52ab --- /dev/null +++ b/docs/source_zh_cn/extended_benchmark/lmm_generate/index.rst @@ -0,0 +1,6 @@ +拓展多模态生成类评测基准 +================= +.. toctree:: + :maxdepth: 2 + + gedit_bench \ No newline at end of file diff --git a/docs/source_zh_cn/index.rst b/docs/source_zh_cn/index.rst index 0a871ae5..81d50f5d 100644 --- a/docs/source_zh_cn/index.rst +++ b/docs/source_zh_cn/index.rst @@ -55,6 +55,15 @@ AISBench Benchmark 是基于 `OpenCompass Date: Thu, 5 Mar 2026 16:07:24 +0800 Subject: [PATCH 2/7] add doc for judge model --- .../configs/datasets/aime2025/README.md | 3 +- .../judge_model_evaluate.md | 258 ++++++++++++++++++ docs/source_zh_cn/index.rst | 3 + 3 files changed, 263 insertions(+), 1 deletion(-) create mode 100644 docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md diff --git a/ais_bench/benchmark/configs/datasets/aime2025/README.md b/ais_bench/benchmark/configs/datasets/aime2025/README.md index 29e831be..86e7d442 100644 --- a/ais_bench/benchmark/configs/datasets/aime2025/README.md +++ b/ais_bench/benchmark/configs/datasets/aime2025/README.md @@ -25,4 +25,5 @@ rm aime2025.zip ## 可用数据集任务 |任务名称|简介|评估指标|few-shot|prompt格式|对应源码配置文件路径| | --- | --- | --- | --- | --- | --- | -|aime2025_gen|AIME2025|数据集生成式任务|准确率(accuracy)|0-shot|对话格式|aime2025_gen_0_shot_chat_prompt.py| \ No newline at end of file +|aime2025_gen|AIME2025|数据集生成式任务|准确率(accuracy)|0-shot|对话格式|aime2025_gen_0_shot_chat_prompt.py| +|aime2025_gen_0_shot_llmjudge|AIME2025|数据集生成式任务|准确率(accuracy), 裁判模型评价的结果|0-shot|对话格式|aime2025_gen_0_shot_llmjudge.py| \ No newline at end of file diff --git a/docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md b/docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md new file mode 100644 index 00000000..0e75b185 --- /dev/null +++ b/docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md @@ -0,0 +1,258 @@ +# 使用裁判模型进行测评 +## 为什么使用裁判模型进行测评 + +常规测评任务中大部分情况下对模型推理结果评估的过程就是从推理结果中用正则表达式等方式提取答案并与标准答案比较从而判断模型推理结果是否正确,最终计算一个总分,整体流程如下: +```mermaid +graph LR; + A[基于给定数据集执行推理] --> B((推理结果)) + B --> C[基于推理结果进行评估] + C --> D((精度数据)) + D --> E[基于精度数据生成汇总报告] + E --> F((呈现结果)) +``` +当时有些测评场景中没有标准答案,或者不仅需要看标准答案,还要看得到标准答案的过程是否正确。这个时候常规的答案提取方式就无法满足这样的评测场景。因此需要引入裁判模型对被测模型推理结果进行判断。有裁判模型介入的整体测评流程如下: +```mermaid +graph LR; + A[基于给定数据集执行推理] --> B((被测模型的推理结果)) + B --> C[裁判模型对被测模型推理结果进行判断]:::green + C --> D((裁判模型的判断结果)):::green + D --> E[从裁判模型判断结果中提取相关指标得分] + E --> F((精度数据)) + F --> G[呈现结果] + + classDef green fill:#90EE90,stroke:#228B22,stroke-width:2px; +``` + +## 快速上手 +以aime2025数据集评测为例,使能方式与[AISBench工具快速入门](https://ais-bench-benchmark-rf.readthedocs.io/zh-cn/latest/get_started/quick_start.html#)基本一致,快速上手中仅做差异化说明 + +### 命令含义 +AISBench命令中通过`--datasets`指定的裁判模型数据集任务`aime2025_gen_0_shot_llmjudge`。 +```shell +ais_bench --models vllm_api_general_chat --datasets aime2025_gen_0_shot_llmjudge +``` +> 注:裁判模型数据集任务与常规数据集任务在配置上有差别,两种数据集任务是可以在一条数据集任务中混用的 + +### 任务含义查询(可选) +与快速入门一致,不赘述 + +### 运行命令前置准备 +- `--models`: 使用`vllm_api_general_chat`模型任务,需要准备支持`v1/chat/completions`子服务的推理服务,可以参考🔗 [VLLM启动OpenAI 兼容服务器](https://docs.vllm.com.cn/en/latest/getting_started/quickstart.html#openai-compatible-server)启动推理服务(被测模型是一个推理服务,裁判模型是另一个推理服务,快速入门如果图方便也可以共用一个服务) +- `--datasets`: 使用`aime2025_gen_0_shot_llmjudge`数据集任务,需要准备aime2025数据集,可以从🔗 [opencompass +提供的aime2025数据集压缩包](http://opencompass.oss-cn-shanghai.aliyuncs.com/datasets/data/aime2025.zip)下载。将解压后的`aime2025/`文件夹部署到AISBench评测工具根路径下的`ais_bench/datasets`文件夹下。 + +### 任务对应配置文件修改 +每个模型任务、数据集任务和结果呈现任务都对应一个配置文件,运行命令前需要修改这些配置文件的内容。这些配置文件路径可以通过在原有AISBench命令基础上加上`--search`来查询,例如: +```shell +ais_bench --models vllm_api_general_chat --datasets aime2025_gen_0_shot_llmjudge --search +``` +> ⚠️ **注意**: 执行带search命令会打印出任务对应的配置文件的绝对路径。 + +执行查询命令可以得到如下查询结果: +```shell +╒══════════════╤═══════════════════════════════════════╤════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╕ +│ Task Type │ Task Name │ Config File Path │ +╞══════════════╪═══════════════════════════════════════╪════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╡ +│ --models │ vllm_api_general_chat │ /your_workspace/benchmark/ais_bench/benchmark/configs/models/vllm_api/vllm_api_general_chat.py │ +├──────────────┼───────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ +│ --datasets │ aime2025_gen_0_shot_llmjudge │ /your_workspace/benchmark/ais_bench/benchmark/configs/datasets/aime2025/aime2025_gen_0_shot_llmjudge.py │ +╘══════════════╧═══════════════════════════════════════╧════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╛ + +``` +- `vllm_api_general_chat`对应被测模型任务的配置文件配置方法与快速入门一致不赘述 +- `aime2025_gen_0_shot_llmjudge`对应裁判模型数据集任务的配置文件中需要修改裁判模型的配置: + ```python + judge_model=dict( + attr="service", + type=VLLMCustomAPIChat, + abbr="judge", # abbr 标识裁判模型唯一性 + path="", # 指定模型序列化词表文件绝对路径(精度测试场景一般不需要配置) + model="", # 指定服务端已加载模型名称,依据实际VLLM推理服务拉取的模型名称配置(配置成空字符串会自动获取) + stream=False, + request_rate=0, # 请求发送频率,每1/request_rate秒发送1个请求给服务端,小于0.1则一次性发送所有请求 + use_timestamp=False, # 是否按数据集中 timestamp 调度请求,适用于含 timestamp 的数据集(如 Mooncake Trace) + retry=2, # 每个请求最大重试次数 + api_key="", # 自定义API key,默认是空字符串 + host_ip="localhost", # 指定裁判模型推理服务的IP + host_port=8080, # 指定裁判模型推理服务的端口 + url="", # 自定义访问裁判模型推理服务的URL路径(当base url不是http://host_ip:host_port的组合时需要配置,配置后host_ip和host_port将被忽略) + max_out_len=512, # 推理服务输出的token的最大数量 + batch_size=1, # 请求发送的最大并发数 + trust_remote_code=False, # tokenizer是否信任远程代码,默认False; + generation_kwargs=dict( # 模型推理参数,参考VLLM文档配置,AISBench评测工具不做处理,在发送的请求中附带 + temperature=0.01, + ignore_eos=False, + ) + pred_postprocessor=dict(type=extract_non_reasoning_content), + ), + ``` +裁判模型任务的配置含义与被测模型任务配置的含义是完全相同的。 + + +### 执行命令 +修改好配置文件后,执行命令启动服务化精度评测(基于裁判模型评估): +```bash +ais_bench --models vllm_api_general_chat --datasets aime2025_gen_0_shot_llmjudge +``` +### 查看任务执行细节 +全过程进度显示 +执行AISBench命令后,正在执行的任务状态会在命令行实时刷新的看板上显示(键盘按"P"键可以停止刷新,用于复制看板信息,再按"P"可以继续刷新),例如: +```shell +Base path of result&log : outputs/default/20260305_153318 +Task Progress Table (Updated at: 2026-03-05 15:34:33) +Page: 1/1 Total 2 rows of data +Press Up/Down arrow to page, 'P' to PAUSE/RESUME screen refresh, 'Ctrl + C' to exit ++--------------------------------+-----------+---------------------------------------------------+-------------+----------+-----------------------------------------------+---------------------------------------------------+ +| Task Name | Process | Progress | Time Cost | Status | Log Path | Extend Parameters | ++================================+===========+===================================================+=============+==========+===============================================+===================================================+ +| vllm-api-general-chat/aime2025 | 2818438 | [##############################] 30/30 [2.0 it/s] | 0:00:12 | finish | logs/infer/vllm-api-general-chat/aime2025.out | {'POST': 30, 'RECV': 30, 'FINISH': 30, 'FAIL': 0} | ++--------------------------------+-----------+---------------------------------------------------+-------------+----------+-----------------------------------------------+---------------------------------------------------+ + +``` +裁判模型推理过程: +```shell +Base path of result&log : outputs/default/20260305_153318 +Task Progress Table (Updated at: 2026-03-05 15:34:33) +Page: 1/1 Total 2 rows of data +Press Up/Down arrow to page, 'P' to PAUSE/RESUME screen refresh, 'Ctrl + C' to exit + ++--------------------------------------+-----------+---------------------------------------------------+-------------+----------+-----------------------------------------------------+---------------------------------------------------+ +| Task Name | Process | Progress | Time Cost | Status | Log Path | Extend Parameters | ++======================================+===========+===================================================+=============+==========+=====================================================+===================================================+ +| vllm-api-general-chat/aime2025-judge | 2821633 | [##############################] 30/30 [2.0 it/s] | 0:00:58 | finish | logs/infer/vllm-api-general-chat/aime2025-judge.out | {'POST': 30, 'RECV': 30, 'FINISH': 30, 'FAIL': 0} | ++--------------------------------------+-----------+---------------------------------------------------+-------------+----------+-----------------------------------------------------+---------------------------------------------------+ + +``` +从裁判模型推理结果提取答案过程: +```shell +Base path of result&log : outputs/default/20260305_153318 +Task Progress Table (Updated at: 2026-03-05 15:34:33) +Page: 1/1 Total 2 rows of data +Press Up/Down arrow to page, 'P' to PAUSE/RESUME screen refresh, 'Ctrl + C' to exit + ++--------------------------------------+-----------+------------+-------------+----------+----------------------------------------------------+---------------------+ +| Task Name | Process | Progress | Time Cost | Status | Log Path | Extend Parameters | ++======================================+===========+============+=============+==========+====================================================+=====================+ +| vllm-api-general-chat/aime2025-judge | 2826026 | NA | 0:00:00 | finish | logs/eval/vllm-api-general-chat/aime2025-judge.out | None | ++--------------------------------------+-----------+------------+-------------+----------+----------------------------------------------------+---------------------+ + +``` + +任务执行的细节日志会不断落盘在默认的输出路径,这个输出路径在实时刷新的看板上显示,即`Log Path`。`Log Path`(`logs/infer/vllm-api-general-chat/aime2025.out`)是在`Base path`(`outputs/default/20260305_153318`)下的路径,以上述的看板信息为例,任务执行的详细日志路径为: +```shell +# {Base path}/{Log Path} +# 被测模型推理过程日志 +outputs/default/20260305_153318/logs/infer/vllm-api-general-chat/aime2025.out +# 裁判模型推理过程日志 +outputs/default/20260305_153318/logs/infer/vllm-api-general-chat/aime2025-judge.out +# 从裁判模型推理结果提取答案过程日志 +outputs/default/20260305_153318/logs/eval/vllm-api-general-chat/aime2025-judge.out +``` + +> 💡 如果希望执行过程中将详细日志直接打印,执行命令时可以加上 `--debug`: +`ais_bench --models vllm_api_general_chat --datasets aime2025_gen_0_shot_llmjudge --debug` + + +`Base path`(`outputs/default/20260305_153318`)下包含了所有任务的执行细节,命令执行结束后所有的执行细节如下: +```shell +20260305_153318/ +├── configs # 模型任务、数据集任务和结构呈现任务对应的配置文件合成的一个配置 +│   └── 20260305_153318_2833762.py +├── logs # 执行过程中日志,命令中如果加--debug,不会有过程日志落盘(都直接打印出来了) +│   ├── eval +│   │   └── vllm-api-general-chat +│   │   └── aime2025-judge.out # 基于predictions/文件夹下的裁判模型推理结果的精度评测过程的日志 +│   └── infer +│   └── vllm-api-general-chat +│   ├── aime2025-judge.out # 裁判模型推理结果 +│   └── aime2025.out # 被测模型推理过程日志 +├── predictions +│   └── vllm-api-general-chat +│   ├── aime2025.jsonl # 被测模型推理结果 +│   └── aime2025-judge.jsonl # 裁判模型推理结果(推理服务返回的所有输出) +├── results +│   └── vllm-api-general-chat +│   └── aime2025-judge.json # 精度评测计算的原始分数 +└── summary + ├── summary_20260305_153318.csv # 最终精度分数呈现(表格格式) + ├── summary_20260305_153318.md # 最终精度分数呈现(markdown格式) + └── summary_20260305_153318.txt # # 最终精度分数呈现(文本格式) +``` +> ⚠️ **注意**: 不同评测场景落盘任务执行细节内容不同,具体请参考具体评测场景的指南。 + + +### 输出结果 +结果显示的示例如下 +```bash +| dataset | version | metric | mode | vllm-api-general-chat | +|----- | ----- | ----- | ----- | -----| +| aime2025-judge | 3fb7e8 | accuracy | gen | 100.00 | +``` + +## 其他精度评测功能场景 +从裁判模型的快速上手章节可以看到,除了需要额外修改数据配置文件中裁判模型的配置,其他测评执行方式是与常规测评执行方式是完全一致的,因此其他精度评测功能场景的执行方式也是完全一致的。 +### 多任务测评 +参考[精度评测场景多任务测评](../base_tutorials/scenes_intro/accuracy_benchmark.md#多任务测评) +### 多任务并行测评 +参考[精度评测场景多任务并行测评](../base_tutorials/scenes_intro/accuracy_benchmark.md#多任务并行测评) +### 中断续测 & 失败用例重测 +参考[精度评测场景中断续测 & 失败用例重测](../base_tutorials/scenes_intro/accuracy_benchmark.md#中断续测-失败用例重测) +### 合并子数据集推理 +参考[精度评测场景合并子数据集推理](../base_tutorials/scenes_intro/accuracy_benchmark.md#合并子数据集推理) +### 固定请求数测评 +参考[精度评测场景固定请求数测评](../base_tutorials/scenes_intro/accuracy_benchmark.md#固定请求数测评) +### 多次独立重复推理 +参考[精度评测场景多次独立重复推理](../base_tutorials/scenes_intro/accuracy_benchmark.md#多次独立重复推理) +> ⚠️ 这个场景需要注意,仅需要在被测模型中配置多次独立重复推理的参数,在裁判模型的配置中无需配置。 +### 推理结果重评估 +参考[精度评测场景推理结果重评估](../base_tutorials/scenes_intro/accuracy_benchmark.md#推理结果重评估) + +> ⚠️ 这个场景需要注意重评估是从裁判模型推理开始的 +```mermaid +graph LR; + + B((被测模型的推理结果)) --> C[裁判模型对被测模型推理结果进行判断]:::green + C --> D((裁判模型的判断结果)):::green + D --> E[从裁判模型判断结果中提取相关指标得分] + E --> F((精度数据)) + F --> G[呈现结果] + + classDef green fill:#90EE90,stroke:#228B22,stroke-width:2px; +``` +> 默认情况下如果存在裁判模型的推理结果,会跳过裁判模型重新推理的过程,直接从裁判模型推理结果中提取相关指标得分。 +> 如果希望裁判模型重新推理。需要手动删除`predictions/`文件夹下的裁判模型推理结果文件`aime2025-judge.jsonl`,然后重新执行命令。 + +## 其他运行模式拓展 +在[默认几种运行模式](../base_tutorials/all_params/mode.md)的基础上,还提供了其他几种运行模式。 +### 仅完成裁判模型推理结果的输出 +通过`--mode infer_judge`实现仅完成从被测模型推理到裁判模型推理结果的输出,不进行指标提取。 + +```bash +ais_bench --models vllm_api_general_chat --datasets aime2025_gen_0_shot_llmjudge --mode infer_judge +``` + +```mermaid +graph LR; + A[基于给定数据集执行推理] --> B((被测模型的推理结果)) + B --> C[裁判模型对被测模型推理结果进行判断]:::green + C --> D((裁判模型的判断结果)):::green + D --> E[从裁判模型判断结果中提取相关指标得分] + E --> F((精度数据)) + F --> G[呈现结果] + + classDef green fill:#90EE90,stroke:#228B22,stroke-width:2px; +``` +### 基于被测模型推理结果仅做推理 +通过`--mode judge`实现基于被测模型推理结果仅做推理,不进行裁判模型的判断和指标提取(如果存在裁判模型的推理结果,会跳过裁判模型重新推理的过程)。 +```bash +ais_bench --models vllm_api_general_chat --datasets aime2025_gen_0_shot_llmjudge --reuse 20260305_153318 --mode judge +``` + +```mermaid +graph LR; + + B((被测模型的推理结果)) --> C[裁判模型对被测模型推理结果进行判断]:::green + C --> D((裁判模型的判断结果)):::green + + classDef green fill:#90EE90,stroke:#228B22,stroke-width:2px; +``` diff --git a/docs/source_zh_cn/index.rst b/docs/source_zh_cn/index.rst index 81d50f5d..b0b98212 100644 --- a/docs/source_zh_cn/index.rst +++ b/docs/source_zh_cn/index.rst @@ -54,6 +54,9 @@ AISBench Benchmark 是基于 `OpenCompass Date: Thu, 5 Mar 2026 16:09:58 +0800 Subject: [PATCH 3/7] gedit doc --- .../extended_benchmark/lmm_generate/gedit_bench.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source_zh_cn/extended_benchmark/lmm_generate/gedit_bench.md b/docs/source_zh_cn/extended_benchmark/lmm_generate/gedit_bench.md index f130f375..bcbf6ba9 100644 --- a/docs/source_zh_cn/extended_benchmark/lmm_generate/gedit_bench.md +++ b/docs/source_zh_cn/extended_benchmark/lmm_generate/gedit_bench.md @@ -71,7 +71,7 @@ git clone https://github.com/AISBench/benchmark.git ```bash docker exec -it ${NAME} bash ``` -在容器中参考AISBench的[安装说明](https://aisbench.readthedocs.io-rf/zh_CN/latest/installation.html)安装最新的AISBench工具。 +在容器中参考AISBench的[安装说明](../../get_started/install.md)安装最新的AISBench工具。 4. **准备好模型权重和数据集** 参考[Qwen-Image-Edit-2509](https://huggingface.co/Qwen/Qwen-Image-Edit-2509)获取模型权重。 @@ -96,7 +96,7 @@ device_list = [0] # [0, 1, 2, 3] 修改成实际可用的NPU设备ID列表,不 ```bash ais_bench --datasets gedit_gen_0_shot_llmjudge --search ``` -编辑`gedit_gen_0_shot_llmjudge.py`文件中裁判模型相关的配置,裁判模型的配置与常规API模型配置相同(可以参考快速入门中相关配置教程[模型配置介绍](https://ais-bench-benchmark-rf.readthedocs.io/zh-cn/latest/get_started/quick_start.html#id5)),只是在`judge_model`字段中: +编辑`gedit_gen_0_shot_llmjudge.py`文件中裁判模型相关的配置,裁判模型的配置与常规API模型配置相同(可以参考快速入门中相关配置教程[模型配置介绍](../../get_started/quick_start.md#任务对应配置文件修改)),只是在`judge_model`字段中: ```python # ...... judge_model=dict( From c86deac2cefaac5218a93aa25e65b77087dcbb5a Mon Sep 17 00:00:00 2001 From: SJTUyh Date: Thu, 5 Mar 2026 16:16:34 +0800 Subject: [PATCH 4/7] gedit doc --- .../lmm_generate/gedit_bench.md | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/docs/source_zh_cn/extended_benchmark/lmm_generate/gedit_bench.md b/docs/source_zh_cn/extended_benchmark/lmm_generate/gedit_bench.md index bcbf6ba9..666fa612 100644 --- a/docs/source_zh_cn/extended_benchmark/lmm_generate/gedit_bench.md +++ b/docs/source_zh_cn/extended_benchmark/lmm_generate/gedit_bench.md @@ -1,11 +1,12 @@ -# GEdit-Bench测评基准简介 -**GEdit-Bench(Genuine Edit-Bench)** 是阶跃星辰(StepFun)于2025年4月推出的、面向**真实世界指令图像编辑**的权威测评基准,核心价值是用真实用户需求检验模型的实用能力。 -## 核心定位与背景 +# GEdit-Bench +## GEdit-Bench测评基准简介 +[**GEdit-Bench(Genuine Edit-Bench)**](https://github.com/stepfun-ai/Step1X-Edit/blob/main/GEdit-Bench/) 是阶跃星辰(StepFun)于2025年4月推出的、面向**真实世界指令图像编辑**的权威测评基准,核心价值是用真实用户需求检验模型的实用能力。 +### 核心定位与背景 - **全称**:Genuine Edit-Bench(真实编辑基准) - **研发方**:阶跃星辰(StepFun AI),随其图像编辑模型 **Step1X-Edit** 一同发布 - **核心目标**:弥补现有基准依赖合成指令、脱离真实场景的缺陷,提供**贴近用户实际使用**的测评标准 -## 数据集核心信息 +### 数据集核心信息 - **数据来源**:从 Reddit 等社区收集**超1000条真实用户编辑请求**,经去重、去隐私、人工标注后筛选 - **最终规模**:**606个测试样本**(含英文 GEdit-Bench-EN、中文 GEdit-Bench-CN),整个数据集共1212个样本 - **任务覆盖**:11类高频真实编辑场景 @@ -21,19 +22,19 @@ 10. 构图调整 (subject-replace) 11. 复合编辑(多指令组合) (tone_transfer) -## 测评指标(MLLM 自动评分,满分10分) +### 测评指标(MLLM 自动评分,满分10分) - **G_SC, Q_SC(语义一致性)**:编辑结果与指令的匹配度 - **G_PQ, Q_PQ(图像质量)**:清晰度、细节保留、无伪影 - **G_O, Q_0(综合得分)**:G_SC 与 G_PQ 的加权综合 > 备注:其中`G_`表示使用GPT-4o的API作为裁判模型进行评分,`Q_`表示使用Qwen-2.5-VL-72B-Instruct作为裁判模型评分进行评分。 -# AISBench测评 GEdit-Bench实践 -## 基于MindIE框架对Qwen-Image-Edit模型进行测评 -### 硬件要求 +## AISBench测评 GEdit-Bench实践 +### 基于MindIE框架对Qwen-Image-Edit模型进行测评 +#### 硬件要求 昇腾服务器: 800I A2 (单芯片64GB显存) 800I A3 -### 环境准备(以800I A2硬件为例) +#### 环境准备(以800I A2硬件为例) 基于MindIE提供的镜像完成测评。 1. **拉取MindIE镜像** ``` @@ -78,7 +79,7 @@ docker exec -it ${NAME} bash 参考[GEdit-Bench数据集](https://huggingface.co/datasets/stepfun-ai/GEdit-Bench)获取数据集。 将在数据集放在`${PATH_TO_WORKSPACE}/benchmark/ais_bench/datasets`目录下(使用软链接也可以)。 -### 测评配置准备 +#### 测评配置准备 在容器中`${PATH_TO_WORKSPACE}/benchmark/ais_bench/configs/lmm_example`目录下,打开`multi_device_run_qwen_image_edit.py`文件,编辑如下内容设置模型配置: ```python @@ -126,7 +127,7 @@ ais_bench --datasets gedit_gen_0_shot_llmjudge --search ``` -### 启动测评 +#### 启动测评 在容器中,进入`${PATH_TO_WORKSPACE}/benchmark/ais_bench/configs/lmm_example`目录下,执行如下命令启动测评: ```bash ais_bench multi_device_run_qwen_image_edit.py --max-num-workers {MAX_NUM_WORKERS} @@ -172,7 +173,7 @@ all case 7.1254 7.0660 6.9937 ``` 在`outputs/default/20260213_150110/results/gedit_gathered_result.csv`文件中,保存了每条case的具体精度分数。 -### (可选拓展)将AISBench的推理结果用于在GEdit-Bench工具中使用 +#### (可选拓展)将AISBench的推理结果用于在GEdit-Bench工具中使用 执行如下命令 ```bash # python3 -m ais_bench.tools.dataset_processors.gedit.display_results --config_path {CONFIG_PATH} --timestamp_path {TIMESTAMP_PATH} From d40a811b3355dac470d3dc27e8d2d7c69ffec55c Mon Sep 17 00:00:00 2001 From: SJTUyh Date: Thu, 5 Mar 2026 17:23:22 +0800 Subject: [PATCH 5/7] gedit doc --- docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md b/docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md index 0e75b185..886ef035 100644 --- a/docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md +++ b/docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md @@ -197,6 +197,7 @@ outputs/default/20260305_153318/logs/eval/vllm-api-general-chat/aime2025-judge.o 参考[精度评测场景多任务并行测评](../base_tutorials/scenes_intro/accuracy_benchmark.md#多任务并行测评) ### 中断续测 & 失败用例重测 参考[精度评测场景中断续测 & 失败用例重测](../base_tutorials/scenes_intro/accuracy_benchmark.md#中断续测-失败用例重测) +> ⚠️ 注意,--reuse 重新补全被测模型推理结果后,裁判模型会从0开始重新对全部完整的推理结果进行判断,历史判断过的结果将不会使用。 ### 合并子数据集推理 参考[精度评测场景合并子数据集推理](../base_tutorials/scenes_intro/accuracy_benchmark.md#合并子数据集推理) ### 固定请求数测评 From c7d170179aea37f4ce1060f8204be57ae0d118a6 Mon Sep 17 00:00:00 2001 From: Hanye <1037452625@qq.com> Date: Thu, 5 Mar 2026 20:20:54 +0800 Subject: [PATCH 6/7] Update docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md b/docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md index 886ef035..86019ba2 100644 --- a/docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md +++ b/docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md @@ -244,7 +244,7 @@ graph LR; classDef green fill:#90EE90,stroke:#228B22,stroke-width:2px; ``` ### 基于被测模型推理结果仅做推理 -通过`--mode judge`实现基于被测模型推理结果仅做推理,不进行裁判模型的判断和指标提取(如果存在裁判模型的推理结果,会跳过裁判模型重新推理的过程)。 +通过`--mode judge`实现基于被测模型推理结果,仅完成裁判模型的推理,不进行指标提取(如果存在裁判模型的推理结果,会跳过裁判模型重新推理的过程)。 ```bash ais_bench --models vllm_api_general_chat --datasets aime2025_gen_0_shot_llmjudge --reuse 20260305_153318 --mode judge ``` From 2cd95ab00db71e6a24b73d0864d8b389640476eb Mon Sep 17 00:00:00 2001 From: SJTUyh Date: Thu, 5 Mar 2026 20:23:55 +0800 Subject: [PATCH 7/7] fix doc --- docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md b/docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md index 86019ba2..699e4967 100644 --- a/docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md +++ b/docs/source_zh_cn/advanced_tutorials/judge_model_evaluate.md @@ -237,9 +237,6 @@ graph LR; A[基于给定数据集执行推理] --> B((被测模型的推理结果)) B --> C[裁判模型对被测模型推理结果进行判断]:::green C --> D((裁判模型的判断结果)):::green - D --> E[从裁判模型判断结果中提取相关指标得分] - E --> F((精度数据)) - F --> G[呈现结果] classDef green fill:#90EE90,stroke:#228B22,stroke-width:2px; ```