为什么需要评测?
统一的模型评测
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4850b03fa965ea1a9a50502f2cc5d329.png)
如何评测?
基座模型需要加上额外的提示
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c4789f73da5f949b6d296ff2ce3a879c.png)
客观评测:只要回答包括北京就可以认为正确
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9449f9743bb488b9a3eb9f301f12df8d.png)
主观评测:创作类问题。人工评测不现实,用模型来评测模型,如GPT4作为裁判
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b17c38a5cf8f18260d71d34b5049b891.png)
OpenCompass评测框架
实战&基础作业
安装
conda create --name opencompass --clone=/root/share/conda_envs/internlm-base
source activate opencompass
git clone https://github.com/open-compass/opencompass
cd opencompass
pip install -e .
# 解压评测数据集到 data/ 处
cp /share/temp/datasets/OpenCompassData-core-20231110.zip /root/opencompass/
unzip OpenCompassData-core-20231110.zip
# 将会在opencompass下看到data文件夹
查看支持的数据集和模型
# 列出所有跟 internlm 及 ceval 相关的配置
python tools/list_configs.py internlm ceval
启动评测
python run.py --datasets ceval_gen --hf-path /share/temp/model_repos/internlm-chat-7b/ --tokenizer-path /share/temp/model_repos/internlm-chat-7b/ --tokenizer-kwargs padding_side='left' truncation='left' trust_remote_code=True --model-kwargs trust_remote_code=True device_map='auto' --max-seq-len 2048 --max-out-len 16 --batch-size 4 --num-gpus 1 --debug
--datasets ceval_gen \
--hf-path /share/temp/model_repos/internlm-chat-7b/ \ # HuggingFace 模型路径
--tokenizer-path /share/temp/model_repos/internlm-chat-7b/ \ # 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 2048 \ # 模型可以接受的最大序列长度
--max-out-len 16 \ # 生成的最大 token 数
--batch-size 2 \ # 批量大小
--num-gpus 1 # 运行模型所需的 GPU 数量
--debug
结果