【书生·浦语实战营】基础岛第6关:OpenCompass 评测 InternLM-1.8B 实践

任务目标

  • 使用 OpenCompass 评测 internlm2-chat-1.8b 模型在 ceval 数据集上的性能,记录复现过程并截图。

学习内容


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


任务实践

  1. 环境准备
conda create -n opencompass python=3.10 -y
conda activate opencompass
# 拉取OpenCompass源码。并下载需要的依赖包

git clone -b 0.2.4 https://github.com/open-compass/opencompass
cd opencompass
 
pip install -r requirements.txt

pip install -e .
 
# protobuf包需要单独安装
pip install protobuf

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  1. 数据集准备
    列出所有跟internlm及ceval相关的配置
    C-Eval 是一个全面的中文基础模型评估套件。由上海交通大学、清华大学和爱丁堡大学研究人员在2023年5月份联合推出,它包含了13948个多项选择题,涵盖了52个不同的学科和四个难度级别,用以评测大模型中文理解能力。
# 复制到当前文件夹下
cp /share/temp/datasets/OpenCompassData-core-20231110.zip /root/opencompass/
 
#解压文件
unzip OpenCompassData-core-20231110.zip
  1. 实际评测
    列出所有跟 internlm 及 ceval 相关的配置
python tools/list_configs.py internlm ceval

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在运行之前,为了避免一些冲突,可以通过设置下面两个变量来控制:

export MKL_SERVICE_FORCE_INTEL=1
export MKL_THREADING_LAYER=GNU

这两条命令都用于配置 Intel Math Kernel Library (MKL) 的行为。MKL 是一个用于加速数学运算的库,通常用于科学计算和机器学习应用程序。

  • export MKL_SERVICE_FORCE_INTEL=1
    此命令强制 MKL 使用 Intel 线程化层 (Threading Layer)。线程化层是负责管理线程的软件组件。MKL 支持两种线程化层:Intel 线程化层和 GNU 线程化层。
    默认情况下,MKL 会自动选择最适合当前系统的线程化层。但是,如果您遇到性能问题或兼容性问题,则可能需要强制 MKL 使用特定的线程化层。
    设置 MKL_SERVICE_FORCE_INTEL=1 将强制 MKL 使用 Intel 线程化层。这可能对使用 Intel 处理器的系统有益,因为它可以提高性能。但是,在某些情况下,它可能会导致性能下降或兼容性问题。
  • export MKL_THREADING_LAYER=GNU
    此命令将 MKL 的线程化层设置为 GNU 线程化层。GNU 线程化层是 GNU C 运行时库 (glibc) 的一部分。
    设置 MKL_THREADING_LAYER=GNU 将强制 MKL 使用 GNU 线程化层,即使系统上安装了 Intel 线程化层也是如此。这可能对使用非 Intel 处理器的系统有益,或者如果您遇到与 Intel 线程化层相关的性能问题或兼容性问题时有益。

任选一个命令执行,下面就可以正式开启评测了:
输入下面命令开启评测:
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
参数解析:

--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 数量

运行完成之后就可以看到1.8B模型的测试结果了:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

任务结果

  • 使用 OpenCompass 评测 internlm2-chat-1.8b 模型在 ceval 数据集上的性能,记录复现过程并截图。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值