首页 > 其他分享 >书生实战营第四期-基础岛第六关-OpenCompass 评测书生大模型实践

书生实战营第四期-基础岛第六关-OpenCompass 评测书生大模型实践

时间:2024-11-14 21:17:10浏览次数:3  
标签:第四期 opencompass 评测 models 书生 -- api chat OpenCompass

基础任务

一、使用 OpenCompass 评测浦语 API 

1、创建用于评测 conda 环境

conda create -n opencompass python=3.10
conda activate opencompass

cd /root
git clone -b 0.3.3 https://github.com/open-compass/opencompass
cd opencompass
pip install -e .
pip install -r requirements.txt
pip install huggingface_hub==0.25.2

 

 

2、打开网站浦语官方地址 书生·浦语 获得 api key 和 api 服务地址 

3、配置模型

在终端中运行

cd /root/opencompass/ 

touch opencompass/configs/models/openai/puyu_api.py

打开文件, 贴入代码

import os
from opencompass.models import OpenAISDK


internlm_url = 'https://internlm-chat.intern-ai.org.cn/puyu/api/v1/' # 你前面获得的 api 服务地址
internlm_api_key = os.getenv('INTERNLM_API_KEY')

models = [
    dict(
        # abbr='internlm2.5-latest',
        type=OpenAISDK,
        path='internlm2.5-latest', # 请求服务时的 model name
        # 换成自己申请的APIkey
        key=internlm_api_key, # API key
        openai_api_base=internlm_url, # 服务地址
        rpm_verbose=True, # 是否打印请求速率
        query_per_second=0.16, # 服务请求速率
        max_out_len=1024, # 最大输出长度
        max_seq_len=4096, # 最大输入长度
        temperature=0.01, # 生成温度
        batch_size=1, # 批处理大小
        retry=3, # 重试次数
    )
]

4、配置数据集

在终端中运行 

cd /root/opencompass/ 

touch opencompass/configs/datasets/demo/demo_cmmlu_chat_gen.py

打开文件, 贴入代码

from mmengine import read_base

with read_base():
    from ..cmmlu.cmmlu_gen_c13365 import cmmlu_datasets


# 每个数据集只取前2个样本进行评测
for d in cmmlu_datasets:
    d['abbr'] = 'demo_' + d['abbr']
    d['reader_cfg']['test_range'] = '[0:1]' # 这里每个数据集只取1个样本, 方便快速评测.

5、得到结果

在终端中运行

python run.py --models puyu_api.py --datasets demo_cmmlu_chat_gen.py --debug.

这里运行时报错 ModuleNotFoundError: No module named 'rouge'

解决办法: pip uninstall rouge 之后再次安装 pip install rouge==1.0.1

 

 

二、使用 OpenCompass 评测 internlm2.5-chat-1.8b 模型在 ceval 数据集上的性能

1、安装相关软件包

cd /root/opencompass
conda activate opencompass
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia -y
apt-get update
apt-get install cmake
pip install protobuf==4.25.3
pip install huggingface-hub==0.23.2

 

2、 将数据集下载到本地

cp /share/temp/datasets/OpenCompassData-core-20231110.zip /root/opencompass/
unzip OpenCompassData-core-20231110.zip

3、 列出跟 InternLM 及 C-Eval 相关的配置

python tools/list_configs.py internlm ceval

4、 修改文件

打开 opencompass 文件夹下 configs/models/hf_internlm/的 hf_internlm2_5_1_8b_chat.py 文件修改

from opencompass.models import HuggingFacewithChatTemplate

models = [
    dict(
        type=HuggingFacewithChatTemplate,
        abbr='internlm2_5-1_8b-chat-hf',
        path='/share/new_models/Shanghai_AI_Laboratory/internlm2_5-1_8b-chat/',
        max_out_len=2048,
        batch_size=8,
        run_cfg=dict(num_gpus=1),
    )
]

# python run.py --datasets ceval_gen --models hf_internlm2_5_1_8b_chat --debug

5、评测 InternLM2-Chat-1.8B 模型在 C-Eval 数据集上的性能

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

 

6、评测结果

进阶任务

使用 OpenCompass 评测 InternLM2-Chat-1.8B 模型使用 LMDeploy部署后在 ceval 数据集上的性能

1、安装和部署模型

pip install lmdeploy==0.6.1 openai==1.52.0

lmdeploy serve api_server /share/new_models/Shanghai_AI_Laboratory/internlm2_5-1_8b-chat/ --server-port 23333

2、 成功部署以后输出

3、获取由 LMDeploy 注册的模型名称

from openai import OpenAI
client = OpenAI(
    api_key='sk-123456', # 可以设置成随意的字符串
    base_url="http://0.0.0.0:23333/v1"
)
model_name = client.models.list().data[0].id
model_name # 注册的模型名称需要被用于后续配置.

4、创建配置脚本

/root/opencompass/configs/models/hf_internlm/hf_internlm2_5_1_8b_chat_api.py

from opencompass.models import OpenAI

api_meta_template = dict(round=[
    dict(role='HUMAN', api_role='HUMAN'),
    dict(role='BOT', api_role='BOT', generate=True),
])

models = [
    dict(
        abbr='InternLM-2.5-1.8B-Chat',
        type=OpenAI,
        path='/share/new_models/Shanghai_AI_Laboratory/internlm2_5-1_8b-chat/', # 注册的模型名称
        key='sk-123456',
        openai_api_base='http://0.0.0.0:23333/v1/chat/completions', 
        meta_template=api_meta_template,
        query_per_second=1,
        max_out_len=2048,
        max_seq_len=4096,
        batch_size=8),
]

5、运行

opencompass --models hf_internlm2_5_1_8b_chat_api --datasets ceval_gen --debug # opencompass 命令基本等价于 python run.py 命令

6、测评结果

附笔记

1、OpenCompass 提供API 模式评测本地直接评测两种方式。

API 模式评测针对以 API 服务形式部署的模型,本地直接评测面向可以获取到模型权重文件的情况。

2、VLMEvalKit (python 包名为 vlmeval) 是一款专为大型视觉语言模型 (Large Vision-Language Models, LVLMs) 评测而设计的开源工具包。该工具支持在各种基准测试上对大型视觉语言模型进行一键评估,无需进行繁重的数据准备工作,让评估过程更加简便。

在 VLMEvalKit 中,对所有大型视觉语言模型生成的结果进行评测,并提供基于精确匹配基于 LLM 的答案提取两种评测结果。

标签:第四期,opencompass,评测,models,书生,--,api,chat,OpenCompass
From: https://blog.csdn.net/m0_75009117/article/details/143773458

相关文章

  • 书生大模型实战营第四期 L1G6000 OpenCompass 评测书生大模型实践
    评测书生大模型实践文章目录评测书生大模型实践前言评测API模型前言OpenCompass提供了API模式评测和本地直接评测两种方式。其中API模式评测针对那些以API服务形式部署的模型,而本地直接评测则面向那些可以获取到模型权重文件的情况。参考:https://github.......
  • 书生大模型实战营第4期——2.5 XTuner 微调个人小助手认知
    文章目录1学习内容及任务2环境配置和数据准备2.1创建虚拟环境2.2安装XTuner2.3验证安装XTuner3修改提供的数据3.1创建文件夹存放微调数据3.2创建修改脚本3.3执行脚本并查看数据4训练启动4.1复制模型4.2修改Config4.3启动微调4.4权重转换4.5模型合并5......
  • 书生大模型实训营第4期基础岛第一关:书生大模型全链路开源体系介绍
    书生大模型实训营第4期基础岛第一关:书生大模型全链路开源体系介绍1.书生·浦语的开源之路1.1模型发展历程1.2核心技术思路1.2.1模型训练迭代技术1.2.2基于规划和搜索解决复杂问题1.3书生·浦语开源模型谱系2.书生·浦语全链路开源体系结构2.1数据开源:书生·万......
  • dc-aichat(一款支持ChatGPT+智谱AI+讯飞星火+书生浦语大模型+Kimi.ai+MoonshotAI+豆包A
    dc-aichat一款支持ChatGPT+智谱AI+讯飞星火+书生浦语大模型+Kimi.ai+MoonshotAI+豆包AI等大模型的AIGC源码。全网最易部署,响应速度最快的AIGC环境。PHP版调用各种模型接口进行问答和对话,采用Stream流模式通信,一边生成一边输出。前端采用EventSource,支持Markdown格式解析,支持公式......
  • 书生大模型实战营第四期 L1G5000 XTuner 微调实践微调
    XTuner微调实践微调文章目录XTuner微调实践微调前言一、环境配置与数据准备修改提供的数据训练启动模型WebUI对话前言针对业务场景(如特殊自我认知的机器人)的微调能力一个属于自己的语言聊天机器人一、环境配置与数据准备本节中,我们将演示如何安装XTuner。......
  • 【书生实战营】L1G2000-玩转书生「多模态对话」与「AI搜索」产品
    MindSearch开源AI搜索引擎MindSearch:InternLM组织今年开源的AI搜索引擎(框架),基于多智能体技术将你提出的问题进行分析、拆解、网页搜索,最终给出有参考依据的高可信度回答。问题提问:目前生成式AI在学术和工业界有什么最新进展?2.2024年诺贝尔物理学奖为何会颁发......
  • 书生大模型实训营第4期—入门岛第4关:玩转HF/魔搭/魔乐社区
    书生大模型实训营第4期—入门岛第4关:玩转HF/魔搭/魔乐社区任务一:模型下载1.使用HuggingFace平台下载模型1.1HuggingFace平台1.2InternLM模型下载1.3GitHubCodeSpace的使用1.3.1下载internlm2_5-7b-chat的配置文件1.3.2下载internlm2_5-chat-1_8b并打印示例输出......
  • 【书生大模型L1 Prompt Is All You Need】
    文章目录1任务说明1.1基础任务(完成此任务即完成闯关)1.2进阶任务(闯关不要求完成此任务)达标要求2Prompt介绍2.1什么是Prompt(提示词)?2.2提示词的六大原则2.3提示词优化例子2.4提示设计框架2.4.1CRISPE2.4.2CO-STAR2.5LangGPT结构化提示词2.5.1LangGPT......
  • 拴柱说Mac之Mac的高效使用技巧第四期
    Mac凭借着其出色的过人之处,收获了非常多用户的喜爱,流畅的操作,高续航表现,还有出彩的屏幕,使得Mac不论是在日常当中的使用,还是在工作使用当中,都有着出色的表现,这也是许多用户选择它的理由那么不论是工作使用,还是日常追剧学习,多窗口的情况总是不可避免的,所以分屏在此刻是最好的选......
  • 书生大模型实战营第4期系列课程——1.1 InternStudio开发机和Linux基础
    书生大模型(InternLM2.5)是由上海人工智能实验室推出的书生·浦语系列模型的全新版本。相较于上一代,InternLM2.5全面增强了在复杂场景下的推理能力,支持1M超长上下文,能自主进行互联网搜索并从上百个网页中完成信息整合。开源链接:https://github.com/InternLM/InternLM书生大......