【书生·浦语】大模型实战营——第六次作业

使用OpenCompass 评测 InterLM2-chat-chat-7B 模型在C-Eval数据集上的性能

环境配置

1. 创建虚拟环境


conda create --name opencompass --clone=/root/share/conda_envs/internlm-base
source activate opencompass
git clone https://github.com/open-compass/opencompass
cd opencompass
pip install -e .


2. 数据集准备

# 解压评测数据集到 data/ 处
cp /share/temp/datasets/OpenCompassData-core-20231110.zip /root/opencompass/
unzip OpenCompassData-core-20231110.zip

3. 查看支持的数据集和模型

# 列出所有跟 internlm 及 ceval 相关的配置
python tools/list_configs.py internlm ceval

测试

        评测不同的模型主要是设置正确的参数。可以通过命令行的形式一个一个指定,也可以通过config文件实现。本文选择了config文件的形式,首先创建configs/eval_internlm2_chat.py:

from mmengine.config import read_base
from opencompass.models import HuggingFaceCausalLM
from opencompass.partitioners import NaivePartitioner
from opencompass.runners import LocalRunner
from opencompass.tasks import OpenICLEvalTask, OpenICLInferTask

with read_base():
    # choose a list of datasets
    from .datasets.ceval.ceval_gen_5f30c7 import ceval_datasets

datasets = [*ceval_datasets]


_meta_template = dict(
    round=[
        dict(role='HUMAN', begin='[UNUSED_TOKEN_146]user\n', end='[UNUSED_TOKEN_145]\n'),
        dict(role='SYSTEM', begin='[UNUSED_TOKEN_146]system\n', end='[UNUSED_TOKEN_145]\n'),
        dict(role='BOT', begin='[UNUSED_TOKEN_146]assistant\n', end='[UNUSED_TOKEN_145]\n', generate=True),
    ],
    eos_token_id=92542
)

models = [
    dict(
        type=HuggingFaceCausalLM,
        abbr='internlm2-chat-7b',
        path="/share/model_repos/internlm2-chat-7b",
        tokenizer_path='/share/model_repos/internlm2-chat-7b',
        model_kwargs=dict(
            trust_remote_code=True,
            device_map='auto',
        ),
        tokenizer_kwargs=dict(
            padding_side='left',
            truncation_side='left',
            trust_remote_code=True,
        ),
        max_out_len=100,
        max_seq_len=2048,
        batch_size=128,
        meta_template=_meta_template,
        run_cfg=dict(num_gpus=1, num_procs=1),
        end_str='[UNUSED_TOKEN_145]',
    )
]
infer = dict(
    partitioner=dict(type=NaivePartitioner),
    runner=dict(
        type=LocalRunner,
        max_num_workers=2,
        task=dict(type=OpenICLInferTask)),
)
eval = dict(
    partitioner=dict(type=NaivePartitioner),
    runner=dict(
        type=LocalRunner,
        max_num_workers=2,
        task=dict(type=OpenICLEvalTask)),
)

测试结果:

部分结果:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Redis数据类型】String实现及应用场景

文章目录 String1、介绍2、内部实现整数值embstr 编码字符串raw编码字符串 3、常用命令4、应用场景缓存对象常规计数分布式锁共享session信息 参考:小林Coding Redis九种数据类型 Redis 提供了丰富的数据类型,常见的有五种:String&#xff08…

C++ 之LeetCode刷题记录(十四)

😄😊😆😃😄😊😆😃 开始cpp刷题之旅。 依旧是追求耗时0s的一天。 88. 合并两个有序数组 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n &…

打造出色的 Prometheus 监控系统,看完后薪资翻倍?

一、监控概念&误区 监控是管理基础设施和业务的核心工具,监控应该和应用程序一起构建和部署,没有监控,将无法了解你的系统运行环境,进行故障诊断,也无法阻止提供系统性的性能、成本和状态等信息。 误区&#xff1…

怎样的安全数据交换系统 可以支持信创环境?

首先,我来看看,什么是安全数据交换系统?安全数据交换系统是一种专门设计用于在不同网络环境之间安全传输数据的技术解决方案。它确保数据在传输过程中的完整性、机密性和可用性,同时遵守相关的数据保护法规和行业标准。 那么&…

软件设计师——法律法规(四)

📑前言 本文主要是【法律法规】——软件设计师——法律法规的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 &#x1f304…

为什么MOS管很容易失效?有哪些失效?

在电子元件中,金属-氧化物半导体场效应晶体管(MOS管)是独特且重要,然而相比其他元件,MOS管很容易失效,导致电路无法正常运行,因此工程师必须查找原因并解决问题。 1、MOS管为什么很容易失效&…

Ubuntu之离线安装Gitlab,搭建私有代码仓库

Ubuntu之离线安装Gitlab,搭建私有代码仓库 文章目录 Ubuntu之离线安装Gitlab,搭建私有代码仓库1. 官网下载:2. 安装Gitlab3. 使用 1. 官网下载: https://packages.gitlab.com/gitlab/gitlab-ce wget下载地址: wget https://packages.gitla…

立体视觉几何 (二)

1.视差 2.立体匹配 立体匹配的基本概念: 匹配目标: 在立体匹配中,主要目标是确定左图像中像素的右图像中的对应像素。这个对应像素通常位于相同的行。视差(Disparity): 视差 d 是右图像中对应像素 xr 和左图像中像素 xl 之间的水平位置差。视…

go 语言中 json.Unmarshal([]byte(jsonbuff), j) 字节切片得使用场景

struct_tag的使用 在上面的例子看到,我们根据结构体生成的json的key都是大写的,因为结构体名字在go语言中不大写的话,又没有访问权限,这种问题会影响到我们对json的key的名字,所以go官方给出了struct_tag的方法去修改…

跑步运动耳机哪个牌子好?2024年国产运动耳机推荐

​无论春夏秋冬,无论室内还是户外,运动都能带给我们无尽的乐趣。而一副好的运动耳机,更能为我们的运动体验增色不少。今天,就让我为大家推荐几款值得一试的运动耳机吧。 1.南卡开放式耳机(00压) 一句话评价…

持续集成工具Jenkins的使用之安装篇(一)

Jenkins是一个基于Java开发的开源的一种持续集成工具,主要用于环境部署,监控重复性的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。要想使用它,你就必须的先安装,接下来我们就介绍下J…

工业计算机应用——物流行业

工业计算机在物流行业的应用 随着全球化和电商的快速发展,物流行业已经成为现代经济体系中的重要支柱。在这个高度自动化的行业中,工业计算机扮演着至关重要的角色。本文将深入探讨工业计算机在物流行业的应用及其优势。 一、工业计算机在物流行业的应用场景 仓储管理工业计…

服务器数据恢复—服务器进水导致阵列中磁盘同时掉线的数据恢复案例

服务器数据恢复环境: 数台服务器数台存储阵列柜,共上百块硬盘,划分了数十组lun。 服务器故障&检测: 外部因素导致服务器进水,进水服务器中一组阵列内的所有硬盘同时掉线。 北亚数据恢复工程师到达现场后发现机房内…

Web开发4:单元测试

在Web开发中,单元测试是一种重要的开发实践,它可以帮助我们确保代码的质量和可靠性。通过编写和运行单元测试,我们可以验证代码的正确性,减少错误和缺陷,并提高代码的可维护性。本文将介绍单元测试的概念、好处以及如何…

Vue.js 3 项目开发:迈向现代化前端开发的必经之路

文章目录 一、Vue.js 3简介二、Vue.js 3新特性1. Composition API2. 更好的性能3. 更好的TypeScript支持4. 更多的生命周期钩子5. 更好的自定义指令API 三、Vue.js 3项目开发实践1. 搭建开发环境2. 项目结构规划3. 组件开发4. 路由管理5. 状态管理6. 测试与部署 《Vue.js 3企业…

首批!鸿蒙千帆起,生态全面启动

在近日举办的鸿蒙生态千帆启航仪式上,华为常务董事、终端BG CEO余承东表示,鸿蒙生态设备已经增至8亿 ,将打开万亿产业新蓝海。 在本次论坛上,华为宣布HarmonyOS NEXT鸿蒙星河版(开发者预览版)已面向开发者…

汤姆·齐格弗里德《纳什均衡与博弈论》笔记(5)社会物理学

第七章 凯特勒的统计数据和麦克斯韦的分子理论——数据与社会学,数据与物理学 哈里谢顿的心理史学 半个多世纪前,当艾萨克阿西莫夫创立科幻般的心理史学时,并没为细究数学如何起作用而劳神苦思,只简单地说可以像描述分子群那样描…

virtualenv虚拟环境的安装使用教程

让我们先思考这样一种情景:我们用python来开发一个项目,那么这个项目肯定会依赖很多的第三方库,这些第三方的库通过pip安装到全局区当中,而对于不同的项目使用到的库可能都有所不同,但是这些项目的库都安装到全局区当中…

黑马Java 集合(上)

我是南城余!阿里云开发者平台专家博士证书获得者! 欢迎关注我的博客!一同成长! 一名从事运维开发的worker,记录分享学习。 专注于AI,运维开发,windows Linux 系统领域的分享! 知…

【爬虫、数据可视化实战】以“人口”话题为例爬取实时微博数据并进行舆情分析

前言: 近期在weibo上讨论的比较热的话题无非就是“人口”了。TaoTao也看了一些大家发的内容。但是感觉单纯的看文字内容不能很直观的反应出来大家的关切。索性就使用爬虫对数据进行爬取,同时结合着数据可视化的方式让数据自己开口说话。那么接下来就让我…