带你读《阿里云产品六月刊》——十一、阿里云PAI大模型评测最佳实践

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: 阿里云PAI大模型评测最佳实践

简介: 在大模型时代,模型评测是衡量性能、精选和优化模型的关键环节,对加快AI创新和实践至关重要。PAI大模型评测平台支持多样化的评测场景,如不同基础模型、微调版本和量化版本的对比分析。本文为您介绍针对于不同用户群体及对应数据集类型,如何实现更全面准确且具有针对性的模型评测,从而在AI领域可以更好地取得成就。

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

 

在大模型时代,模型评测是衡量性能、精选和优化模型的关键环节,对加快AI创新和实践至关重要。PAI大模型评测平台支持多样化的评测场景,如不同基础模型、微调版本和量化版本的对比分析。本文为您介绍针对于不同用户群体及对应数据集类型,如何实现更全面准确且具有针对性的模型评测,从而在AI领域可以更好地取得成就。

背景信息

内容简介

在大模型时代,随着模型效果的显著提升,模型评测的重要性日益凸显。科学、高效的模型评测,不仅能帮助开发者有效地衡量和对比不同模型的性能,更能指导他们进行精准地模型选择和优化,加速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中,方便细节查看与复现:https://github.com/modelscope/eval-scope

计费说明

PAI大模型评测依托于PAI-快速开始产品。快速开始本身不收费,但使用快速开始进行模型评测时,可能产生DLC评测任务费用,计费详情请参见分布式训练(DLC)计费说明

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

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

企业通常会积累丰富的私有领域数据。如何充分利用好这部分数据,是企业使用大模型进行算法优化的关键。因此,企业开发者在评测开源或微调后的大模型时,往往会基于私有领域下积累的自定义数据集,以便于更好地了解大模型在私有领域的效果。

 

对于自定义数据集评测,我们使用NLP领域标准的文本匹配方式,计算模型输出结果和真实结果的匹配度,值越大,模型越好。使用该评测方式,基于自己场景的独特数据,可以评测所选模型是否适合自己的场景。

 

以下将重点展示使用过程中的一些关键点,更详细的操作细节,请参见模型评测产品文档

 

1 准备自定义评测集

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

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

文件示例:��llmuses_general_qa_test.jsonl

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


 

上传符合格式的评测集文件至OSS,详情请参见上传文件至OSS

根据OSS中评测集文件创建评测集。详情请参见创建数据集:从阿里云云产品

2 选择适合业务的模型

a. 使用开源模型

PAI控制台左侧导航栏快速开始页面中,鼠标悬浮在模型卡片上,对于可评测的模型,会显示评测按钮。

当前模型评测功能支持HuggingFace所有AutoModelForCausalLM类型的模型。

 

image.png

 

b. 使用微调后的模型

PAI控制台左侧导航栏快速开始页面中,鼠标悬浮在模型卡片上,对于可评测的模型,会显示评测按钮。对可评测的模型进行微调训练,然后在快速开始 > 任务管理 > 训练任务页面中单击已训练成功的任务,右上角会显示评测按钮。

当前模型评测功能支持HuggingFace所有AutoModelForCausalLM类型的模型。

image.png

 

1) 创建并运行评测任务

 

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

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

 

参数

描述

数据集

选择上文所创建的自定义数据集。

结果输出路径

指定最终评测结果保存的OSS路径。

资源组类型

根据实际情况,选择公共资源组或通用计算资源。

任务资源

如果资源组类型为公共资源组时,默认会根据您的模型规格推荐相应资源。

 

c. 单击提交,任务开始运行。

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

 

4 查看评测结果

a. 单任务结果

当快速开始 > 任务管理 > 模型评测页面中评测任务的状态列显示已成功时,单击操作列的查看报告,在自定义数据集评测结果页面查看模型在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的匹配度。

image.png

最终评测结果会保存到之前设置的结果输出路径中。

 

b. 多任务对比

 

在快速开始 > 任务管理 > 模型评测页面中选中要对比的模型评测任务,右上角单击对比,在自定义数据集评测结果页面查看对比结果。

 

image.png

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

算法研究通常建立在公开数据集上。研究人员在选择开源模型,或对模型进行微调后,都会参考其在权威公开数据集上的评测效果。然而,大模型时代的公开数据集种类繁多,研究人员需要花费大量时间调研选择适合自己领域的公开数据集,并熟悉每个数据集的评测流程。为方便算法研究人员,PAI接入了多个领域的公开数据集,并完整还原了各个数据集官方指定的评测metrics,以便获取最准确的评测效果反馈,助力更高效的大模型研究。

 

在公开数据集评测中,我们通过对开源的评测数据集按领域分类,对大模型进行综合能力评估,例如数学能力、知识能力、推理能力等,值越大,模型越好,这种评测方式也是大模型领域最常见的评测方式。

 

以下将重点展示使用过程中的一些关键点,更详细的操作细节,请参见模型评测产品文档

 

1. 支持的公开数据集

 

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

 

数据集

大小

数据量

领域

MMLU

166MB

14042

知识

TriviaQA

14.3MB

17944

知识

C-Eval

1.55MB

12342

中文

CMMLU

1.08MB

11582

中文

GSM8K

4.17MB

1319

数学

HellaSwag

47.5MB

10042

推理

TruthfulQA

0.284MB

816

安全性

 

2. 选择适合的模型

 

2.1 查找开源模型

 

PAI控制台左侧导航栏快速开始页面中,鼠标悬浮在模型卡片上,对于可评测的模型,会显示评测按钮。

 

当前模型评测功能支持HuggingFace所有AutoModelForCausalLM类型的模型。

 

image.png

 

2.2. 使用微调后的模型

 

PAI控制台左侧导航栏快速开始页面中,鼠标悬浮在模型卡片上,对于可评测的模型,会显示评测按钮。对可评测的模型进行微调训练,然后在快速开始 > 任务管理 > 训练任务页面中单击已训练成功的任务,右上角会显示评测按钮。

 

当前模型评测功能支持HuggingFace所有AutoModelForCausalLM类型的模型。

 

image.png

 

3. 创建评测任务

 

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

 

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

参数

描述

数据集

选择公开数据集。

结果输出路径

指定最终评测结果保存的OSS路径。

资源组类型

根据实际情况,选择公共资源组或通用计算资源。

任务资源

如果资源组类型为公共资源组时,默认会根据您的模型规格推荐相应资源。

 

单击提交,任务开始运行。

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

 

4. 查看评测结果

 

4.1. 单任务结果

 

当快速开始 > 任务管理 > 模型评测页面中评测任务的状态列显示已成功时,单击操作列的查看报告,在公开数据集评测结果页面查看模型在各领域及数据集上的得分。

 

评测结果解析:

 

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

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

image.png

 

最终评测结果会保存到之前设置的结果输出路径中。

 

4.2. 多任务对比

 

在快速开始 > 任务管理 > 模型评测页面中选中要对比的模型评测任务,右上角单击对比,在公开数据集评测结果页面查看对比结果。

 

image.png

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
5天前
|
机器学习/深度学习 算法 前端开发
R语言基础机器学习模型:深入探索决策树与随机森林
【9月更文挑战第2天】决策树和随机森林作为R语言中基础且强大的机器学习模型,各有其独特的优势和适用范围。了解并熟练掌握这两种模型,对于数据科学家和机器学习爱好者来说,无疑是一个重要的里程碑。希望本文能够帮助您更好地理解这两种模型,并在实际项目中灵活应用。
|
4天前
|
机器学习/深度学习 数据采集 存储
一文读懂蒙特卡洛算法:从概率模拟到机器学习模型优化的全方位解析
蒙特卡洛方法起源于1945年科学家斯坦尼斯劳·乌拉姆对纸牌游戏中概率问题的思考,与约翰·冯·诺依曼共同奠定了该方法的理论基础。该方法通过模拟大量随机场景来近似复杂问题的解,因命名灵感源自蒙特卡洛赌场。如今,蒙特卡洛方法广泛应用于机器学习领域,尤其在超参数调优、贝叶斯滤波等方面表现出色。通过随机采样超参数空间,蒙特卡洛方法能够高效地找到优质组合,适用于处理高维度、非线性问题。本文通过实例展示了蒙特卡洛方法在估算圆周率π和优化机器学习模型中的应用,并对比了其与网格搜索方法的性能。
64 1
|
8天前
|
机器学习/深度学习 PHP 开发者
探索PHP中的面向对象编程构建你的首个机器学习模型:以Python和scikit-learn为例
【8月更文挑战第30天】在PHP的世界中,面向对象编程(OOP)是一块基石,它让代码更加模块化、易于管理和维护。本文将深入探讨PHP中面向对象的魔法,从类和对象的定义开始,到继承、多态性、封装等核心概念,再到实战中如何应用这些理念来构建更健壮的应用。我们将通过示例代码,一起见证PHP中OOP的魔力,并理解其背后的设计哲学。
|
7天前
|
机器学习/深度学习 存储 前端开发
实战揭秘:如何借助TensorFlow.js的强大力量,轻松将高效能的机器学习模型无缝集成到Web浏览器中,从而打造智能化的前端应用并优化用户体验
【8月更文挑战第31天】将机器学习模型集成到Web应用中,可让用户在浏览器内体验智能化功能。TensorFlow.js作为在客户端浏览器中运行的库,提供了强大支持。本文通过问答形式详细介绍如何使用TensorFlow.js将机器学习模型带入Web浏览器,并通过具体示例代码展示最佳实践。首先,需在HTML文件中引入TensorFlow.js库;接着,可通过加载预训练模型如MobileNet实现图像分类;然后,编写代码处理图像识别并显示结果;此外,还介绍了如何训练自定义模型及优化模型性能的方法,包括模型量化、剪枝和压缩等。
18 1
|
10天前
|
机器学习/深度学习
机器学习回归模型相关重要知识点总结
机器学习回归模型相关重要知识点总结
|
9天前
|
机器学习/深度学习 人工智能 Android开发
揭秘AI编程:从零开始构建你的第一个机器学习模型移动应用开发之旅:从新手到专家
【8月更文挑战第29天】本文将带你走进人工智能的奇妙世界,一起探索如何从零开始构建一个机器学习模型。我们将一步步解析整个过程,包括数据收集、预处理、模型选择、训练和测试等步骤,让你对AI编程有一个全面而深入的理解。无论你是AI初学者,还是有一定基础的开发者,都能在这篇文章中找到你需要的信息和启示。让我们一起开启这段激动人心的AI编程之旅吧! 【8月更文挑战第29天】在这篇文章中,我们将探索移动应用开发的奇妙世界。无论你是刚刚踏入这个领域的新手,还是已经有一定经验的开发者,这篇文章都将为你提供有价值的信息和指导。我们将从基础开始,逐步深入到更复杂的主题,包括移动操作系统的选择、开发工具的使用、
|
12天前
|
机器学习/深度学习 自动驾驶 算法
揭秘机器学习:用Python构建你的首个预测模型
【8月更文挑战第26天】 机器学习,这个听起来既神秘又遥不可及的领域,实际上正悄然改变着我们的世界。从推荐系统到自动驾驶汽车,机器学习技术无处不在。本文将带你走进机器学习的世界,通过一个简单的Python代码示例,展示如何构建一个基本的线性回归模型来预测房价。不需要复杂的数学公式或深奥的理论,我们将以最直观的方式理解机器学习的核心概念。无论你是编程新手还是数据科学爱好者,这篇文章都将为你打开一扇新的大门,让你看到数据背后的力量。
|
11天前
|
机器学习/深度学习 并行计算 PyTorch
PyTorch与CUDA:加速深度学习模型训练的最佳实践
【8月更文第27天】随着深度学习应用的广泛普及,高效利用GPU硬件成为提升模型训练速度的关键。PyTorch 是一个强大的深度学习框架,它支持动态计算图,易于使用且高度灵活。CUDA (Compute Unified Device Architecture) 则是 NVIDIA 开发的一种并行计算平台和编程模型,允许开发者直接访问 GPU 的并行计算能力。本文将详细介绍如何利用 PyTorch 与 CUDA 的集成来加速深度学习模型的训练过程,并提供具体的代码示例。
27 1
|
7天前
|
API UED 开发者
如何在Uno Platform中轻松实现流畅动画效果——从基础到优化,全方位打造用户友好的动态交互体验!
【8月更文挑战第31天】在开发跨平台应用时,确保用户界面流畅且具吸引力至关重要。Uno Platform 作为多端统一的开发框架,不仅支持跨系统应用开发,还能通过优化实现流畅动画,增强用户体验。本文探讨了Uno Platform中实现流畅动画的多个方面,包括动画基础、性能优化、实践技巧及问题排查,帮助开发者掌握具体优化策略,提升应用质量与用户满意度。通过合理利用故事板、减少布局复杂性、使用硬件加速等技术,结合异步方法与预设缓存技巧,开发者能够创建美观且流畅的动画效果。
26 0
|
7天前
|
开发者 算法 虚拟化
惊爆!Uno Platform 调试与性能分析终极攻略,从工具运用到代码优化,带你攻克开发难题成就完美应用
【8月更文挑战第31天】在 Uno Platform 中,调试可通过 Visual Studio 设置断点和逐步执行代码实现,同时浏览器开发者工具有助于 Web 版本调试。性能分析则利用 Visual Studio 的性能分析器检查 CPU 和内存使用情况,还可通过记录时间戳进行简单分析。优化性能涉及代码逻辑优化、资源管理和用户界面简化,综合利用平台提供的工具和技术,确保应用高效稳定运行。
17 0
下一篇
DDNS