evalscope/docs/zh/get_started/visualization.md

157 lines
5.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 可视化
可视化功能支持单模型评测结果和多模型评测结果对比,支持数据集混合评测可视化。
```{important}
该可视化工具专门用于展示模型评测结果,不适用于模型推理服务的压测结果可视化。如需查看模型推理服务的压测结果可视化,请参考[压测结果可视化指南](../user_guides/stress_test/quick_start.md#可视化测试结果)。
```
## 安装依赖
安装可视化所需的依赖包括gradio、plotly等。
```bash
pip install 'evalscope[app]' -U
```
```{note}
可视化功能需要`evalscope>=0.10.0`输出的评测报告,若版本小于`0.10.0`,请先升级`evalscope`进行模型评测。
```
## 启动可视化服务
运行如下命令启动可视化服务。
```bash
evalscope app
```
支持的命令行参数如下:
- `--outputs`: 类型为字符串,用于指定评测报告所在的根目录,默认值为`./outputs`。
- `--lang`: 类型为字符串,用于指定界面语言,默认值为中文`zh`,支持`zh`和`en`。
- `--share`: 作为标志参数,是否共享应用程序,默认值为`False`。
- `--server-name`: 类型为字符串,默认值为`0.0.0.0`,用于指定服务器名称。
- `--server-port`: 类型为整数,默认值为`7860`,用于指定服务器端口。
- `--debug`: 作为标志参数,是否调试应用程序,默认值为`False`。
输出如下内容即可在浏览器中访问可视化服务。
```text
* Running on local URL: http://127.0.0.1:7860
To create a public link, set `share=True` in `launch()`.
```
### 快速体验
运行如下命令即可下载样例并快速体验可视化功能样例中包含Qwen2.5-0.5B和Qwen2.5-7B模型在ceval, humaneval, arc, gsm8k, ifeval数据集上部分示例的评测结果。
```bash
git clone https://github.com/modelscope/evalscope
evalscope app --outputs evalscope/examples/viz
```
## 功能介绍
### 选择评测报告
按下图所示步骤选择评测报告:
```{image} ./images/setting.png
:alt: alt text
:width: 60%
:align: center
```
1. 输入评测报告的根目录,默认值为`./outputs`会根据如下目录结构来寻找评测报告json文件
```text
outputs/
├── time_stamp_1
│ ├── reports
│ │ ├── model_name_1
│ │ │ ├── report1.json
│ │ │ ├── report2.json
├── time_stamp_2
│ ├── reports
│ │ ├── model_name_1
│ │ │ ├── report1.json
│ │ │ ├── report2.json
```
2. 选择评测报告,点击下拉框选择评测报告,若不选择,则弹出警告。
3. 点击`加载并查看`按钮,即可查看可视化。
### 单模型评测结果可视化
1. 点击`单模型`选项页按钮
2. 在`选择报告`下拉框中选择已加载的评测报告,将自动展示评测报告总览
3. 点击`任务配置`可查看任务配置信息
![alt text](./images/single_model.png)
**评测报告总览**
1. 展示评测数据集的组成:其由内而外分别表示数据集名称、数据集类别、子数据集名称;扇形区域大小表示数据集样本数量;颜色表示数据集得分
2. 分别用条形图和表格展示各数据集打分结果
![alt text](./images/report_overview.png)
**单个数据集详情**
1. 选择数据集,将展示模型在该数据集上的评测结果
2. 使用条形图和表格展示模型在不同指标下、不同子数据集上的评测结果
![alt text](./images/single_dataset.png)
3. 选择子数据集,将展示模型在该子数据集上的评测结果,可以点击`答案模式`筛选模型输出结果。其中
- `Input`表示模型输入;
- `Generated`表示模型输出;
- `Gold`表示标准答案;
- `Pred`表示经过后处理的模型预测结果;
- `Score`表示模型得分;
- `NScore`表示归一化的模型得分,用于表示模型得分是否通过
![alt text](./images/model_prediction.png)
### 多模型评测结果对比可视化
1. 点击`多模型`选项页按钮
2. 在`选择报告`下拉框中选择已加载的评测报告,将自动展示评测报告总览,可以多项选择
3. 使用雷达图和对比表格进行展示
![alt text](./images/model_compare.png)
### 数据集混合评测可视化
本看板也支持[数据集混合评测](../advanced_guides/collection/index.md)可视化将按照数据混合schema的结构进行可视化展示
例如如下结构的schema
```python
schema = CollectionSchema(name='math&reasoning', datasets=[
CollectionSchema(name='math', datasets=[
DatasetInfo(name='gsm8k', weight=1, task_type='math', tags=['en', 'math']),
DatasetInfo(name='competition_math', weight=1, task_type='math', tags=['en', 'math']),
DatasetInfo(name='cmmlu', weight=2, task_type='math', tags=['zh', 'math'], args={'subset_list': ['college_mathematics', 'high_school_mathematics']}),
DatasetInfo(name='ceval', weight=3, task_type='math', tags=['zh', 'math'], args={'subset_list': ['advanced_mathematics', 'high_school_mathematics', 'discrete_mathematics', 'middle_school_mathematics']}),
]),
CollectionSchema(name='reasoning', datasets=[
DatasetInfo(name='arc', weight=1, task_type='reasoning', tags=['en', 'reasoning']),
DatasetInfo(name='ceval', weight=1, task_type='reasoning', tags=['zh', 'reasoning'], args={'subset_list': ['logic']}),
DatasetInfo(name='race', weight=1, task_type='reasoning', tags=['en', 'reasoning']),
]),
])
```
可视化报告如下可见结构与schema一致
```text
math&reasoning
├── math
│ ├── gsm8k
│ ├── competition_math
│ ├── cmmlu
│ ├── ceval
├── reasoning
│ ├── arc
│ ├── ceval
│ ├── race
```
![alt text](./images/collection.png)