一、任务
- 基础任务(完成此任务即完成闯关)
- 使用 OpenCompass 评测 internlm2-chat-1.8b 模型在 ceval 数据集上的性能,记录复现过程并截图。
- 进阶任务(闯关不要求完成此任务)
- 使用 OpenCompass 进行主观评测(选做)
- 使用 OpenCompass 评测 InternLM2-Chat-1.8B 模型使用 LMDeploy部署后在 ceval 数据集上的性能(选做)
- 使用 OpenCompass 进行调用API评测(优秀学员必做)
二、理论部分
Compass如何对大模型进行评测
- 根据模型类型不同,区分为基座模型和对话模型;
- 按照模型测试方法的不同,区分为开源模型加载权重的方式和API方式评测
- 按照评测答案种类,区分为客观评测和主观评测
- 主观评测通常是找市面上表现较好的GPT4模型,对现有的模型进行打分
- 其他:长文本评测,测试模型对长文本的记忆能力
三、实战操作
1、配置环境
conda create -n opencompass python=3.10
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia -y
cd ~
conda activate opencompass
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
2、解压数据
cp /share/temp/datasets/OpenCompassData-core-20231110.zip /root/opencompass/
unzip OpenCompassData-core-20231110.zip
查看支持的数据集和模型
python tools/list_configs.py internlm ceval
3、启动OpenCompass进行评测
#环境变量配置
export MKL_SERVICE_FORCE_INTEL=1
#或
export MKL_THREADING_LAYER=GNU
#启动评测
python run.py
--datasets ceval_gen \
--hf-path /share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b \ # HuggingFace 模型路径
--tokenizer-path /share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b \ # HuggingFace tokenizer 路径(如果与模型路径相同,可以省略)
--tokenizer-kwargs padding_side='left' truncation='left' trust_remote_code=True \ # 构建 tokenizer 的参数
--model-kwargs device_map='auto' trust_remote_code=True \ # 构建模型的参数
--max-seq-len 1024 \ # 模型可以接受的最大序列长度
--max-out-len 16 \ # 生成的最大 token 数
--batch-size 2 \ # 批量大小
--num-gpus 1 # 运行模型所需的 GPU 数量
--debug
运行时:
评测结果如下: