官方教程:Tutorial/docs/L1/OpenCompass/readme.md at camp3 · InternLM/Tutorial (github.com)
评测 API 模型
考虑到 openai 的 API 服务暂时在国内无法直接使用,我们这里以评测 internlm 模型为例,介绍如何评测 API 模型。
打开网站浦语官方地址 书生·浦语 获得 api key 和 api 服务地址 (也可以从第三方平台 硅基流动 获取), 在终端中运行:
export INTERNLM_API_KEY=xxxxxxxxxxxxxxxxxxxxxxx # 填入你申请的 API Key
配置模型: 在终端中运行 cd /root/opencompass/
和 touch opencompass/configs/models/openai/puyu_api.py
, 然后打开文件, 贴入以下代码:
import os
from opencompass.models import OpenAISDK
internlm_url = 'https://internlm-chat.intern-ai.org.cn/puyu/api/v1/' # 你前面获得的 api 服务地址
internlm_api_key = os.getenv('INTERNLM_API_KEY')
models = [
dict(
# abbr='internlm2.5-latest',
type=OpenAISDK,
path='internlm2.5-latest', # 请求服务时的 model name
# 换成自己申请的APIkey
key=internlm_api_key, # API key
openai_api_base=internlm_url, # 服务地址
rpm_verbose=True, # 是否打印请求速率
query_per_second=0.16, # 服务请求速率
max_out_len=1024, # 最大输出长度
max_seq_len=4096, # 最大输入长度
temperature=0.01, # 生成温度
batch_size=1, # 批处理大小
retry=3, # 重试次数
)
]
配置数据集: 在终端中运行 cd /root/opencompass/
和 touch opencompass/configs/datasets/demo/demo_cmmlu_chat_gen.py
, 然后打开文件, 贴入以下代码:
from mmengine import read_base
with read_base():
from ..cmmlu.cmmlu_gen_c13365 import cmmlu_datasets
# 每个数据集只取前2个样本进行评测
for d in cmmlu_datasets:
d['abbr'] = 'demo_' + d['abbr']
d['reader_cfg']['test_range'] = '[0:1]' # 这里每个数据集只取1个样本, 方便快速评测.
这样我们使用了 CMMLU Benchmark 的每个子数据集的 1 个样本进行评测.
完成配置后, 在终端中运行: python run.py --models puyu_api.py --datasets demo_cmmlu_chat_gen.py --debug
. 预计运行10分钟后, 得到结果:
OpenCompass 评测 InternLM-1.8B 实践
- 记录复现过程并截图。
基础任务(完成此任务即完成闯关)
- 使用 OpenCompass 评测 internlm2-chat-1.8b 模型在 ceval 数据集上的性能,记录复现过程并截图。
这里复用了之前30%的cuda11机器。
step1:安装compass环境
conda create -n opencompass python=3.10
conda activate opencompass
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia -y
# 注意:一定要先 cd /root
cd /root
git clone -b 0.2.4 https://github.com/open-compass/opencompass
cd opencompass
pip install -e .
apt-get update
apt-get install cmake
pip install -r requirements.txt
pip install protobuf
step2:解压评测数据集
cp /share/temp/datasets/OpenCompassData-core-20231110.zip /root/opencompass/
unzip OpenCompassData-core-20231110.zip
step3:使用配置文件进行测评
编写eval_tutorial_demo.py,放到路径/root/opencompass/configs下:
from mmengine.config import read_base
with read_base():
from .datasets.ceval.ceval_gen import ceval_datasets
from .models.hf_internlm.hf_internlm2_chat_1_8b import models as hf_internlm2_chat_1_8b_models
datasets = ceval_datasets
models = hf_internlm2_chat_1_8b_models
step4:启动测评
cd /root/opencompass
python run.py configs/eval_tutorial_demo.py --debug
结果:
全程大概需要2h,输出保存在output文件夹中,可以自行查看指标