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

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,5000CU*H 3个月
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 在大模型时代,模型评测是衡量性能、精选和优化模型的关键环节,对加快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. 准备自定义评测集

  1. 基于自定义数据集进行评测,需要提供JSONL格式的评测集文件
[{"question": "中国发明了造纸术,是否正确?", "answer": "正确"}]
[{"question": "中国发明了火药,是否正确?", "answer": "正确"}]
  1. 上传符合格式的评测集文件至OSS,详情请参见上传文件至OSS
  2. 根据OSS中评测集文件创建评测集。详情请参见创建数据集:从阿里云云产品

2. 选择适合业务的模型

2.1. 使用开源模型

  1. PAI控制台左侧导航栏快速开始页面中,鼠标悬浮在模型卡片上,对于可评测的模型,会显示评测按钮。
  1. 当前模型评测功能支持HuggingFace所有AutoModelForCausalLM类型的模型。

image.png

2.2. 使用微调后的模型

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

image.png

3. 创建并运行评测任务

  1. 在模型详情页右上角单击评测,创建评测任务
  2. 新建评测任务页面,配置以下关键参数。

参数

描述

数据集

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

结果输出路径

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

资源组类型

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

任务资源

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

  1. 单击提交,任务开始运行。
  2. 运行完成后,任务状态显示为已成功。

4. 查看评测结果

4.1. 单任务结果

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

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

4.2. 多任务对比

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

image.png

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

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

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

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

1. 支持的公开数据集

  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. 查找开源模型

  1. PAI控制台左侧导航栏快速开始页面中,鼠标悬浮在模型卡片上,对于可评测的模型,会显示评测按钮。
  1. 当前模型评测功能支持HuggingFace所有AutoModelForCausalLM类型的模型。

image.png

2.2. 使用微调后的模型

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

image.png

3. 创建评测任务

  1. 在模型详情页右上角单击评测,创建评测任务
  2. 新建评测任务页面,配置以下关键参数。本文以MMLU数据集为例。

参数

描述

数据集

选择公开数据集。

结果输出路径

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

资源组类型

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

任务资源

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

  1. 单击提交,任务开始运行。
  2. 运行完成后,任务状态显示为已成功。

4. 查看评测结果

4.1. 单任务结果

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

评测结果解析:

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

image.png

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

4.2. 多任务对比

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

image.png

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
9天前
|
机器学习/深度学习 算法 数据可视化
机器学习模型中特征贡献度分析:预测贡献与错误贡献
本文将探讨特征重要性与特征有效性之间的关系,并引入两个关键概念:预测贡献度和错误贡献度。
38 3
|
5天前
|
存储 人工智能 并行计算
Pai-Megatron-Patch:围绕Megatron-Core打造大模型训练加速生态
Pai-Megatron-Patch(https://github.com/alibaba/Pai-Megatron-Patch)是阿里云人工智能平台PAI研发的围绕Nvidia MegatronLM的大模型开发配套工具,旨在帮助开发者快速上手大模型,完成大模型(LLM)相关的高效分布式训练,有监督指令微调,下游任务评估等大模型开发链路。最近一年来,我们持续打磨Pai-Megatron-Patch的性能和扩展功能,围绕Megatron-Core(以下简称MCore)进一步打造大模型训练加速技术生态,推出更多的的训练加速、显存优化特性。
|
3天前
|
机器学习/深度学习 数据可视化 JavaScript
探索机器学习模型的可视化技术
【9月更文挑战第23天】在数据科学中,理解和解释机器学习模型的决策过程是至关重要的。本文将介绍几种流行的可视化工具和库,如TensorBoard、D3.js等,帮助读者更好地理解模型内部工作原理及其预测结果。通过实例演示如何使用这些工具进行模型可视化,增强模型的可解释性。
|
17天前
|
机器学习/深度学习 Python
验证集的划分方法:确保机器学习模型泛化能力的关键
本文详细介绍了机器学习中验证集的作用及其划分方法。验证集主要用于评估模型性能和调整超参数,不同于仅用于最终评估的测试集。文中描述了几种常见的划分方法,包括简单划分、交叉验证、时间序列数据划分及分层抽样划分,并提供了Python示例代码。此外,还强调了在划分数据集时应注意随机性、数据分布和多次实验的重要性。合理划分验证集有助于更准确地评估模型性能并进行有效调优。
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
机器学习模型之深度神经网络的特点
深度神经网络(Deep Neural Networks, DNNs)是一类机器学习模型,通过多个层级(层)的神经元来模拟人脑的工作方式,从而实现复杂的数据处理和模式识别任务。
24 1
|
26天前
|
机器学习/深度学习 算法 前端开发
R语言基础机器学习模型:深入探索决策树与随机森林
【9月更文挑战第2天】决策树和随机森林作为R语言中基础且强大的机器学习模型,各有其独特的优势和适用范围。了解并熟练掌握这两种模型,对于数据科学家和机器学习爱好者来说,无疑是一个重要的里程碑。希望本文能够帮助您更好地理解这两种模型,并在实际项目中灵活应用。
|
25天前
|
机器学习/深度学习 数据采集 存储
一文读懂蒙特卡洛算法:从概率模拟到机器学习模型优化的全方位解析
蒙特卡洛方法起源于1945年科学家斯坦尼斯劳·乌拉姆对纸牌游戏中概率问题的思考,与约翰·冯·诺依曼共同奠定了该方法的理论基础。该方法通过模拟大量随机场景来近似复杂问题的解,因命名灵感源自蒙特卡洛赌场。如今,蒙特卡洛方法广泛应用于机器学习领域,尤其在超参数调优、贝叶斯滤波等方面表现出色。通过随机采样超参数空间,蒙特卡洛方法能够高效地找到优质组合,适用于处理高维度、非线性问题。本文通过实例展示了蒙特卡洛方法在估算圆周率π和优化机器学习模型中的应用,并对比了其与网格搜索方法的性能。
151 1
|
28天前
|
机器学习/深度学习 PHP 开发者
探索PHP中的面向对象编程构建你的首个机器学习模型:以Python和scikit-learn为例
【8月更文挑战第30天】在PHP的世界中,面向对象编程(OOP)是一块基石,它让代码更加模块化、易于管理和维护。本文将深入探讨PHP中面向对象的魔法,从类和对象的定义开始,到继承、多态性、封装等核心概念,再到实战中如何应用这些理念来构建更健壮的应用。我们将通过示例代码,一起见证PHP中OOP的魔力,并理解其背后的设计哲学。
|
27天前
|
机器学习/深度学习 存储 前端开发
实战揭秘:如何借助TensorFlow.js的强大力量,轻松将高效能的机器学习模型无缝集成到Web浏览器中,从而打造智能化的前端应用并优化用户体验
【8月更文挑战第31天】将机器学习模型集成到Web应用中,可让用户在浏览器内体验智能化功能。TensorFlow.js作为在客户端浏览器中运行的库,提供了强大支持。本文通过问答形式详细介绍如何使用TensorFlow.js将机器学习模型带入Web浏览器,并通过具体示例代码展示最佳实践。首先,需在HTML文件中引入TensorFlow.js库;接着,可通过加载预训练模型如MobileNet实现图像分类;然后,编写代码处理图像识别并显示结果;此外,还介绍了如何训练自定义模型及优化模型性能的方法,包括模型量化、剪枝和压缩等。
29 1
|
30天前
|
机器学习/深度学习
机器学习回归模型相关重要知识点总结
机器学习回归模型相关重要知识点总结

相关产品

  • 人工智能平台 PAI