Easy Transfer:深度迁移学习框架|学习笔记

简介: 快速学习 Easy Transfer:深度迁移学习框架。

开发者学堂课程【PAL 平台学习路线:机器学习入门到应用:Easy Transfer:深度迁移学习框架】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/855/detail/14123


Easy Transfer:深度迁移学习框架

 

内容介

一、迁移学习

二、PAI Easy Transfer:深度迁移学习工具套件

 

一、迁移学习

近年来AI崛起依赖的三大要素:算法、大数据、计算力,其中大数据意味着非常海量的数据标注的任务,非常消耗成本,而迁移学习提供了一种方式,其他数据中学习到的知识应用到当前任务当中,从而大大降低当前任务对数据的依赖,另外学习到的通用领域的知识可以迁移到相关的个性化的下游任务当中。

谷歌的 T5模型就是一个很好的例子,他通过大量的通用语调中学习到的模型,应用到个性化的下游 NLP 任务当中,只需要在下游分配任务当中标注少量数据做 FanQ 就可以取得非常好的效果。

早在16年就有人指出学习的大规模应用,在监督学习之后迁移学习会是一个非常主要的方向,那近几年来迁移学习的飞速发展尤其是在 NLP 和 CV 领域取得巨大成功也印证了这观点,基于上述考虑,为了让 PAI 用户非常方便的使用最新的迁移学习技术,研发了基 Python 深度学习工具库 E asy Transfer。

 

二、PAI Easy Transfer:深度迁移学习工具套件

Easy Transfer 给 PAI 用户带来的四个方面的好处:

(1)他提供了方便易用的开发接口,

(2)它提供了丰富的技术模型的 Model Zoo(开源+自研)

(3)他提供了非常丰富的上层应用的 APP Zoo 以及和 PAI 的 其他产品进行一个无缝对接。

在开发结果层面我们基于 PAI 帮助用户构建了整个模型研发的完整的 PAI fly,因此用户可以用非常少的代码去实现一个完整的模型构建的过程。在 Model Zoo 中在我们兼容了常用的开源的模型并提供了阿里自研的有阿里电商特色的轻量化的语言模型模型以及多模态的模型,在更上层我们分装了超过十个面向实际应用场景的 application zoo,目前以NLP 为主,同时也支持了用户自定义应用。在上述接口模型和应用套件在 PAI 的各个产品当中都可以直接使用。

接下来从四个方面对上述内容进行进一步的介绍:

1.简单易用的开发接口

在开发接口抽象方面,我们的目标是简化整个模型已经应用的开发的整个 PAI fly。为此我们定义了一个抽象的Layers,把不同层次的功能的模型构建模块做了进一步的封装。比如在 Layers 中包含了预处理典型的神经网络结构,函数以及常用的语言模型结构。此外封装了简单的 API 通过这些 API 可以把各个 Layers 进行非常方便的这种串联,构造出完整模型和上层应用,下面两段代码是两个简单的例子:

自定义网络示例

def build _ model ( inputs )

net = layers . bert ( inputs )

net = layers . dense ( net ,  size =16)

return net

模型训练示例

inputs = build _ reader ()

Model = modelzoo . bert (

‘bert _ base '). apply ( inputs )

TrainOP = build _ train ( Model )

Run TrainOP on PAI

Export savedmodel

可以看到用户只需要写非常少的代码就可以了自定义网络结构以及自定义训练任务,迁移学习有多种范式,目前应用最广泛的一种方式就是在大规模手机上去做一个预训练然后把预训练得到的模型在下游任务当中用少量数据去做一个fanQ,为了让用户能够更方便地使用这种范式,提供了丰富的预训练好的模型模型,目前是以 NLP 为主,这里面包括主流的开源模型主要是以 Bert 及其各类优化的变种为主。

2.Model Zoo

自研的模型主要有两个:

一个是基于网络架构搜索和模型蒸馏得到的轻量化的 Bert

AdaBERT,以及电商领域的多模态学习模型 Fashion Bert

对于轻量化 AdaBERT 的目的是减少与训练语言模型的参数量,从而减少计算资源的消耗。目前我们知道预训练语言模型在各个 NLP 领域都获得非常大的成功,但是他也带来了一个非常大的问题,他的模型参数非常的多,那么从最早的Bert 的三亿参数读到T5的百亿参数到最近开研出来的 GTP3的千亿参数,这为实际场景下的应用带来了非常大的困难,研究表明 Bert 的任务方式根据 NLP 的任务的不同而不同为此我们提出一种新的模型压缩的方 法 AdaBERT,使用 Bert 作为 teacher model,使用基于神经网络架构的到的小模型作用于 student model,通过面向任务的知识蒸馏做一个模型压缩的工作,最终压缩后的模型模型参数方面减少了90%,同时在推理速度方面提升了29倍。平均精度损失控制在2%以内,同时我们也和谷歌开源出来的24个小模型进行了全面地对比,我们在模型大小换和效果方面全面领先。

随着 web 技术的发展,当前互联网上充斥着大量的多模态数据,包括图像、视频、语音、文本等等,去对这些多模态的信息去做一个检索和匹配是当前AI领域的重要研究方向。多模态尤其是图文的匹配,训练了针对电商领域的图文表征预训练模型 Fashion Bert 在 Bert 模型架构的基础上,我们增加了 mask patch prediction  任务,把图像以patch序列的方式进行输入,同时我们增加了一个文本和图像进行匹配的一个任务,最终在电商场景的图文匹配和多模态向量检索任务上取得了不错效果。

3.APP Zoo

为了进一步方便用户的使用在开放接口和 Model Zoo 的基础上进一步开发了面向多个不同 NLP 垂直领域的 APP Zoo。用户只需要配置少量的参数就可以直接使用这些应用工具获取结果,当前支持了十个以上的各类 NLP 垂直领域的应用包括:文本匹配、文本分类、阅读理解、序列标注、文本生成等等。

此外为用户提供了丰富的灵活性用户可以通过不同层次的组建进行一个串联,灵活调整包括 AIO 预处理还有各个层次的 Layers 用来组合自己的应用。

4.无缝对接 PAI 生态产品

因为 Transfer 工具套件目前支持多种形式的调用方式并在 PAI 的各个产品可以透出。包括 P AI studio 命令行和拖拽式组建以及以 Python SDK 的方式在 DSW 当中进行调用,拖拽式组件是最简单的使用方式,用户只需要在界面上填写少量的参数就可以方便地使用前面提到的各个功能包括模型的训练和预测。DSW 是更适合开发者的工具,用户可以在 DSW 当中用我们提供的 SDK 接口任意定义各个 layer,并用框架分工的其他功能的其他功能去开发自己的 model以及应用,最大限度的简化整个的开发流程目前 Easy Transfer 框架已经服务了阿里集团内部十+BU 以及20+个业务。

相关实践学习
使用PAI+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
缓存 负载均衡 应用服务中间件
高性能网络编程技术 Nginx 的概念与实践
Nginx 是一款高性能、轻量级的Web服务器和反向代理服务器,它在网络编程技术领域中被广泛应用。本文将详细介绍Nginx的概念和实践,包括其核心原理、功能特点、优势和应用场景等方面。同时,还将深入探讨如何使用Nginx进行高性能网络编程,结合实际案例进行分析。
|
关系型数据库 MySQL 索引
【MySQL 解析】Hash索引和B+树索引对比分析
【1月更文挑战第11天】【MySQL 解析】Hash索引和B+树索引对比分析
|
4月前
|
人工智能 数据可视化 决策智能
京东零售重磅开源 | OxyGent:像搭乐高一样组装AI团队,实现群体智能
京东零售Oxygen团队正式开源发布多智能体协作框架——OxyGent。这一创新框架致力于帮助开发者高效组装多智能体协作系统,实现智能体间的无缝协作、弹性扩展与全链路可追溯。推动人工智能从“单点突破”迈向“群体智能”时代。
378 0
|
安全 网络安全 数据安全/隐私保护
轻松部署SFTP并解决连接未设置密钥的报错
尊敬的读者们,大家好!SFTP是一种基于SSH的加密文件传输协议,可确保您的数据在传输过程中得到保护,是一种可信赖的文件传输解决方案。在实际生产环境中,连接第三方SFTP服务器是许多企业进行文件传输的常见需求。然而,有时候当第三方SFTP服务器切换节点后,我们的服务连接却会出现失败的情况。我们今天就遇到了这种情况,第三方服务因国产化需求切换到了新的节点,导致我们的服务连接sftp服务器失败。在本文中,我将与您分享这个问题的原因以及解决方法以及如何使用Docker Compose快速部署SFTP(Secure File Transfer Protocol)服务,帮助您轻松应对类似的挑战。
594 0
轻松部署SFTP并解决连接未设置密钥的报错
|
机器学习/深度学习 自然语言处理
像生物网络一样生长,具备结构可塑性的自组织神经网络来了
【7月更文挑战第24天】Sebastian Risi团队发布的arXiv论文探讨了一种模仿生物神经网络生长与适应特性的新型神经网络。LNDP利用结构可塑性和经验依赖学习,能根据活动与奖励动态调整连接,展现自我组织能力。通过基于图变换器的机制,LNDP支持突触动态增删,预先通过可学习随机过程驱动网络发育。实验在Cartpole等任务中验证了LNDP的有效性,尤其在需快速适应的场景下。然而,LNDP在复杂环境下的可扩展性及训练优化仍面临挑战,且其在大规模网络和图像分类等领域的应用尚待探索
405 20
|
11月前
|
人工智能 自然语言处理 算法
阴阳怪气的路人与大师来啦
通义千问帮你分析了获奖文章的共性,包括创新性、实用性、完整性、技术深度和表达能力。根据这些标准,你的文章若能在技术细节、创新方法和实际应用方面有所突破,尤其是结合实际案例和效果展示,未来仍有机会获奖。虽然此次未获奖,但保持积极心态,持续创作高质量内容,相信你会取得更好的成绩。继续加油!
190 29
|
10月前
|
存储 人工智能 程序员
通义灵码AI程序员实战:从零构建Python记账本应用的开发全解析
本文通过开发Python记账本应用的真实案例,展示通义灵码AI程序员2.0的代码生成能力。从需求分析到功能实现、界面升级及测试覆盖,AI程序员展现了需求转化、技术选型、测试驱动和代码可维护性等核心价值。文中详细解析了如何使用Python标准库和tkinter库实现命令行及图形化界面,并生成单元测试用例,确保应用的稳定性和可维护性。尽管AI工具显著提升开发效率,但用户仍需具备编程基础以进行调试和优化。
663 9
三对角矩阵(Triangular Matrix)
三对角矩阵(Triangular Matrix)是一种特殊形式的矩阵,其非零元素仅位于主对角线以及主对角线两侧的相邻对角线上。三对角矩阵在数学、工程和计算机科学等领域中都有广泛应用,特别是在线性代数中。以下是一些关于三对角矩阵的特点和应用:
1815 6
|
搜索推荐 算法 Java
堆排序实战:轻松实现高效排序,附详细Java代码
嗨,大家好!我是小米,一名热爱技术分享的程序员。今天要带大家了解堆排序——一种基于二叉堆的数据结构,具有O(n log n)时间复杂度的选择排序算法。堆排序分为构建大顶堆和排序两个阶段:先建堆使根节点为最大值,再通过交换根节点与末尾节点并调整堆来逐步排序。它稳定高效,空间复杂度仅O(1),适合对稳定性要求高的场合。虽然不如快速排序快,但在避免递归和节省空间方面有优势。一起动手实现吧!如果有任何疑问,欢迎留言交流!
375 2