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

本文涉及的产品
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
NLP自然语言处理_高级版,每接口累计50万次
简介: 快速学习 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-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
6月前
|
机器学习/深度学习 人工智能 DataWorks
机器学习PAI常见问题之self-attention再target-attention如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。
|
机器学习/深度学习 人工智能 数据挖掘
图神经网络必读论文-Must-read papers on GNN
GNN: graph neural network Contributed by Jie Zhou, Ganqu Cui, Zhengyan Zhang and Yushi Bai. 来源:THUNLP 链接:https://github.com/thunlp/GNNPapers
1656 1
图神经网络必读论文-Must-read papers on GNN
|
22天前
|
机器学习/深度学习 人工智能 自然语言处理
🔍 Prompt、RAG、Fine-tuning三者各自的优势是什么?
【10月更文挑战第15天】在人工智能模型的开发中,Prompt、RAG(检索增强生成)和Fine-tuning是三种常见的优化技术。Prompt通过少量示例引导模型生成特定输出,简单灵活;RAG结合检索和生成,适合需要大量外部知识的场景,提高答案准确性和可解释性;Fine-tuning通过特定任务或数据集训练模型,提升特定场景下的表现,适用于有大量数据和计算资源的场景。开发者需根据具体需求选择最合适的优化策略。
51 4
|
3月前
|
机器学习/深度学习 编解码 API
【机器学习】FFmpeg+Whisper:二阶段法视频理解(video-to-text)大模型实战
【机器学习】FFmpeg+Whisper:二阶段法视频理解(video-to-text)大模型实战
50 0
|
5月前
|
存储 机器学习/深度学习 自然语言处理
LLM微调方法(Efficient-Tuning)六大主流方法:思路讲解&优缺点对比[P-tuning、Lora、Prefix tuing等]
LLM微调方法(Efficient-Tuning)六大主流方法:思路讲解&优缺点对比[P-tuning、Lora、Prefix tuing等]
LLM微调方法(Efficient-Tuning)六大主流方法:思路讲解&优缺点对比[P-tuning、Lora、Prefix tuing等]
|
6月前
|
机器学习/深度学习 人工智能 PyTorch
人工智能平台PAI 操作报错合集之机器学习PAI,用Triton Inference Server 22.05 部署模型,遇到SaveV3这个op的问题,如何解决
阿里云人工智能平台PAI (Platform for Artificial Intelligence) 是阿里云推出的一套全面、易用的机器学习和深度学习平台,旨在帮助企业、开发者和数据科学家快速构建、训练、部署和管理人工智能模型。在使用阿里云人工智能平台PAI进行操作时,可能会遇到各种类型的错误。以下列举了一些常见的报错情况及其可能的原因和解决方法。
|
6月前
|
数据采集 人工智能 数据可视化
【AI大模型应用开发】【LangChain系列】4. 从Chain到LCEL:探索和实战LangChain的巧妙设计
【AI大模型应用开发】【LangChain系列】4. 从Chain到LCEL:探索和实战LangChain的巧妙设计
80 0
|
机器学习/深度学习 存储 人工智能
大语言模型的预训练[5]:语境学习、上下文学习In-Context Learning:精调LLM、Prompt设计和打分函数(Scoring Function)设计以及ICL底层机制等原理详解
大语言模型的预训练[5]:语境学习、上下文学习In-Context Learning:精调LLM、Prompt设计和打分函数(Scoring Function)设计以及ICL底层机制等原理详解
大语言模型的预训练[5]:语境学习、上下文学习In-Context Learning:精调LLM、Prompt设计和打分函数(Scoring Function)设计以及ICL底层机制等原理详解
|
机器学习/深度学习 存储 DataWorks
图神经网络 GNN 框架 Graph-Learn 技术分享|学习笔记
快速学习图神经网络 GNN 框架 Graph-Learn 技术分享。
662 0
图神经网络 GNN 框架 Graph-Learn 技术分享|学习笔记
|
机器学习/深度学习 人工智能 自然语言处理
横扫NLP 脚踏CV界的Transformer到底是什么? 为什么Work?深入浅出零基础通俗理解Transformer及其代码实现
Transformer 模型在近几年来横扫 NLP 领域并获得大量好评,在分类、检测等任务上展现了极其强劲的性能。另一方面其在计算机视觉领域也带来了革命性提升,而且骨干网络上的发展也推动了下游任务的发展,可以说Transformer已经引起了学术界的广泛关注,有越来越多的研究人员投入其中。 Transformer是谷歌在2017年发表的论文Attention Is All You Need中提出的一种seq2seq模型,首先是在自然语言处理方面应用。
横扫NLP 脚踏CV界的Transformer到底是什么? 为什么Work?深入浅出零基础通俗理解Transformer及其代码实现
下一篇
无影云桌面