大模型评估框架OpenCompass
编辑
0
2025-04-01

最近一段时间都在做模型的微调与预训练。但是经过模型调参的模型并不一定能力提升,而且主观的几个问答并不能体现模型在模型方面的能力,我们需要更加直观的测试结果。
所以就有了模型评测,目前比较高效、便捷的框架就是OpenCompass。接下来围绕OpenCompass的实战聊聊。
OpenCompass安装
基础环境
这边建议参考我之前写的文章,大模型基础环境搭建。
环境还是比较重要的,学习大模型的基础。
OpenCompass依赖
基于上一步搭建好conda的虚拟环境后,激活环境。
conda activate opencompass
从GitHub克隆项目
git clone https://github.com/open-compass/opencompass.git
cd opencompass
pip install -e .
数据集下载
在 OpenCompass 项目根目录下运行下面命令,将数据集准备至 data 目录下:
wget https://github.com/open-compass/opencompass/releases/download/0.2.2.rc1/OpenCompassData-core-20240207.zip
unzip OpenCompassData-core-20240207.zip
如果需要使用 OpenCompass 提供的更加完整的数据集 (~1.7G),可以使用下述命令进行下载和解压:(根据网络情况来)
wget https://github.com/open-compass/opencompass/releases/download/0.2.2.rc1/OpenCompassData-complete-20240207.zip
unzip OpenCompassData-complete-20240207.zip
不出意外, OpenCompass根目录下会存在data目录。到此。
模型下载
这边建议参考我之前写的文章,有关模型下载。
快速跑通流程
(可选)运行可查看所有模型配置与数据集
python tools/list_configs.py
执行命令,注意配置模型路径
python run.py --datasets demo_gsm8k_chat_gen \
--hf-path 模型路径 \
--tokenizer-path 模型路径\
--tokenizer-kwargs padding_side='left' truncation='right' trust_remote_code=True \
--model-kwargs device_map='auto' trust_remote_code=True \
--max-seq-len 2048 \
--max-out-len 2048 \
--batch-size 1 \
--hf-num-gpus 1 \
--debug
跑完后会得到评估分数。
自定义模型评估
在configs\models路径下新建py文件,写入模型配置
from opencompass.models import HuggingFaceCausalLM
models = [
dict(
type=HuggingFaceCausalLM,
# 以下参数为 `HuggingFaceCausalLM` 的初始化参数
path='/home/valiantsec/phb/models/codegeex4-all-9b',#模型路径
tokenizer_path='/home/valiantsec/phb/models/codegeex4-all-9b',# 模型路径
tokenizer_kwargs=dict(padding_side='left', truncation_side='right'),
max_seq_len=2048,
batch_padding=False,
# 以下参数为各类模型都有的参数,非 `HuggingFaceCausalLM` 的初始化参数
abbr='codegeex4_all_9b', # 模型简称,用于结果展示
max_out_len=2048, # 最长生成 token 数
batch_size=4, # 批次大小
run_cfg=dict(num_gpus=1), # 运行配置,用于指定资源需求
)
]
运行
python tools/list_configs.py
可查看到注册的模型 后续就可以直接使用以下命令跑评测,很简洁
python run.py --datasets demo_gsm8k_chat_gen --models 模型名称 --debug
自定义数据集评测
后续在细说
评测指标
- 0
- 0
-
分享