书生浦语第二期实战营——第七课_Compass

本文介绍了OpenCompass的理论背景,包括自研数据集和各种能力评测工具。实践部分详细说明了如何配置、运行和评估Internlm2-chat-1_8b模型,以及如何处理数据集和环境设置。最后,提供了作业指导,涉及创建新环境并执行模型性能评测。
摘要由CSDN通过智能技术生成

1 理论

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

更换后端:HF-vLLm

在这里插入图片描述

在这里插入图片描述

自研数据集

  • MathBench:数学能力
  • CriticBench:反思能力
  • T-Eval:细粒度工具
  • CreationBench:中文创作
  • F-Eval:基础能力评测
  • CIBench:代码解释能力

2 实践

启动opencom

  • 春命令行

  • 命令行——config

  • 进入compass

  • 激活

  • clone代码

  • 环境变量设置

  • run.py --datasets 模型的路径

    • 模型拷贝
    • data拷贝
    • max seq len:读入的token长度,场下问大些
    • max out len:模型的输出。客观小写,主观大写
    • batch size:
    • num gpus:
    • work dir:在这个路径下执行相关的操作。默认在output/default
    • reuse:最新的时间戳继续跑
    • debug:终端显示debug信息
    python run.py
    --datasets ceval_gen \
    --hf-path /share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b \  # HuggingFace 模型路径
    --tokenizer-path /share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b \  # HuggingFace tokenizer 路径(如果与模型路径相同,可以省略)
    --tokenizer-kwargs padding_side='left' truncation='left' trust_remote_code=True \  # 构建 tokenizer 的参数
    --model-kwargs device_map='auto' trust_remote_code=True \  # 构建模型的参数
    --max-seq-len 1024 \  # 模型可以接受的最大序列长度
    --max-out-len 16 \  # 生成的最大 token 数
    --batch-size 2  \  # 批量大小
    --num-gpus 1  # 运行模型所需的 GPU 数量
    --debug
    
  • config配置

逻辑

  • partiitioner:分片。多数据集、多模型。任务分发到机器上。
  • tasks:每片的执行
  • runner:集群、local,任务提交
  • openicl:推理、验证。怎么执行?
  • summarizers:总结结果。

自定义数据集

  • configs——datasets,新建脚本。(跑的时候修改ceval_gen.py里面的自定义文件)

    • ceal——版本——ceval_datasets列表的实现ceval_datasets.append(dict())

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    format 映射

  • opencompass——dataset。ceval 新建新的类——实现load方法(类与上面的ceval对应)

    • load方法:根目录与子集的名字拼接组成csv的文件名,读取内容,返回DatasetDict的类型。[{k:v},{},{}]
  • init。import

其他功能

  • 主观评测:config——subjective
  • 长文本评测:needlebench

3 作业

使用 OpenCompass 评测 internlm2-chat-1_8b 模型在 C-Eval 数据集上的性能

  • 新建开发机(Cuda11.7-conda,GPU 为10% )

  • 新建环境,clone代码

    studio-conda -o internlm-base -t opencompass
    conda activate opencompass
    git clone -b 0.2.4 https://github.com/open-compass/opencompass
    cd opencompass
    pip install -e .
    

    在这里插入图片描述

  • 数据集

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

    在这里插入图片描述

  • 环境变量设置

    export MKL_SERVICE_FORCE_INTEL=1
    export MKL_THREADING_LAYER=GNU
    pip install protobuf
    一定要主要查看报错!!否则出的结果是空的

  • run.py --datasets 模型的路径

    python run.py --datasets ceval_gen --hf-path /share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b --tokenizer-path /share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b --tokenizer-kwargs padding_side='left' truncation='left' trust_remote_code=True --model-kwargs trust_remote_code=True device_map='auto' --max-seq-len 1024 --max-out-len 16 --batch-size 2 --num-gpus 1 --debug

  • pip install protobuf

    在这里插入图片描述

在这里插入图片描述

缺少的依赖太多了,直接pip install -r requirements.txt

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

视频地址:https://www.bilibili.com/video/BV1Pm41127jU/
课程文档:https://github.com/InternLM/Tutorial/blob/camp2/opencompass/readme.md
课程作业:https://github.com/InternLM/Tutorial/blob/camp2/opencompass/homework.md

  • 18
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值