PAI-EasyTransfer应用实践

简介: 阿里算法专家李鹏(同润)在阿里云开发者社区特别栏目《周二开源日》直播中,介绍PAI上大规模分布式预训练,DSW环境中基于ModelZoo的文本分类实践,Fashionbert训练和评测实践,PAI上基于AppZoo的应用实践。本文为直播内容文字整理,看直播回放,请点击文首链接~

查看精彩回放:https://developer.aliyun.com/live/245530



大纲:

本文主要围绕实践做四部分的介绍,由浅入深层层递进,这四部分是:

  • AppZoo实践
  • ModelZoo实践
  • 分布式训练实践
  • 多模态Fashionbert实践

 

一、AppZoo实践

AppZoo像苹果的应用商店一样简单易用,里面的应用丰富多样,有分类匹配、阅读理解、序列标注和文本生成。

image.png

文本分类实践

在操作文本分类前,首先可以先熟悉下Easy-Transfor文档,了解下文本分类的流程,基本可以在云端完成操作AppZoo的文本分类的组件。

 

如下图所示,文本分类由几部分组成:

  • 原始文本
  • 文本预处理,处理成Bert需要的表征格式;
  • 然后送入Bert分类器产生标签。

 

如何在云端基于AppZoo操作文本分类,整个过程只需在本地起一个Job然后发送到云端,通过一些简单的配置就可以完成文本分类的应用了。

image.png

 

演示实践

基于本地的开发环境,首先上传所需的业务数据,如下图所示。

1.png

这是最简单的一句话的分类。左边是一句话,右边是这句话对应的label,比如第一句话“上课时老师手机响的不停”对应的是108。把这些实际的分类的标签映射成离散的值。

 

然后运行一下脚本,把业务数据的训练集和验证集上传到阿里云的ODPS的数据存储空间里。

1.png

然后在本地启动脚本,自动地运行文本分类。首先需要指定pi命令,这里叫做easy_transfer_app,然后指定训练模式和刚刚上传的训练集和验证机的名字。然后再告诉EasyTransfer AppZoo什么是标签及标签的类型。

1.png

当所有的都配置好后,只需要在本地运行app.run_sh,就能把任务提交到阿里云上的服务器集群上,由这个集群负责文本分类的应用。

 

一些常用的自然语言处理所需要的功能,高度抽象地封装成了一个个组件供大家调用,又简单又便捷,这就是AppZoo的好处。

 

任务启动后,如果想要检查日志状况可以通过Cloud View查看。

1.png

 

当初始化脚本完成后,Easy-Transfer AppZoo提供了强大的日志功能,用来记录化器以及warm up step等等,甚至是Bert里面用到的参数量等信息都会被详细的记录下来。

 

如下图所示,在云端PAI平台上已经成功启动了单机四卡,一个分布式的任务来做文本分类。

 1.png

当操作完成后,系统会把Model Dir记录在阿里云上一个OSS对象存储空间里。

 

二、ModelZoo实践

 

自然语言处理的套路方法趋向于统一化,分为以下这么四个步骤:通用领域的预训练、垂直领域的预训练、垂直领域的Finetune和通用知识蒸馏。

 1.png

现在启动云端的run tf summary,看一下选的这个预训练模型是否收敛了。

1.png 

 

通过tensor board看一下是否真的收敛了。我们在EasyTransfer里面放了很多实践,这里面average loss就是最佳实践,它植入了一个滑动窗口,上面积累了loss,从而能从宏观上看到loss走向。

1.png 

 

EasyTransfer设计了前后端分离的模式,用户仅仅需要聚焦在他修改的那一部分的前端代码,他可以很轻松地像搭积木的方式去尝试各种各样的chick

 1.png


下面演示一下如何调试。要做一个文本分类,我只需要做几个关键的步骤,第一是数据准备,第二是定义配置文件,第三个是定义分类应用,第四是启动训练,第五是启动预测。

 1.png


接下来看下载的数据到底是什么样子。在这里,数据是农业的分类,内容就是一句话,训练集样本数有1万多条,训练样本1万多条。接下来为了完成一个训练任务,需要去简单配置一下,包括分类的label数。接下来看一些代码,了解我们前端的API是什么样子的,把APP Zoo的黑盒变白盒。

1.png

 

现在运行这个cell,运行后这个构图的loss就完成了,然后启动训练。这里的日志训练样本有5万多条,我们在浏览器中就能完成经典的文本分类任务。

 1.png

 

接下来开始进行在线预测。在finetune环节,当PAI代码已经固化了之后,完全可以仅去调配置文件。基于PAI DSW,进一步调参前端代码。

 1.png

三、分布式训练实践

 

在做大量业务数据的垂直领域的预训练模型时,需要我们具备全栈思维,它需要具备以下要素。

 

首先要了解集群的分布,机柜里每一片都是主机。显卡是4块一组,它们通过某种桥接的方式在主机内部进行高速的通信。其次是RDMA,它可以把机器内存直接连起来,让他们直接进行数据通信,它通信的是梯度。然后是数据并行,它可以通过增加机器来把不同的数据放到不同的GPU上,增加训练速度。

 1.png

 

PAI上进行多机多卡分布式预训练时,使用参数也非常简单。EasyTransfer已经将复杂的预训练过程抽象成了几个公共组件,在数据准备、特征生成和训练过程中都可以直接用。

 1.png

 

实践演示

 

开始还是简单的配置,然后开启编译优化,打开RDMA,选择mlm loss等等,配置完之后输入命令run pretrain,启动一个88卡共64张卡的任务。

 1.png


然后点击logview,可以看到88卡。并且,在云端做高性能、分布式、超大规模的训练非常简单,因为EasyTransfer已经将常规组件封装在了script里。

 1.png

 

多模态Fashionbert实践

 

多模态本质上是将文本的模态和图像、视频、声音等各个模态的信息混合起来,学习出他们交互的表征,用到下游的视频分类、跨模态检索、VQA等等,它的目的是通过增加模态来提升下游任务的指标。那么如何通过EasyTransfer来从头开始构建变种版bert呢,我们研发了一种叫Fashionbert的概念。

1.png

 

二次开发实践

 

作为一个平台开发人员,当要增加新的功能的时候,需要run Fashionbert,比如run train。看一下左上角,这里唯一需要做的就是在ModelZoo里面定义一个多模态的bert,而里面各种各样的组件都封装好了,让搭建非常简单。

 1.png

 

最后附上EasyTransfer的开源信息,大家可以通过这些渠道有进一步了解。

 image.png

 

本次分享就到这里了,欢迎大家在GitHub上共建EasyTransfer社区。

 

相关实践学习
使用PAI+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
9月前
|
人工智能 自然语言处理 数据挖掘
云上玩转Qwen3系列之三:PAI-LangStudio x Hologres构建ChatBI数据分析Agent应用
PAI-LangStudio 和 Qwen3 构建基于 MCP 协议的 Hologres ChatBI 智能 Agent 应用,通过将 Agent、MCP Server 等技术和阿里最新的推理模型 Qwen3 编排在一个应用流中,为大模型提供了 MCP+OLAP 的智能数据分析能力,使用自然语言即可实现 OLAP 数据分析的查询效果,减少了幻觉。开发者可以基于该模板进行灵活扩展和二次开发,以满足特定场景的需求。
|
9月前
|
人工智能 JSON 算法
【解决方案】DistilQwen2.5-DS3-0324蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践
DistilQwen 系列是阿里云人工智能平台 PAI 推出的蒸馏语言模型系列,包括 DistilQwen2、DistilQwen2.5、DistilQwen2.5-R1 等。本文详细介绍DistilQwen2.5-DS3-0324蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践。
|
5月前
|
机器学习/深度学习 数据采集 算法
量子机器学习入门:三种数据编码方法对比与应用
在量子机器学习中,数据编码方式决定了量子模型如何理解和处理信息。本文详解角度编码、振幅编码与基础编码三种方法,分析其原理、实现及适用场景,帮助读者选择最适合的编码策略,提升量子模型性能。
456 8
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
Java 大视界 -- Java 大数据机器学习模型在自然语言生成中的可控性研究与应用(229)
本文深入探讨Java大数据与机器学习在自然语言生成(NLG)中的可控性研究,分析当前生成模型面临的“失控”挑战,如数据噪声、标注偏差及黑盒模型信任问题,提出Java技术在数据清洗、异构框架融合与生态工具链中的关键作用。通过条件注入、强化学习与模型融合等策略,实现文本生成的精准控制,并结合网易新闻与蚂蚁集团的实战案例,展示Java在提升生成效率与合规性方面的卓越能力,为金融、法律等强监管领域提供技术参考。
|
6月前
|
机器学习/深度学习 算法 Java
Java 大视界 -- Java 大数据机器学习模型在生物信息学基因功能预测中的优化与应用(223)
本文探讨了Java大数据与机器学习模型在生物信息学中基因功能预测的优化与应用。通过高效的数据处理能力和智能算法,提升基因功能预测的准确性与效率,助力医学与农业发展。
|
6月前
|
机器学习/深度学习 搜索推荐 数据可视化
Java 大视界 -- Java 大数据机器学习模型在电商用户流失预测与留存策略制定中的应用(217)
本文探讨 Java 大数据与机器学习在电商用户流失预测与留存策略中的应用。通过构建高精度预测模型与动态分层策略,助力企业提前识别流失用户、精准触达,实现用户留存率与商业价值双提升,为电商应对用户流失提供技术新思路。
|
6月前
|
机器学习/深度学习 存储 分布式计算
Java 大视界 --Java 大数据机器学习模型在金融风险压力测试中的应用与验证(211)
本文探讨了Java大数据与机器学习模型在金融风险压力测试中的创新应用。通过多源数据采集、模型构建与优化,结合随机森林、LSTM等算法,实现信用风险动态评估、市场极端场景模拟与操作风险预警。案例分析展示了花旗银行与蚂蚁集团的智能风控实践,验证了技术在提升风险识别效率与降低金融风险损失方面的显著成效。
|
9月前
|
机器学习/深度学习 数据采集 人工智能
智能嗅探AJAX触发:机器学习在动态渲染中的创新应用
随着Web技术发展,动态加载数据的网站(如今日头条)对传统爬虫提出新挑战:初始HTML无完整数据、请求路径动态生成且易触发反爬策略。本文以爬取“AI”相关新闻为例,探讨了通过浏览器自动化、抓包分析和静态逆向接口等方法采集数据的局限性,并提出借助机器学习智能识别AJAX触发点的解决方案。通过特征提取与模型训练,爬虫可自动推测数据接口路径并高效采集。代码实现展示了如何模拟AJAX请求获取新闻标题、简介、作者和时间,并分类存储。未来,智能化将成为采集技术的发展趋势。
256 1
智能嗅探AJAX触发:机器学习在动态渲染中的创新应用
|
7月前
|
机器学习/深度学习 分布式计算 Java
Java 大视界 -- Java 大数据机器学习模型在遥感图像土地利用分类中的优化与应用(199)
本文探讨了Java大数据与机器学习模型在遥感图像土地利用分类中的优化与应用。面对传统方法效率低、精度差的问题,结合Hadoop、Spark与深度学习框架,实现了高效、精准的分类。通过实际案例展示了Java在数据处理、模型融合与参数调优中的强大能力,推动遥感图像分类迈向新高度。
|
7月前
|
机器学习/深度学习 存储 Java
Java 大视界 -- Java 大数据机器学习模型在游戏用户行为分析与游戏平衡优化中的应用(190)
本文探讨了Java大数据与机器学习模型在游戏用户行为分析及游戏平衡优化中的应用。通过数据采集、预处理与聚类分析,开发者可深入洞察玩家行为特征,构建个性化运营策略。同时,利用回归模型优化游戏数值与付费机制,提升游戏公平性与用户体验。