7-OpenCompass 大模型评测实战
知识篇
OpenCompass简介
工具主页:https://hub.opencompass.org.cn/home
上海人工智能实验室科学家团队正式发布了大模型开源开放评测体系 “司南” (OpenCompass2.0),用于为大语言模型、多模态模型等提供一站式评测服务。其主要特点如下:
- 开源可复现:提供公平、公开、可复现的大模型评测方案
- 全面的能力维度:五大维度设计,提供 70+ 个数据集约 40 万题的的模型评测方案,全面评估模型能力
- 丰富的模型支持:已支持 20+ HuggingFace 及 API 模型
- 分布式高效评测:一行命令实现任务分割和分布式评测,数小时即可完成千亿模型全量评测
- 多样化评测范式:支持零样本、小样本及思维链评测,结合标准型或对话型提示词模板,轻松激发各种模型最大性能
- 灵活化拓展:想增加新模型或数据集?想要自定义更高级的任务分割策略,甚至接入新的集群管理系统?OpenCompass 的一切均可轻松扩展!
目前opencompass已经应用头部大模型企业和科研机构
支持任务切分和并行,最大化利用计算资源
能力维度
opencompass同时也自建数据集,覆盖更多的场景。
共建行业生态
为何要做大模型评测
大模型评测的挑战
如何评测
需要评测的内容包括了基座模型和对话模型
包括了客观评测(包括如客观回答题、选择题)和主观评测(偏开放式的问答)
还有对问题的提示词优化,以便能够让评测问题更明确,更能区分出不同模型的优势。
对长文本的评测
实战
本次实战依然在internStudio完成,选择50%的A100.
创建虚拟环境
studio-conda -o internlm-base -t opencompass
拉取仓库项目
conda activate opencompass
git clone -b 0.2.4 https://github.com/open-compass/opencompass
安装组件
cd opencompass
pip install -e .
# 需要再执行如下,不然其他的组件没安装,后续执行要安装一堆东西
pip install -r requirements.txt
准备评测数据
cp /share/temp/datasets/OpenCompassData-core-20231110.zip /root/opencompass/
unzip OpenCompassData-core-20231110.zip
查看支持的模型和数据集
列出所有跟 InternLM 及 C-Eval 相关的配置
python tools/list_configs.py internlm ceval
# 不带参数是列出可以支持的模型和数据的清单及其配置
python tools/list_configs.py
安装protobuf
# 如果环境中没有该组件,那么请安装,否则运行评测脚本会报错
pip install protobuf
没有安装protobuf会报类似如下错误:
执行评测
export MKL_SERVICE_FORCE_INTEL=1
cd /root/opencompass
python run.py --datasets ceval_gen --hf-path /share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b --tokenizer-path /share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b --tokenizer-kwargs padding_side='left' truncation='left' trust_remote_code