书生大模型实战营学习[9] OpenCompass 评测 InternLM-1.8B 实践

在这里插入图片描述

准备工作

打开开发机,选择cuda11.7环境,A100选择10%,点击创建,然后进入开发机即可,和之前的操作一样。接下来创建环境,下载必要的依赖包

conda create -n opencompass python=3.10
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia -y
cd ~
conda activate opencompass
git clone -b 0.2.4 https://github.com/open-compass/opencompass
cd opencompass
pip install -e .
apt-get update
apt-get install cmake
pip install -r requirements.txt
pip install protobuf

数据的准备:

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

结果:

+----------------------------------------+----------------------------------------------------------------------+
| Model                                  | Config Path                                                          |
|----------------------------------------+----------------------------------------------------------------------|
| hf_internlm2_1_8b                      | configs/models/hf_internlm/hf_internlm2_1_8b.py                      |
| hf_internlm2_20b                       | configs/models/hf_internlm/hf_internlm2_20b.py                       |
| hf_internlm2_7b                        | configs/models/hf_internlm/hf_internlm2_7b.py                        |
| hf_internlm2_base_20b                  | configs/models/hf_internlm/hf_internlm2_base_20b.py                  |
| hf_internlm2_base_7b                   | configs/models/hf_internlm/hf_internlm2_base_7b.py                   |
| hf_internlm2_chat_1_8b                 | configs/models/hf_internlm/hf_internlm2_chat_1_8b.py                 |
| hf_internlm2_chat_1_8b_sft             | configs/models/hf_internlm/hf_internlm2_chat_1_8b_sft.py             |
| hf_internlm2_chat_20b                  | configs/models/hf_internlm/hf_internlm2_chat_20b.py                  |
| hf_internlm2_chat_20b_sft              | configs/models/hf_internlm/hf_internlm2_chat_20b_sft.py              |
| hf_internlm2_chat_20b_with_system      | configs/models/hf_internlm/hf_internlm2_chat_20b_with_system.py      |
| hf_internlm2_chat_7b                   | configs/models/hf_internlm/hf_internlm2_chat_7b.py                   |
| hf_internlm2_chat_7b_sft               | configs/models/hf_internlm/hf_internlm2_chat_7b_sft.py               |
| hf_internlm2_chat_7b_with_system       | configs/models/hf_internlm/hf_internlm2_chat_7b_with_system.py       |
| hf_internlm2_chat_math_20b             | configs/models/hf_internlm/hf_internlm2_chat_math_20b.py             |
| hf_internlm2_chat_math_20b_with_system | configs/models/hf_internlm/hf_internlm2_chat_math_20b_with_system.py |
| hf_internlm2_chat_math_7b              | configs/models/hf_internlm/hf_internlm2_chat_math_7b.py              |
| hf_internlm2_chat_math_7b_with_system  | configs/models/hf_internlm/hf_internlm2_chat_math_7b_with_system.py  |
| hf_internlm_20b                        | configs/models/hf_internlm/hf_internlm_20b.py                        |
| hf_internlm_7b                         | configs/models/hf_internlm/hf_internlm_7b.py                         |
| hf_internlm_chat_20b                   | configs/models/hf_internlm/hf_internlm_chat_20b.py                   |
| hf_internlm_chat_7b                    | configs/models/hf_internlm/hf_internlm_chat_7b.py                    |
| hf_internlm_chat_7b_8k                 | configs/models/hf_internlm/hf_internlm_chat_7b_8k.py                 |
| hf_internlm_chat_7b_v1_1               | configs/models/hf_internlm/hf_internlm_chat_7b_v1_1.py               |
| internlm_7b                            | configs/models/internlm/internlm_7b.py                               |
| ms_internlm_chat_7b_8k                 | configs/models/ms_internlm/ms_internlm_chat_7b_8k.py                 |
+----------------------------------------+----------------------------------------------------------------------+
+--------------------------------+-------------------------------------------------------------------+
| Dataset                        | Config Path                                                       |
|--------------------------------+-------------------------------------------------------------------|
| ceval_clean_ppl                | configs/datasets/ceval/ceval_clean_ppl.py                         |
| ceval_contamination_ppl_810ec6 | configs/datasets/contamination/ceval_contamination_ppl_810ec6.py  |
| ceval_gen                      | configs/datasets/ceval/ceval_gen.py                               |
| ceval_gen_2daf24               | configs/datasets/ceval/ceval_gen_2daf24.py                        |
| ceval_gen_5f30c7               | configs/datasets/ceval/ceval_gen_5f30c7.py                        |
| ceval_ppl                      | configs/datasets/ceval/ceval_ppl.py                               |
| ceval_ppl_1cd8bf               | configs/datasets/ceval/ceval_ppl_1cd8bf.py                        |
| ceval_ppl_578f8d               | configs/datasets/ceval/ceval_ppl_578f8d.py                        |
| ceval_ppl_93e5ce               | configs/datasets/ceval/ceval_ppl_93e5ce.py                        |
| ceval_zero_shot_gen_bd40ef     | configs/datasets/ceval/ceval_zero_shot_gen_bd40ef.py              |
| configuration_internlm         | configs/datasets/cdme/internlm2-chat-7b/configuration_internlm.py |
| modeling_internlm2             | configs/datasets/cdme/internlm2-chat-7b/modeling_internlm2.py     |
| tokenization_internlm          | configs/datasets/cdme/internlm2-chat-7b/tokenization_internlm.py  |
+--------------------------------+-------------------------------------------------------------------+

选择configs/models/hf_internlm/的hf_internlm2_chat_1_8b.py

使用OpenCompass 评测

使用命令行配置参数法进行评测

将下面代码贴到hf_internlm2_chat_1_8b.py中:

from opencompass.models import HuggingFaceCausalLMmodels = [dict(type=HuggingFaceCausalLM,abbr='internlm2-1.8b-hf',path="/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b",tokenizer_path='/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b',model_kwargs=dict(trust_remote_code=True,device_map='auto',),tokenizer_kwargs=dict(padding_side='left',truncation_side='left',use_fast=False,trust_remote_code=True,),max_out_len=100,min_out_len=1,max_seq_len=2048,batch_size=8,run_cfg=dict(num_gpus=1, num_procs=1),)
]

配置环境变量

#环境变量配置
export MKL_SERVICE_FORCE_INTEL=1

使用命令行评估

python run.py --datasets ceval_gen --models hf_internlm2_chat_1_8b --debug

评估结果

dataset                                         version    metric         mode    internlm2-1.8b-hf
----------------------------------------------  ---------  -------------  ------  -----------------------
ceval-computer_network                          db9ce2     accuracy       gen      47.37                                                                           
ceval-operating_system                          1c2571     accuracy       gen      47.37                                                                                 
ceval-computer_architecture                     a74dad     accuracy       gen      23.81                                                                                 
ceval-college_programming                       4ca32a     accuracy       gen      13.51                                                                                 
ceval-college_physics                           963fa8     accuracy       gen      42.11                                                                                 
ceval-college_chemistry                         e78857     accuracy       gen      33.33                                                                                 
ceval-advanced_mathematics                      ce03e2     accuracy       gen      10.53                                                                                 
...          

在这里插入图片描述

使用配置文件修改参数法进行评测

除了通过命令行配置实验外,OpenCompass 还允许用户在配置文件中编写实验的完整配置,并通过 run.py 直接运行它。配置文件是以 Python 格式组织的,并且必须包括 datasets 和 models 字段。
首先在configs文件夹下创建eval_tutorial_demo.py

cd /root/opencompass/configs
touch eval_tutorial_demo.py

将以下代码粘贴到eval_tutorial_demo.py中:

from mmengine.config import read_basewith read_base():from .datasets.ceval.ceval_gen import ceval_datasetsfrom .models.hf_internlm.hf_internlm2_chat_1_8b import models as hf_internlm2_chat_1_8b_modelsdatasets = ceval_datasets
models = hf_internlm2_chat_1_8b_models

测评:

cd /root/opencompass
python run.py configs/eval_tutorial_demo.py --debug

结果:

dataset                                         version    metric         mode    internlm2-1.8b-hf
----------------------------------------------  ---------  -------------  ------  -----------------------
ceval-computer_network                          db9ce2     accuracy       gen      47.37                                                                           
ceval-operating_system                          1c2571     accuracy       gen      47.37                                                                                 
ceval-computer_architecture                     a74dad     accuracy       gen      23.81                                                                                 
ceval-college_programming                       4ca32a     accuracy       gen      13.51                                                                                 
ceval-college_physics                           963fa8     accuracy       gen      42.11                                                                                 
ceval-college_chemistry                         e78857     accuracy       gen      33.33                                                                                 
ceval-advanced_mathematics                      ce03e2     accuracy       gen      10.53                                                                                 
...      

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1547019.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

盘点几款财务人必备的财务管理系统,建议收藏!

相信很多财务人在工作中会遇到各种各样的难题,数据杂乱、对账不清晰、财务流程复杂等,一个好用的财务管理系统绝对是雪中送炭。那么财务人知道有哪些财务管理系统吗? 财务管理系统从多方面为财务人的工作保驾护航,优化流程系统、…

数据结构:实现链式结构二叉树(Tree) 手把手带你入门数据结构~

文章目录 前言一、链式结构二叉树的概念1. 定义2. 节点结构3. 操作4. 优势与劣势 二、链式结构二叉树的实现1. 树结构的定义2. 树的遍历(1)前序遍历(2)中序遍历(3)后序遍历 3. 二叉树结点个数4. 二叉树叶子…

828华为云征文 | 基于华为云Flexus云服务器X搭建部署——AI知识库问答系统(使用1panel面板安装)

🚀对于企业来讲为什么需要华为云Flexus X来搭建自己的知识库问答系统??? 【重塑知识边界,华为云Flexus云服务器X引领开源问答新纪元!】 🌟 解锁知识新动力,华为云Flexus云服务器X携…

力扣 简单 876.链表的中间结点

文章目录 题目介绍题解 题目介绍 题解 法一&#xff1a; class Solution {public ListNode middleNode(ListNode head) {ListNode cur head;int n 0;while (cur ! null) {n;cur cur.next;}ListNode curr head;for (int i 0; i < n / 2; i) {curr curr.next;}return …

C++ 红黑树封装map和set

目录 前言 1.红黑树的改造 1.1主题框架 1.2迭代器 operator &#xff08;&#xff09; begin&#xff08;&#xff09;和end&#xff08;&#xff09; 1.3红黑树相关接口的改造 Find函数的改造 Insert 函数的改造 2.红黑树改造的完整代码 3.Set的封装 4.Map的封装 前…

freeRDP OPenssl

libusb需要下载 我使用的是VS2019编译 所以需要include 与vs2019 在cmake里面修改路径 C:/Users/JPM/source/repos/freeRDP/FreeRDP-stable-2.0/libusb-1.0.24/include/libusb-1.0 C:/Users/JPM/source/repos/freeRDP/FreeRDP-stable-2.0/libusb-1.0.24/VS2019/MS64/static/l…

pycharm24.2运行框中无法输入中文但是可以粘贴中文、输入英文、数字

文章目录 一、问题描述二、解决办法解决办法1解决办法2解决办法3 一、问题描述 pycharm24.2版本中运行框中无法输入中文&#xff0c;敲击空格键发现中文并没有输入进去: 但是可以粘贴中文: 输入英文、数字没有问题。 二、解决办法 该问题为pycharm24.2版本问题。 解决办法…

AI无人直播新标杆,一站式直播解决方案:打造专属舞台!

AI无人直播新标杆&#xff0c;一站式直播解决方案&#xff1a;打造专属舞台&#xff01; 在数字化浪潮的汹涌澎湃中&#xff0c;AI技术正以前所未有的速度渗透至各行各业&#xff0c;其中&#xff0c;直播行业作为数字内容传播的重要阵地&#xff0c;正经历着一场由AI引领的深刻…

OpenHarmony(鸿蒙南向)——平台驱动指南【MIPI CSI】

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ 持续更新中…… 概述 功能简介 CSI&#xff08;Camera Serial Interface&#xf…

数字人形象自定义制作:readyplayer

网址&#xff1a; https://readyplayer.me/ 支持上传照片和拍照&#xff0c;会自动识别变成卡通风格 其他选项是配置选项&#xff1a;穿着、样貌等 上面弄好后右上角点击next&#xff0c;创建的模型可以下载3d glb文件 glb文件在线打开&#xff1a; https://gltf-viewer.d…

SpinalHDL之语义(Semantic)(一)

本文作为SpinalHDL学习笔记第六十九篇,介绍SpinalHDL的赋值(Assignments)。 目录: 1.赋值(Assignments) 2.位宽检查(Width checking) 3.组合逻辑环路(Combinatorial loops) ⼀、赋值(Assignments) SpinalHDL中有多个赋值运算: //因为硬件的并发性, `a`的值⼀直是1 val a…

CrossOver24支持的游戏有那些

CrossOver刚刚更新了24版本&#xff0c;支持《地平线零之曙光》、《以撒的结合&#xff1a;重生》等游戏。一起来看看它有哪些更新吧&#xff01; 一、功能优化 - 更新 Wine 至最新的稳定版 Wine 9.0&#xff0c;引入了 7000多个更新和针对各种软件游戏的优化。 - 更新 Wine M…

Azure Kinect 人体跟踪关节

Azure Kinect 人体跟踪关节 azure kinect dk 提取人体骨骼 要在Azure Kinect DK上提取人体骨骼&#xff0c;你需要使用Azure Kinect SDK和OpenPose库。以下是一个简化的代码示例&#xff0c;展示如何集成这两个库来提取骨骼关键点&#xff1a; 首先&#xff0c;确保你已经安装…

【YashanDB知识库】decode函数中的子查询被不必要地多次执行

本文内容转自YashanDB官网&#xff0c;具体内容请见https://www.yashandb.com/newsinfo/7441387.html?templateId1718516 问题现象 客户向yashandb下发的SQL语句执行时间超过6分钟仍未出结果 问题的风险及影响 SQL语句性能慢&#xff0c;影响客户业务 问题影响的版本 所…

蜂窝物联网全网通sim卡切网技术方案软硬件实现教程(设备根据基站信号质量自动切网)

01 物联网系统中为什么要使用三合一卡 三合一卡为用户解决了单一运营商网络无法全覆盖的缺陷&#xff0c;避免再次采购的经济成本以及时间成本和因没有信号设备停止工作造成的损失&#xff0c;保证仅需一次采购并提高设备工作效率和入网活跃度。例如下面地区的设备&#xff0…

RPA自动化流程机器人有哪些优势?

在数字化快速推进的大背景下&#xff0c;人工智能正在以前所未有的速度改变着生活和生产方式&#xff0c;而RPA自动化流程机器人作为其中一种最重要的革命性的技术&#xff0c;已经成为企业数字化中不可或缺的重要力量&#xff0c;让员工加速从“重复性工作”中摆脱出来。 金智…

【芋道源码】gitee很火的开源项目pig——后台管理快速开发框架使用笔记(微服务版之本地开发环境篇)

后台管理快速开发框架使用笔记&#xff08;微服务版之本地开发环境篇&#xff09; 后台管理快速开发框架使用笔记&#xff08;微服务版之本地开发环境篇&#xff09; 后台管理快速开发框架使用笔记&#xff08;微服务版之本地开发环境篇&#xff09;前言一、如何获取项目&#…

推荐十款主流的采购管理系统,为企业选型提供参考!

大家都明白采购对制造型企业的重要性&#xff0c;但是在面对市场上琳琅满目的采购管理系统企业却不知道该如何选择&#xff0c;不要担心。 本篇文章将对市面上知名的采购管理系统进行综合测评&#xff0c;深入剖析这些平台的特点与优势。看完这篇内容&#xff0c;你将对不同采…

前台项目启动/打包报错 Error: error:0308010C:digital envelope routines::unsupported

在package.json中修改启动/打包语句 如图&#xff0c;我这里是打包时候报错&#xff0c;就在build里前面加上 set NODE_OPTIONS--openssl-legacy-provider && 再次打包&#xff0c;成功。

【OpenAI o1思维链CoT必看论文】谷歌“思维链提示“让AI更懂人类推理

原创 超 超的闲思世界 AI的推理能力正迎来一场重大突破。谷歌大脑团队最新开发的"思维链提示"方法&#xff0c;让大型语言模型在复杂推理任务上展现出惊人的进步。这项创新技术无需对模型进行额外训练&#xff0c;却能显著提升AI的推理能力&#xff0c;让机器的思…