OpenCompass大模型离线测评

news2025/1/21 22:09:18

一、目录

  1. 环境配置
  2. 环境测试
  3. 本地模型测评

二、实现

  1. 环境配置
    >>创建环境
conda create --name opencompass python=3.10 pytorch torchvision pytorch-cuda -c nvidia -c pytorch -y
 source activate opencompass
git clone https://github.com/open-compass/opencompass opencompass       #下载模型
cd opencompass
pip install -e .

下载数据集,解压并放于opencompass 文件夹下

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

在opencompass 文件夹下执行 测试命令, 如 >>python run.py --models hf_llama_7b --datasets mmlu_ppl ceval_ppl

  1. 测试 (在线)`
python run.py --models hf_llama_7b --datasets mmlu_ppl ceval_ppl
  1. 本地模型测评,配置文件 eval_demo.py (离线)
    参考:https://blog.csdn.net/qq_36803941/article/details/135938692
    3.1 修改 模型加载文件
>>cd /home/opencompass/configs/models/hf_llama
本人采用llama3 模型测试,但并没有llama3 相关文件,因此创建模型加载文件
>>vim hf_llama3_8b.py
#参考其他文件,书写模型配置,进行加载模型。
from opencompass.models import HuggingFaceCausalLM
models = [
    # LLaMA 7B
    dict(
        type=HuggingFaceCausalLM,
        abbr='llama3-8b-hf',
        path="/home/Meta-Llama-3-8B-Instruct", # 你的模型存放的实际路径,建议使用完整绝对路径
        tokenizer_path='/home/Meta-Llama-3-8B-Instruct', # 你的模型存放的实际路径,建议使用完整绝对路径
        tokenizer_kwargs=dict(padding_side='left',
                              truncation_side='left',
                              use_fast=False,
                              ),
        max_out_len=1000,
        max_seq_len=2048,
        batch_size=8,
        model_kwargs=dict(device_map='auto'),
        batch_padding=False, # if false, inference with for-loop without batch padding
        run_cfg=dict(num_gpus=1, num_procs=1),
    )
]

3.2. 查看模型配置文件是否成功
在这里插入图片描述
3.3. 修改评估配置

>>cd configs
vim eval_demo.py
#配置
from mmengine.config import read_base

with read_base():
    from .datasets.collections.base_medium_llama import piqa_datasets, siqa_datasets   #加载的数据集
    from .datasets.ceval.ceval_ppl import ceval_datasets
    from .models.hf_llama.hf_llama3_8b import models        #加载的模型


datasets = [*piqa_datasets, *siqa_datasets,*ceval_datasets]

#执行:>>python run.py configs/eval_demo.py
在这里插入图片描述
在这里插入图片描述
方式二、 配置文件中加载模型、加载数据集(配置文件必须放在configs 文件夹下,不然找不到路径),eval_demo.py, 无需单独去配置模型。

from mmengine.config import read_base
from opencompass.models import HuggingFaceCausalLM

batch_size = 20
# 指定评测模型
model_name_or_paths = [                              #可以多个模型
    '/home/Meta-Llama-3-8B-Instruct'
]
models = []   #模型以及配置放于列表中

for model_name_or_path in model_name_or_paths:
    abbr = model_name_or_path.split('/')[-1]
    model = dict(
        type=HuggingFaceCausalLM,
        abbr=abbr,
        path=model_name_or_path,
        tokenizer_path=model_name_or_path,
        tokenizer_kwargs=dict(padding_side='left',
                              truncation_side='left',
                              use_fast=False,
                              trust_remote_code=True
                              ),
        max_out_len=1000,
        max_seq_len=2048,
        batch_size=batch_size,
        model_kwargs=dict(device_map='auto', trust_remote_code=True),
        batch_padding=False,  # if false, inference with for-loop without batch padding
        run_cfg=dict(num_gpus=2, num_procs=2),
    )
    models.append(model)
# 指定评测集
with read_base():
    from .datasets.ceval.ceval_ppl import ceval_datasets    #数据集路径。
    
datasets = [*ceval_datasets]     #数据集,放于列表中

# python run.py configs/eval_demo.py -w outputs/firefly

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

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

相关文章

Ollama:本地大模型运行指南

Ollama 简介 Ollama 是一个基于 Go 语言开发的可以本地运行大模型的开源框架。 官网:ollama.com/ GitHub 地址:github.com/ollama/olla… Ollama 安装 下载安装 Ollama 在 Ollama 官网根据操作系统类型选择对应的安装包,这里选择 macOS…

带插画的登录页火爆一时,不过好像有点过气了,是么?

插画在B端登录页中的作用是通过增加视觉吸引力、塑造品牌形象、提升用户体验和增加可视化指引等方式,为用户提供一个愉悦、易用、具有个性化的登录体验。这有助于提高用户对企业或组织的认知和好感度,增加用户的参与度和忠诚度。 当年这种分割很火爆呀&…

npm install [Error]

npm install 依赖的时候报错 依赖版本问题的冲突,忽视即可 使用 npm install --legacy-peer-deps

基于MCAL的S32K312 SPI使用

本文参考“大胡子喵喵猪”大佬《S32K312配置SPI(基于MCAL)》https://blog.csdn.net/m0_64944741/article/details/134930744 0、简介 相比于参考文章,本文基于S32K312 介绍SPI的使用,主要是记录开发流程,本文基于《基…

后端之路第一站——Maven

前提:得会基础java 前言:不知道出于什么原因,可能是喜欢犯贱吧,本人从大一到大二都一直在专研前端开发,一点也没接触过后端,但是突然抽风想学后端了,想试着自己全栈搞一下项目,于是在…

邮件API接口的优势有哪些?如何有效整合?

邮件API怎么选?SendCloud与AokSend的性能对比分析? 邮件API接口作为企业与用户沟通的重要桥梁,其重要性不言而喻。Aok将深入探讨邮件API接口的优势、有效整合的方法、选择标准以及SendCloud与AokSend两款邮件发送服务的性能对比分析。 邮件…

【全开源】场地预定小程序支持微信小程序+微信公众号+H5

XYvenue是基于FastAdminUniApp开发的多场馆场地预定小程序,提供运动场馆运营解决方案,适用于体育馆、羽毛球馆、兵乒球馆、篮球馆、网球馆等场馆。 功能特性 1、场馆管理 可添加多个预约场馆,小程序端切换场馆显示。 2、场地管理 可添加多…

无线领夹麦克风怎么挑选?多款高性价比无线领夹麦克风推荐

说到领夹麦克风,可能有些朋友对这个名字感觉很陌生,但是对于互联网从业者以及短视频创作者应该会对这个名字比较熟悉。如果你是打算成为短视频创作者或者参与拍摄直播等项目,那这个设备就很有必要去了解甚至使用到。 因为想要拍摄出来的视频作…

企业或者个体户为什么会经营异常?

在复杂多变的市场经济环境中,无论是企业还是个体工商户,都可能遭遇经营异常的情况。及时识别这些预警信号并采取有效措施,对于避免潜在风险、保持健康发展至关重要。本文将深入探讨企业与个体户常见的经营异常类型、识别方法以及应对策略&…

【亚马逊云】注册APN账号及报考AWS认证考试说明演示

文章目录 1. 登录AWS网站2. 注册APN账号3. 更改APN账号密码(选)4. 修改APN账号信息(选)5. 查看AWS认证情况(选)6. AWS认证考试报名流程7. 修改报名控制台语言版本(选)8. 开始报名AWS…

使用Python处理Excel数据:去除列中的双引号

目录 引言 技术背景 步骤概述 代码示例 案例分析 扩展内容 1. 处理多个列中的双引号 2. 处理大型Excel文件 3. 自定义函数处理数据 4. 错误处理和日志记录 结论 引言 在当今信息爆炸的时代,数据已经成为了各个行业最宝贵的资源之一。而Excel&#xff0c…

百度Comate插件领50京东E卡

给你分享一个AI编码助手——百度Comate!扫码参与抽红包活动,520宠粉!送京东卡!https://url.xffjs.com/sMsP7m 流程如下 点击:点我传送 验证码登录账户 点击个人中心 复制License 去idea或者vscode安装插件 询问一…

亚马逊调整退货处理费,卖家如何应对新挑战?

在电子商务领域,退货处理一直是一个重要且复杂的问题。作为全球最大的电子商务平台之一,亚马逊一直在寻求优化退货处理流程,以平衡消费者满意度和运营成本。近日,亚马逊宣布自2024年6月1日起,将对退货处理费收取标准进…

VC++6.0 ListViewReport报表使用例子

操作步骤: 1,拖一个ListContorl控件 2,修改ID名称 3,设置Report样式 3,加入初始化代码 void CDuplicatefilesclearDlg::InitlizationListView() {CListCtrl *lstVew (CListCtrl*)GetDlgItem(IDC_LIST_Main);lstVew-&…

RabbitMQ的基本组件有哪些?

RabbitMQ的基本组件有哪些? RabbitMQ介绍、解耦、提速、削峰、分发 详解、RabbitMQ安装 可视化界面讲解 RabbitMQ 不生产消息,他是消息的搬运工。 1. Producer: 消息的发布者。 2. Connection:producer/comsumer 和 Message Broker 之间的 TCP 连接。 3…

Kubernetes的Service类型详解

1. Service详解 1.1 Service介绍 在Kubernetes中,Service资源解决了Pod IP地址不固定的问题,提供了一种更稳定和可靠的服务访问方式。以下是Service的一些关键特性和工作原理: Service的稳定性:由于Pod可能会因为故障、重启或扩…

gpt4o在哪用?

GPT-4o功能? 1.感知用户情绪:前沿研究部门主管陈信翰(Mark Chen)让ChatGPT-4o聆听他的呼吸,聊天机器人侦测到他急促的呼吸,并幽默地建议他不要像吸尘器那样呼吸,要放慢速度。随后Mark深呼吸一次…

vue嵌套路由

一、嵌套 children配置 1.父类路由 mymusic 2.子类路由 musicson 1.创建MusicSon组件 <template><div><p>从前和后来</p><p>唯一</p><p>运气来的似有若无</p></div> </template><script>export defaul…

element-ui dialog form 弹框表单组件封装

在使用 element-ui 进行后端管理系统开发时&#xff0c;在封装弹框表单时&#xff0c;遇到两个问题&#xff0c;这里进行简单记录&#xff1a; 1、问题一&#xff1a;点击关闭按钮及遮罩层关闭弹框时&#xff0c;页面报错&#xff0c;如下&#xff1a; 子组件封装&#xff1a;…

数据分析案例-印度美食数据可视化分析

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…