OpenCompass大模型测评实战学习笔记

一、OpenCompass介绍:

评测相关:

评测意义:

研究评测对于我们全面了解大型语言模型的优势和限制至关重要;研究评测有助于指导和改进人类与大型语言模型之间的协同交互;研究评测可以帮助我们更好地规划大型语言模型未来的发展;评测能了解不同语言模型之间的性能、舒适性和安全性,能够帮助人们更好地选择适合的模型。

如何通过评测促进模型发展:

评测中的面临挑战:

如何评测:

按模型类别不同划分评测:基座模型、公开权重的开源模型、对话模型、API模型

按评测方式:客观评测与主观评测

提示词工程将题目变得更加丰富,然后再进行推理或者评测

长文本评测(大海捞针)。

OpenCompass提供了什么:

CompassRank:中立全面的性能榜单

CompassKit:大模型评测全栈工具链

OpenCompass评测流水线:

CompassHub:高质量评测基准社区

二、项目实践:

书生浦语在 C-Eval 基准任务上的评估(它们的配置文件可以在 configs/eval_demo.py 中找到)

环境配置

配置conda环境:

studio-conda -o internlm-base -t opencompass

激活环境,克隆opencompass代码仓库的0.2.4分支,进入opencompass文件夹,从源码进行安装

source activate opencompass
git clone -b 0.2.4 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 及 C-Eval 相关的配置:

python tools/list_configs.py internlm ceval

运行命令后,先后缺少依赖包“tabulate”“mmengine”

使用pip install 命令安装后,重新执行命令,获得结果:

启动评测:

输入命令:

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=True --model-kwargs trust_remote_code=True device_map='auto' --max-seq-len 1024 --max-out-len 16 --batch-size 2 --num-gpus 1 --debug

官方命令解析:

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

运行命令:

报错。

安装缺失依赖包后,运行

报错。

。。。。。。后续不清楚缺了多少包,运行以下命令

pip install -r requirements.txt

重新安一遍项目所需依赖包

重新运行评测命令,

报错:

官方给出解决错误方案:加入环境变量:

export MKL_SERVICE_FORCE_INTEL=1

重新运行评测命令,继续报错:

根据官方解决方案,并观察运行日志,缺少模块protobuf,运行以下命令:

pip install protobuf

重新执行评测命令,顺利运行,得到结果:

至此评测实践跑通。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值