Opencompass模型评测教程

2024-05-26 01:20

本文主要是介绍Opencompass模型评测教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

模型评测

模型评测非常关键,目前主流的方法主要可以概括为主观评测和客观评测,主观评测又可以分为两种形式:人工判断或者和模型竞技场。客观评测一般采用评测数据集的形式进行模型评测。本教程使用Opencompass工具进行对Internlm2-7b模型进行评测。

算力平台

本教程在OpenBayes上进行实验,主要的原因在于Openbayes平台可以很方便地使用自定义的数据集。没有注册的用户可以使用我的邀请链接,可以额外获得RTX4090的免费使用时长:

https://openbayes.com/console/signup?r=xiaoshulin_WGv4

硬件环境

首先Opencompass比较消耗资源,一张4090评测一次CMMLU评测集大概需要一个小时,并且选择A100速度也是差不多的(主要还是CPU瓶颈和推理能力),建议选择单张4090进行评测,性价比最高。

下载Opencompass评测数据包

opencompass的数据包分为了两个版本,一个是complete版本和core版本,其中complete版本包含的数据集种类更加全面,core版本包含了主要的核心评测数据集。由于本教程评测使用CMMLU数据集,所以只需要下载core版本即可。
下载方式可以使用官方的办法:

# 下载数据集到 data/ 处
wget https://github.com/open-compass/opencompass/releases/download/0.2.2.rc1/OpenCompassData-core-20240207.zip
unzip OpenCompassData-core-20240207.zip

但是经过本人测试,下载速度非常有限,所以可以使用我下面的链接:opencompass包阿里云
同时,强烈建议将数据集上传到openBayes平台给用户挂载的数据集文件夹。
1、首先创建一个数据集:
在这里插入图片描述
我这里命名为opencompass评测数据集
在这里插入图片描述
然后需要创建一个新的版本(openBayes的管理和github很像,无论是模型还是数据集都是有版本一说,这样子的话可以方便管理数据集的不同版本,这也是非常nice的一点):
在这里插入图片描述
然后在对应的版本里面上传需要的数据集即可。
在这里插入图片描述

配置硬件环境

本教程使用RTX4090进行模型的评测。但是首先我们需要创建一个算力容器。
在这里插入图片描述
我这里命名为书生浦语模型评测,注意在创建数据集的时候需要设置好两个:internlm2-7b模型和你刚才创建的opencompass数据包,这样子的话就根本不需要额外在容器内部下载,白白浪费时间。
在这里插入图片描述
在这里插入图片描述
然后到了下一步选择算力,我们选择使用RTX4090加速,并且使用pytorch中的python3.10+cuda12.1环境镜像:
在这里插入图片描述
剩下的就是点击审核和执行就可以了。

软件环境配置

这一步,首先打开JupyterLab的工作空间。
在这里插入图片描述
观察这个界面,我们就可以发现到我们刚刚挂载的那个评测数据集和评测的模型(实际上就是两个文件夹)。
在这里插入图片描述
由于每一次启动openbayes平台都会将base的conda环境的软件依赖全部清理掉,所以最好的方法是使用conda创建一个全新的虚拟环境保存到路径/openbayes/home下面,这个文件夹的所有内容不会被删除。首先创建一个终端,确保在home路径下面,然后执行下面的脚本:

conda create --prefix /openbayes/home/opss python=3.10 pytorch torchvision pytorch-cuda -c nvidia -c pytorch -y
conda activate /openbayes/home/opss
git clone https://github.com/open-compass/opencompass.git
cd opencompass
pip install -e .

由于可能发生缺失文件libGL.so.1,所以需要安装软件依赖:

apt install libgl1-mesa-glx -y

最后我们进入opencompass的目录下面,可以得到下面的结构目录:
在这里插入图片描述

opencompass使用

参考文档

官方最新的opencompass使用文档

执行opencompass评测任务

首先需要创建一个data文件夹,存储的就是我们刚刚放上去的opencompass评测集。
在这里插入图片描述
然后在将我们的评测数据集复制一份到这个data文件夹里面:

cp -r /openbayes/input/input0/data/* ./data

在这里插入图片描述
opencompass的工作原理可以参考文档,也可以参考这个文章:关于openCompass与大模型评测现状的分析
用起来的实际上并不需要特别深入的理解,只需要明白每一步要要干啥就OK了。执行opencompass的一个关键是调整评测集的config,常用的评测数据集的配置文件都在opencompass/configs这个路径下面了。
首先创建一个配置文件eval_internlm2_7b.py放到configs文件夹下面:

from opencompass.models import HuggingFaceCausalLM
from mmengine.config import read_basewith read_base():from .datasets.cmmlu.cmmlu_ppl import cmmlu_datasetsdatasets = [*cmmlu_datasets]models = [dict(type=HuggingFaceCausalLM,abbr='internlm2-7b',path="/openbayes/input/input1/internlm2-7b",  # 模型文件路径tokenizer_path='/openbayes/input/input1/internlm2-7b',tokenizer_kwargs=dict(trust_remote_code=True,use_fast=False,),max_seq_len=2048,batch_size=1,model_kwargs=dict(device_map='auto', trust_remote_code=True),run_cfg=dict(num_gpus=1, num_procs=1),) # 多模型评测最好放到一起,因为可以开很多个进程一起评测
]

然后在终端执行命令:

MKL_SERVICE_FORCE_INTEL=1 python run.py configs/eval_internlm2_7b.py

输出会保存到文件opencompass/outputs文件夹里面:
在这里插入图片描述

这篇关于Opencompass模型评测教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1003165

相关文章

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

PyCharm 接入 DeepSeek最新完整教程

《PyCharm接入DeepSeek最新完整教程》文章介绍了DeepSeek-V3模型的性能提升以及如何在PyCharm中接入和使用DeepSeek进行代码开发,本文通过图文并茂的形式给大家介绍的... 目录DeepSeek-V3效果演示创建API Key在PyCharm中下载Continue插件配置Con

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

Spring Boot整合log4j2日志配置的详细教程

《SpringBoot整合log4j2日志配置的详细教程》:本文主要介绍SpringBoot项目中整合Log4j2日志框架的步骤和配置,包括常用日志框架的比较、配置参数介绍、Log4j2配置详解... 目录前言一、常用日志框架二、配置参数介绍1. 日志级别2. 输出形式3. 日志格式3.1 PatternL

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus