阿里云PAI大模型评测最佳实践

news2024/10/25 2:23:29

作者:施晨、之用、南茵、求伯、一耘、临在

背景信息

内容简介

在大模型时代,随着模型效果的显著提升,模型评测的重要性日益凸显。科学、高效的模型评测,不仅能帮助开发者有效地衡量和对比不同模型的性能,更能指导他们进行精准地模型选择和优化,加速AI创新和应用落地。因此,建立一套平台化的大模型评测最佳实践愈发重要。本文为PAI大模型评测最佳实践,旨在指引AI开发人员使用PAI平台进行大模型评测。借助本最佳实践,您可以轻松构建出既能反映模型真实性能,又能满足行业特定需求的评测过程,助力您在人工智能赛道上取得更好的成绩。最佳实践包括如下内容:

  • 如何准备和选择评测数据集

  • 如何选择适合业务的开源或微调后模型

  • 如何创建评测任务并选择合适的评价指标

  • 如何在单任务或多任务场景下解读评测结果

平台亮点

PAI大模型评测平台,适合您针对不同的大模型评测场景,进行模型效果对比。例如:

  • 不同基础模型对比:Qwen2-7B-Instruct vs. Baichuan2-7B-Chat

  • 同一模型不同微调版本对比:Qwen2-7B-Instruct 在私有领域数据下训练不同 epoch 版本效果对比

  • 同一模型不同量化版本对比:Qwen2-7B-Instruct-GPTQ-Int4 vs. Qwen2-7B-Instruct-GPTQ-Int8

考虑到不同开发群体的特定需求,我们将以企业开发者算法研究人员两个典型群体为例,探讨如何结合常用的公开数据集(如MMLU、C-Eval等)与企业的自定义数据集,实现更全面准确并具有针对性的模型评测,查找适合您业务需求的大模型。最佳实践的亮点如下:

  • 端到端完整评测链路,无需代码开发,支持主流开源大模型,与大模型微调后的一键评测;

  • 支持用户自定义数据集上传,内置10+通用NLP评测指标,一览式结果展示,无需再开发评测脚本;

  • 支持多个领域的常用公开数据集评测,完整还原官方评测方法,雷达图全景展示,省去逐个下载评测集和熟悉评测流程的繁杂;

  • 支持多模型多任务同时评测,评测结果图表式对比展示,辅以单条评测结果详情,方便全方位比较分析;

  • 评测过程公开透明,结果可复现。评测代码开源在与ModelScope共建的开源代码库eval-scope中,方便细节查看与复现:GitHub - modelscope/eval-scope: A streamlined and customizable framework for efficient large model evaluation and performance benchmarking

前提条件

  • 已开通PAI并创建了默认工作空间。具体操作,请参见开通PAI并创建默认工作空间。

  • 如果选择自定义数据集评测,需要创建OSS Bucket存储空间,用来存放数据集文件。具体操作,请参见控制台创建存储空间。

使用费用

  • PAI大模型评测依托于PAI-快速开始产品。快速开始是PAI产品组件,集成了众多AI开源社区中优质的预训练模型,并且基于开源模型支持零代码实现从训练到部署再到推理的全部过程,给您带来更快、更高效、更便捷的AI应用体验。

  • 快速开始本身不收费,但使用快速开始进行模型评测时,可能产生DLC评测任务费用,计费详情请参见DLC计费说明。

  • 如果选择自定义数据集评测,使用OSS存储,会产生相关费用,计费详情请参见OSS计费概述。

场景一:面向企业开发者的自定义数据集评测

企业通常会积累丰富的私有领域数据。如何充分利用好这部分数据,是企业使用大模型进行算法优化的关键。因此,企业开发者在评测开源微调后的大模型时,往往会基于私有领域下积累的自定义数据集,以便于更好地了解大模型在私有领域的效果。对于自定义数据集评测,我们使用NLP领域标准的文本匹配方式,计算模型输出结果和真实结果的匹配度,值越大,模型越好。使用该评测方式,基于自己场景的独特数据,可以评测所选模型是否适合自己的场景。以下将重点展示使用过程中的一些关键点,更详细的操作细节,请参见模型评测产品文档。

1. 准备自定义评测集

1.1. 自定义评测集格式
  • 基于自定义数据集进行评测,需要提供JSONL格式的评测集文件

  • 文件格式:使用question标识问题列,answer标识答案列。

  • 文件示例:📎llmuses_general_qa_test.jsonl

[{"question": "中国发明了造纸术,是否正确?", "answer": "正确"}][{"question": "中国发明了火药,是否正确?", "answer": "正确"}]

  • 符合格式要求的评测集,可自行上传至OSS,并创建自定义数据集,详情参见上传OSS文件和创建及管理数据集。

1.2. 创建自定义评测集
  1. 登录PAI控制台。

  2. 在左侧导航栏选择AI资产管理>数据集,进入数据集页面

  3. 单击创建数据集

  4. 填写创建数据集相关表单,从OSS中选择您的自定义评测集文件

2. 选择适合业务的模型

2.1. 查找开源模型
  1. 在PAI控制台左侧导航栏选择快速开始,进入快速开始页面

  2. 单击快速开始提供的模型分类信息,直接进入到模型列表中,根据模型描述信息进行查看。

    3.单击进入模型详情页后,对于可评测的模型,会展示评测按钮。

    4.支持模型类型:当前模型评测支持HuggingFace所有AutoModelForCausalLM类型的模型

2.2. 使用微调后的模型
  1. 使用快速开始进行模型微调,详细步骤请参见模型部署及训练

  2. 微调完成后,在快速开始>任务管理>训练任务中,单击训练好的任务名称,进入任务详情页后,对于可评测的模型,右上角会展示评测按钮。

3. 创建评测任务

  1. 在模型详情页右上角单击评测,创建评测任务

  2. 新建评测任务页面,配置以下关键参数。

  3. 任务创建成功后,将自动分配资源,并开始运行。

  4. 运行完成后,任务状态显示为已成功。

4. 查看评测结果

4.1. 评测任务列表
  1. 快速开始页面,单击搜索框左侧的任务管理

  2. 任务管理页面,选择模型评测标签页。

4.2. 单任务结果
  1. 模型评测列表页,单击评测任务的查看报告选项,即可进入评测任务详情页

  2. 评测报告如下图所示,选择自定义数据集评测结果,将在雷达图展示该模型在ROUGE和BLEU系列指标上的得分。此外还会展示评测文件每条数据的评测详情。

自定义数据集的默认评测指标包括:rouge-1-f,rouge-1-p,rouge-1-r,rouge-2-f,rouge-2-p,rouge-2-r,rouge-l-f,rouge-l-p,rouge-l-r,bleu-1,bleu-2,bleu-3,bleu-4。

  • rouge-n类指标计算N-gram(连续的N个词)的重叠度,其中rouge-1和rouge-2是最常用的,分别对应unigram和bigram,rouge-l 指标基于最长公共子序列(LCS)。

  • bleu (Bilingual Evaluation Understudy) 是另一种流行的评估机器翻译质量的指标,它通过测量机器翻译输出与一组参考翻译之间的N-gram重叠度来评分。其中bleu-n指标计算n-gram的匹配度。

        3.最终评测结果会保存到您指定的OSS路径中

4.3. 多任务对比
  1. 当需要对比多个模型的评测结果时,可以将它们聚合在一个页面上展示,以便于比较效果。

  2. 具体操作为在模型评测任务列表页,左侧选择想要对比的模型评测任务,右上角单击对比,进入对比页面。

  3. 自定义数据集评测对比结果

场景二:面向算法研究人员的公开数据集评测

算法研究通常建立在公开数据集上。研究人员在选择开源模型,或对模型进行微调后,都会参考其在权威公开数据集上的评测效果。然而,大模型时代的公开数据集种类繁多,研究人员需要花费大量时间调研选择适合自己领域的公开数据集,并熟悉每个数据集的评测流程。为方便算法研究人员,PAI接入了多个领域的公开数据集,并完整还原了各个数据集官方指定的评测metrics,以便获取最准确的评测效果反馈,助力更高效的大模型研究。在公开数据集评测中,我们通过对开源的评测数据集按领域分类,对大模型进行综合能力评估,例如数学能力、知识能力、推理能力等,值越大,模型越好,这种评测方式也是大模型领域最常见的评测方式。以下将重点展示使用过程中的一些关键点,更详细的操作细节,请参见模型评测产品文档。

1. 支持的公开数据集

  • 目前PAI维护的公开数据集包括MMLU、TriviaQA、HellaSwag、GSM8K、C-Eval、CMMLU、TruthfulQA,其他公开数据集陆续接入中。

2. 选择适合的模型

2.1. 查找开源模型
  1. 在PAI控制台左侧导航栏选择快速开始,进入快速开始页面

  2. 单击快速开始提供的模型分类信息,直接进入到模型列表中,根据模型描述信息进行查看。

        3.单击进入模型详情页后,对于可评测的模型,会展示评测按钮。

        4.支持模型类型:当前模型评测支持HuggingFace所有AutoModelForCausalLM类型的模型

2.2. 使用微调后的模型
  1. 使用快速开始进行模型微调,详细步骤请参见模型部署及训练

  2. 微调完成后,在快速开始>任务管理>训练任务中,单击训练好的任务名称,进入任务详情页后,对于可评测的模型,右上角会展示评测按钮。

3. 创建评测任务

  1. 在模型详情页右上角单击评测,创建评测任务

  2. 新建评测任务页面,配置以下关键参数。本文以MMLU数据集为例。

  3. 任务创建成功后,将自动分配资源,并开始运行。

  4. 运行完成后,任务状态显示为已成功。

4. 查看评测结果

4.1. 评测任务列表
  1. 快速开始页面,单击搜索框左侧的任务管理

  2. 任务管理页面,选择模型评测标签页。

4.2. 单任务结果
  1. 模型评测列表页,单击评测任务的查看报告选项,即可进入评测任务详情页

  2. 评测报告如下图所示,选择公开数据集评测结果,将在雷达图展示该模型在公开数据集上的得分。

  • 左侧图片展示了模型在不同领域的得分情况。每个领域可能会有多个与之相关的数据集,对属于同一领域的数据集,我们会把模型在这些数据集上的评测得分取均值,作为领域得分。

  • 右侧图片展示模型在各个公开数据集的得分情况。每个公开数据集的评测范围详见该数据集官方介绍。

        3.最终评测结果会保存到您指定的OSS路径中

4.3. 多任务对比
  1. 当需要对比多个模型的评测结果时,可以将它们在聚合在一个页面上展示,以便于比较效果。

  2. 具体操作为在模型评测任务列表页,左侧选择想要对比的模型评测任务,右上角单击对比,进入对比页面。

  3. 公开数据集评测对比结果

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

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

相关文章

OS复习笔记ch11-3

接下来,我们简单地回顾一下I/O缓冲(之前在ch5-4-1的时候有提到过) I/O缓冲 背景: 假设进程I/O需要在灰色区间读写,而灰色区间由于阻塞而被对换出去了,此时OS找不到对应的内存地址,这样就容易发…

Shell脚本、相关命令;重定向、管道符、变量相关命令讲解

目录 Shell脚本 概念 执行命令流程的交互区别 交互式 非交互式 Shell脚本应用场景 Shell的作用 Shell的作用 —— 命令解释器,“翻译官” 列出系统中全部解释器 实验 脚本的基本书写格式和执行命令 在子bash下执行脚本 指定解释器的方式执行脚本 指定…

nodejs的await和async

例子 const fs require(fs).promises;async function getFileContent(filePath) {const content await fs.readFile(filePath, utf8); console.log(content); // 这行会在文件读取完成后执行 }getFileContent(example.txt); console.log(123); // 这行会立即执行输出结果&…

/usr/bin/ld: 当搜索用于 /lib/i386-linux-gnu/libcuda.so 时跳过不兼容的 -lcuda

/usr/bin/ld: 当搜索用于 /lib/i386-linux-gnu/libcuda.so 时跳过不兼容的 -lcuda ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/023dbdeb215b4b4580f7f54706e32af9.pn当使用unsloth做微调时,发现找不到libcuda,很自然想到需要软链接到最新…

2024最新AI大模型-LLm八股合集(八)-Transformer模型

更多2024最新AI大模型-LLm八股合集可以拉到文末!!! MHA & MQA & MGA (1)MHA 从多头注意力的结构图中,貌似这个所谓的多个头就是指多组线性变换层,其实并不是,只有使用了一…

PS去除logo背景

一、打开图片 二、点击通道选择色差最明显的通道 三、复制通道 四、点击载入 五、反选ctrlshifti(鼠标右键亦可,然后调整下范围) 六、点击图层,复制图层(ctrlJ) (先确保图层是解锁的&#xff0…

二叉树-输出二叉树的右视图

目录 一、问题描述 二、解题思路 三、代码实现 四、刷题链接 一、问题描述 二、解题思路 这里右视图类似于立方体的右视图,从右边看每一层第一个看到的结点的集合就是需要返回的结果,注意返回的结点是有相对顺序的,比如上面的1,3,5对应第…

[WTL/Win32]_[中级]_[MVP架构在实际项目中的应用]

场景 在开发Windows和macOS的界面软件时,Windows用的是WTL/Win32技术,而macOS用的是Cocoa技术。而两种技术的本地语言一个主打是C,另一个却是Object-c。界面软件的源码随着项目功能增多而增多,这就会给同步Windows和macOS的功能造成很大负担…

APM Profile 在系统可观测体系中的应用

引言 应用程序性能分析(Application Performance Management,APM)是一个广泛的概念,涉及应用程序运行时各种性能指标的监测、诊断和优化。在可观测体系建设中,APM 是保障系统业务运行性能的关键技术,确保用…

堆优化版Dijkstra求最短路-java

主要通过堆优化Dijkstra算法解决最短路,可以跟朴素版的Dijkstra算法进行对比。 文章目录 前言 一、Dijkstra求最短路 二、算法思路 1.邻接表存储图 2.用小根堆优化Dijkstra 三、代码如下 1.代码如下(示例): 2.读入数据 3.代码运行…

OpenGL绘制Bezier曲面

Bezier的定义 贝塞尔曲面是贝塞尔曲线在二维上的扩展。它由一组控制点定义,通过这些控制点生成光滑的曲面。贝塞尔曲面通常用两个参数 u u u和 v v v来表示,这两个参数的取值范围都在 [0, 1] 之间。 数学表示 P ( u , v ) = ∑ i = 0 n ∑ j = 0 m p i j ⋅ B i , n ( u ) ⋅…

基于ysoserial的深度利用研究(命令回显与内存马)

0x01 前言 很多小伙伴做反序列化漏洞的研究都是以命令执行为目标,本地测试最喜欢的就是弹计算器,但没有对反序列化漏洞进行深入研究,例如如何回显命令执行的结果,如何加载内存马。 遇到了一个实际环境中的反序列化漏洞&#xff…

text2vec 如何选择 chunksize 和 splitter?

0x00 导读 对 text2vec 来说,chunksize 选多大合适? 应该选择哪种 splitter ? BCE 还是 BGE ? 面对这些 RAG 问题,本文根据 text2vec 模型原理做假设,并用 HuixiangDou 真实数据验证,最终给出…

上海晋名室外危化品暂存柜助力国有控股高科技企业危化品安全储存

近日又有一台SAVEST室外危化品暂存柜项目成功验收交付使用,此次项目主要用于国有控股高科技企业油漆、固化剂及一些危废品的安全储存。 用户单位是一家国有控股、产权多元化的现代高科技企业。用户在日常工作运营中涉及到油漆、固化剂等危化品及一些危废品的室外安…

鄂州职业大学2024年成人高等继续教育招生简章

鄂州职业大学,作为一所享有盛誉的高等学府,一直以来都致力于为社会培养具备专业技能和良好素养的优秀人才。在成人高等继续教育领域,该校同样表现出色,为广大渴望继续深造、提升自身能力的成年人提供了宝贵的学习机会。 随着社会…

android关于源码编译简单的apk处理

文章目录 简述文件的添加 简述 创建AOSP源码可编译一个简单apk的过程,代码子目录结构图如下所示 文件的添加 1.com.custom.test目录下创建TestActivity.java文件 用于简单的界面显示类 package com.custom.test;import android.app.Activity; import android.o…

DY-110DP低电压继电器 25-124V 嵌入式安装 约瑟JOSEF

系列型号 DY-110电压继电器;GY-110电压继电器; GDY-110电压继电器;DY-110/AC电压继电器; GY-110/AC电压继电器;GDY-110/AC电压继电器; DL-110电压继电器;GL-110电压继电器; DL-…

【SD3的Turbo也来了】Jasper AI用Flash Diffusion的蒸馏技术为SD3提速

Flash Diffusion 是一种新颖的图像生成方法,旨在显著提高现有条件扩散模型(例如教师模型)的速度,而无需牺牲性能。它通过引入以下技术来实现这一点: 蒸馏损失:在教师模型和学生模型之间引入蒸馏损失&#…

深信服科技:2023网络钓鱼趋势分析报告

随着互联网的快速发展和广泛应用,网络钓鱼活动带来的安全隐患愈演愈烈。因应威胁发展,我 们编撰了此份分析报告,旨在全面了解其发展态势,并提醒相关部门、企业和公众加强防范。 在本报告中,我们将详细梳理网络钓鱼的近…

【Git】基础操作

初识Git 版本控制的方式: 集中式版本控制工具:版本库是集中存放在中央服务器的,team里每个人work时从中央服务器下载代码,是必须联网才能工作,局域网或者互联网。个人修改之后要提交到中央版本库 例如:SVM和…