L2 OpenCompass 评测书生大模型实践
它支持多种多模态模型和评测集,包括闭源和开源模型,以及多个多模态基准数据集。:VLMEvalKit支持超过三十个开源多模态模型和十余个开源多模态评测集,包括GPT-4v、GeminiPro、QwenVLPlus等主流模型和MME、MMBench、SEEDBench等评测集。用户可以根据需要添加新的模型或评测集,并确保原有的评测集和模型仍然适用于新的模型或评测集。如果你的电脑上面没有该模型的模型文件
任务来源:
L2 OpenCompass 评测书生大模型实践 - 飞书云文档
任务:
-
使用 OpenCompass 评测 Intern-s1(C-Eval数据集) 和 InternVL(MME数据集) 并在飞书文档中详细记录到飞书文档
-
进阶 完成 自建数据集的评测
1.OpenCompass是由上海人工智能实验室开发的开源大模型评测平台,旨在全面评估大语言模型和多模态模型的能力。

在 OpenCompass 中评估一个模型通常包括以下几个阶段:配置 -> 推理 -> 评估 -> 可视化。
配置:这是整个工作流的起点。您需要配置整个评估过程,选择要评估的模型和数据集。此外,还可以选择评估策略、计算后端等,并定义显示结果的方式。
推理与评估:在这个阶段,OpenCompass 将会开始对模型和数据集进行并行推理和评估。推理阶段主要是让模型从数据集产生输出,而评估阶段则是衡量这些输出与标准答案的匹配程度。这两个过程会被拆分为多个同时运行的“任务”以提高效率,但请注意,如果计算资源有限,这种策略可能会使评测变得更慢。如果需要了解该问题及解决方案,可以参考 FAQ: 效率。
可视化:评估完成后,OpenCompass 将结果整理成易读的表格,并将其保存为 CSV 和 TXT 文件。你也可以激活飞书状态上报功能,此后可以在飞书客户端中及时获得评测状态报告。
对于其他模型,请参考 configs 目录 中提供的其他示例。
2.评测环境配置
2.1开发机选择

2.2conda环境安装
conda create -n opencompass10 python=3.10
conda activate opencompass10
# 注意:一定要先 cd /root
cd /root
git clone -b 0.5.0 https://gh.llkk.cc/https://github.com/open-compass/opencompass.git opencompass
cd opencompass
pip install -e .
pip install opencompass[api]
pip install jmespath
3.评测不同类型项目
OpenCompass 支持的数据集主要包括以下三类
Huggingface 数据集: Huggingface Dataset 提供了大量的数据集,这部分数据集运行时会自动下载
ModelScope 数据集:ModelScope OpenCompass Dataset 支持从 ModelScope 自动下载数据集。
要启用此功能,请设置环境变量:export DATASET_SOURCE=ModelScope,可用的数据集包括(来源于 OpenCompassData-core.zip):humaneval, triviaqa, commonsenseqa, tydiqa, strategyqa, cmmlu, lambada, piqa, ceval, math, LCSTS, Xsum, winogrande, openbookqa, AGIEval, gsm8k, nq, race, siqa, mbpp, mmlu, hellaswag, ARC, BBH, xstory_cloze, summedits, GAOKAO-BENCH, OCNLI, cmnli
自建以及第三方数据集:OpenCompass 还提供了一些第三方数据集及自建中文数据集。运行以下命令手动下载解压。
为了方便评测,我们首先将数据集下载到本地:
apt-get update && apt-get install -y unzip
cd /root/opencompass
wget https://ghfast.top/https://github.com/open-compass/opencompass/releases/download/0.2.2.rc1/OpenCompassData-core-20240207.zip
unzip OpenCompassData-core-20240207.zip
将会在 OpenCompass 下看到data文件夹,里面包含的数据集如下图所示:

4.作业内容
4.1使用Intern-s1评测C-Eval 选择题
写配置脚本运行
OpenCompass 允许用户在配置文件中编写实验的完整配置脚本,并通过run.py直接运行它。
配置文件就像一个指令集,告诉评测系统用什么模型(model)测什么数据(datasets)。
用 read_base () 直接复用已有配置,不用重复编写。比如代码中通过 with read_base () 块,直接引入了 ceval 数据集和其他模型配置,再组合成当前所需的完整配置。
在opencompass/opencompass/configs文件夹下创建eval_tutorial_demo1.py
cd /root/opencompass/opencompass/configs
touch eval_tutorial_demo1.py
打开eval_tutorial_demo1.py 贴入以下代码
from mmengine.config import read_base
from opencompass.models import OpenAISDK
# 配置模型
models = [
dict(
type=OpenAISDK,
path='intern-s1', # 明确模型名称
key='sk-xxx', # 你的API密钥
openai_api_base='https://chat.intern-ai.org.cn/api/v1', # API地址
rpm_verbose=True,
query_per_second=1, # 根据 rpm 限制,进行调整.rpm==30
max_out_len=512,
max_seq_len=4096,
temperature=0.01,
batch_size=10,# 根据 rpm 限制,进行调整.rpm==30
retry=5, # 增加重试次数
)
]
# 配置数据集(只取每个子数据集的1个样本)
with read_base():
from .datasets.ceval.ceval_gen import ceval_datasets
#datasets=ceval_datasets #测试完整的数据集
# 缩小数据集规模为五个子数据集,每个子数据集仅保留10个样本,缩短测评时间
datasets = []
for d in ceval_datasets[:5]:
# 添加前缀标识这是演示用的精简数据集
d['abbr'] = 'demo_' + d['abbr']
# 仅使用第1个样本(索引0)
d['reader_cfg']['test_range'] = '[0:10]'
datasets.append(d)
cd /root/opencompass
python run.py opencompass/configs/eval_tutorial_demo1.py --debug

4.2 InternVL(MME数据集)评测
VLMEvalKit是一个专为大型视觉语言模型评测设计的开源工具包。它支持在各种基准测试上对大型视觉语言模型进行一键评估,无需进行繁重的数据准备工作,使评估过程更加简便。VLMEvalKit适用于图文多模态模型的评测,支持单对图文输入或是任意数量的图文交错输入。它通过实现70多个基准测试,覆盖了多种任务,包括但不限于图像描述、视觉问答、图像字幕生成等。

VLMEvalKit的主要用途包括以下几个方面:
多模态模型评估:VLMEvalKit旨在为研究人员和开发人员提供一个用户友好且全面的框架,以评估现有的多模态模型并发布可重复的评估结果。它支持多种多模态模型和评测集,包括闭源和开源模型,以及多个多模态基准数据集。
模型性能比较:通过VLMEvalKit,用户可以轻松比较不同多模态模型在各种任务上的性能。该工具包提供了详细的评测结果,并支持将结果发布在OpenCompass的多模态整体榜单上。
便捷的一站式评测:VLMEvalKit支持一键式评测,无需手动进行数据预处理。用户只需一条命令即可完成对多个多模态模型和评测集的评测。
易于扩展:VLMEvalKit框架支持轻松添加新的多模态模型和评测集。用户可以根据需要添加新的模型或评测集,并确保原有的评测集和模型仍然适用于新的模型或评测集。
支持多种模型和评测集:VLMEvalKit支持超过三十个开源多模态模型和十余个开源多模态评测集,包括GPT-4v、GeminiPro、QwenVLPlus等主流模型和MME、MMBench、SEEDBench等评测集。
提供定量与定性结果:VLMEvalKit不仅提供定量评测结果,还支持对模型的定性分析,帮助用户了解模型在特定任务上的表现和不足之处。
环境准备
cd /root/opencompass
git clone https://gh.llkk.cc/https://github.com/open-compass/VLMEvalKit.git
conda create -n VLMEvalKit1 python=3.10
conda activate VLMEvalKit1
cd VLMEvalKit
pip install -e .
pip install datasets
在$VLMEvalKit/vlmeval/config.py文件中设置在 VLMEvalKit 中支持的 VLM 名称,以及模型路径。
如果你的电脑上面没有该模型的模型文件,则需要自己下载,然后更改模型路径,也可以不修改,在运行模型评测命令的时候会自动下载模型文件。
注:默认下载使用的是Huggingface,需要进行科学上网,也可以使用modelscope将模型下载到本地,然后更改路径。
修改VLMEvalKit/vlmeval/config.py下红框所示为

python run.py --data MME --model InternVL3_5-1B --verbose


4.3完成自建数据集的评测这里我们评测一下论文分类比赛的数据,newformat_sft_test_data.csv是A榜测试数据,将其放在/root/opencompass/newformat_sft_test_data.csv位置
L2 OpenCompass 评测书生大模型实践 - 飞书云文档
在configs文件夹下创建eval_tutorial_demo2.py
cd /root/opencompass/opencompass/configs
touch eval_tutorial_demo2.py
from opencompass.models import OpenAISDK
# 配置模型
models = [
dict(
type=OpenAISDK,
path='intern-s1', # 明确模型名称
key='sk-xxxx', # 你的API密钥
openai_api_base='https://chat.intern-ai.org.cn/api/v1', # API地址
rpm_verbose=True,
query_per_second=1, # 根据 rpm 限制,进行调整.rpm==30
max_out_len=512,
max_seq_len=4096,
temperature=0.01,
batch_size=8,# 根据 rpm 限制,进行调整.rpm==30
retry=5, # 增加重试次数
)
]
# 配置数据集
datasets = [
dict(
path='/root/opencompass/newformat_sft_test_data.csv',
data_type='mcq',
infer_method='gen'
)
]
运行
#在opencompass目录下
python run.py opencompass/configs/eval_tutorial_demo2.py --debug
运行结果如下

更多推荐



所有评论(0)