OpenCompass项目数据集配置指南
数据集配置概述
OpenCompass作为一个大模型评测平台,其核心功能之一是对各类数据集进行高效评测。本文将详细介绍如何在OpenCompass中配置和使用数据集,帮助用户快速上手并灵活运用这一功能。
数据集目录结构解析
OpenCompass采用清晰的数据集目录结构设计,所有数据集配置文件都存放在configs/datasets
目录下。该目录采用扁平化设计,每个数据集拥有独立的子目录,子目录中包含该数据集的不同评测配置版本。
典型的数据集目录结构如下:
configs/datasets/
├── agieval
├── apps
├── ARC_c
├── CLUE_afqmc
│ ├── CLUE_afqmc_gen_901306.py
│ ├── CLUE_afqmc_gen.py
│ ├── CLUE_afqmc_ppl_378c5b.py
│ └── CLUE_afqmc_ppl.py
└── XLSum
数据集配置文件命名规范
数据集配置文件的命名遵循统一格式:{数据集名称}_{评测方式}_{prompt版本号}.py
。例如:
CLUE_afqmc_gen_db509b.py
:表示使用生成式评测(gen)方法,prompt版本号为db509bCLUE_afqmc_ppl_00b348.py
:表示使用判别式评测(ppl)方法,prompt版本号为00b348
不带版本号的文件(如CLUE_afqmc_gen.py
)通常指向该评测方式下最新的prompt配置,建议优先使用这些文件以获得最佳评测效果。
数据集配置详解
每个数据集配置文件都包含一个或多个数据集定义,这些定义存储在{数据集名称}_datasets
变量中。以AFQMC和CMNLI数据集为例:
# AFQMC数据集配置示例
afqmc_datasets = [
dict(
abbr="afqmc-dev", # 数据集缩写
type=AFQMCDatasetV2, # 数据集类型
path="./data/CLUE/AFQMC/dev.json", # 数据路径
reader_cfg=afqmc_reader_cfg, # 数据读取配置
infer_cfg=afqmc_infer_cfg, # 推理配置
eval_cfg=afqmc_eval_cfg, # 评估配置
)
]
# CMNLI数据集配置示例
cmnli_datasets = [
dict(
type=HFDataset,
abbr='cmnli',
path='json',
split='train',
data_files='./data/CLUE/cmnli/cmnli_public/dev.json',
reader_cfg=cmnli_reader_cfg,
infer_cfg=cmnli_infer_cfg,
eval_cfg=cmnli_eval_cfg
)
]
多数据集组合评测
在实际评测中,我们经常需要同时评测多个数据集。OpenCompass支持通过简单的导入和合并操作实现这一需求:
from mmengine.config import read_base
with read_base():
from .datasets.CLUE_afqmc.CLUE_afqmc_gen_db509b import afqmc_datasets
from .datasets.CLUE_cmnli.CLUE_cmnli_ppl_b78ad4 import cmnli_datasets
datasets = []
datasets += afqmc_datasets
datasets += cmnli_datasets
这种设计使得数据集组合变得非常灵活,用户可以根据评测需求自由搭配不同领域、不同评测方式的数据集。
高级评测配置
多次评测取平均
为了提高评测结果的稳定性,OpenCompass支持对同一数据集进行多次评测并取平均值。通过设置n
参数即可实现:
afqmc_datasets = [
dict(
abbr="afqmc-dev",
type=AFQMCDatasetV2,
path="./data/CLUE/AFQMC/dev.json",
n=10, # 进行10次评测取平均
reader_cfg=afqmc_reader_cfg,
infer_cfg=afqmc_infer_cfg,
eval_cfg=afqmc_eval_cfg,
)
]
G-Pass@k评测方法
对于二值评测指标(如准确率、通过率等),OpenCompass支持G-Pass@k评测方法。该方法通过设置k
和n
参数,可以更全面地评估模型的稳定性:
aime2024_datasets = [
dict(
abbr='aime2024',
type=Aime2024Dataset,
path='opencompass/aime2024',
k=[2, 4], # 计算G-Pass@2和G-Pass@4
n=12, # 进行12次评测
...
)
]
G-Pass@k的计算公式考虑了多次评测中的通过率分布,能够更准确地反映模型的实际表现。
最佳实践建议
- 优先使用最新prompt:不带版本号的配置文件通常代表最新、最优的prompt设计
- 合理组合数据集:根据评测目标选择不同领域、不同难度的数据集组合
- 考虑评测稳定性:对于关键评测,建议设置n≥3以获得更稳定的结果
- 理解评测方法:根据评测目标选择合适的评测方式(生成式gen或判别式ppl)
通过合理配置数据集,用户可以充分发挥OpenCompass的评测能力,获得全面、准确的大模型评估结果。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考