ModelScope pretrained model|学习笔记

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
简介: 快速学习ModelScope pretrained model

开发者学堂课程【模型社区实战课程ModelScope pretrained model学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1199/detail/18152


ModelScope pretrained model


内容介绍:

一、多模态预训练大模型背景&价值

二、通用统一多模态预训练 M6-OFA

三、中文多模态基础模型 Chinese CLIP

四、大规模中文多模态数据集和评测基准

五、总结&近期发布


一、多模态预训练大模型背景&价值

随着2017年的时候,Transformer 这样基于 self attention 的这种特殊的架构提出,使大家可以看到,随着模型规模的持续扩大,可以看到模型效果的持续增长,并且它能够很好的进行数据并行和模型并行,把模型规模以及数据量给它扩上去。

image.png

也可以看到预训练逐渐成为 AI 发展的主流,如果朝着需要的人工智能的方向,预训练这种大量的学习无监督数据的这种方式,会是一个非常可行的方案。

当进行微调的时候,只需要在顶上加上一个相应的分类层,就能够把此前学习过的知识,给它调动起来,然后取得一个比较好的下游的微调分类的效果。那么这种非常简单的范式,其实也是替代掉传统的 train well 的范式,从此开始走向了 between 再加下游 function 的这样一种模式。

image.png

所以其实类本化也扮演着非常基础模型的角色,这也是今年在做相关的研究,会推出 offer Chinese CLIP 这两个系列的工作的原因,两者是各有其优势。

image.png

所以在这相关方面,其实也做了比较多相应的工作。

 

二、通用统一多模态预训练 M6-OFA

接下来给大家介绍一下这一年多的相关进展,主要首先介绍今年在2022提出的 OFA 的工作,然后这是M6系列的最新的工作。

1.多模态预训练待解决问题

1)预训练往往缺少对海量单模态数据的利用

所以这里称为他们的 offer,其实本质上是一个通用统一的多模态域训练模型。那么通用统一其解决的是什么样的问题呢?

2.通用统一模型应当满足的性质

所以在工作当中,其实提出了三个比较重要的性质。如果今天要打造一个通用统一的模型应当满足这三个性质。

3.OFAOne-For-ALL)模型

这其实在LP里面已经有比较多的一些突破了,近期可以看到像 funT0以及最新的 national extra me two 1600 LP 的任务,都放到一个模型去进行训练,也取得了非常好的效果。

4.OFA 三大统一

这里的工作其实主要就是做了三个方面的统一,这三个方面的统一称为 IO 统一,模态统一以及任务统一,这都是为了解决刚才所说的那个相应的目标。

image.png

所以其实核心点还是在于将不同的任务的话都统一到一个形式,这样就能够让多任务去进行训练,当然 OFA 现在其实目前只用了八个任务去做训练。后续的工作其实是想在 OFA 的基础上,再更进一步将其融入更多样的任务中去进行训练,甚至不只是包含图文两种模态,这样模型化才能够去学到更多一些知识,然后实现融会贯通。

image.png

5.预训练数据

这里也想看看真正的去学习广泛识别知识的模型能够起到什么样的效果。这里是主要介绍 OFA 模型设计。具体做实践的同学可能会比较关心的细节是 OFA 这个模型化用了哪些预训练的数据,其实做这个工作的初衷是偏学术的工作。

6.  模型规模

那么同时其实除了在数据方面,就是在模型方面,其实做了一些比较细致的多个规模的模型研究,这里相比于此前一些工作,可能只有 base large 规模其实还做了更小的模型,这里包括 tiny medium 的模型,具体的参数其实也都列在这上面。

那么 base large 模型在这里的对标对象其实是像 bird but 这种。

7.效果:多模态理解

这里其实包括以下一系列的任务,首先就是动态理解的任务,这里主要做的两个数据集,一个是经典的 VQA,第二个是 SNLI 和动态结合的数据集,SNLI -VE,那么在 VQA 的数据集上面在推出的时候,其实是达到了 SOTA 的效果,那么不发 huge test step test standard 都达到82.0

image.png

8.效果:图像描述生产

第二个是图像描述生成,在图像描述生成的榜单 MSCOCO 的官方榜单上大概是维持了两个多月的第一名的水平。

9.效果:图像生成产出高质量图片

另外一方面还做了比较有挑战性的任务,任务其实不是 OFA 主要做的任务,而是去 transport 场景去看看其是否同样能够给它做好,因为核心理念是在于模型有一个预训练任务叫做 image in feeling,也就是说抠掉一些 patch,让它去还原这些 patch,还原方式就是生成它对应的 liquid code

image.png

这里也希望追求更好的效果,所以在这个基础上进一步的去在更大的数据上去进行,发现其实在一些绘画方面会展现出比较好的效果。可以看到 OFA 生成出来这些图片整体的质量还是比较高的。

image.png

10.多模态模型同样能在单模态任务取得突出效果

另一方面还会去评估 OFA 的能力,其实就是它单模态任务的能力,因为相比于此前的一些模型主要是在图文pair 的数据上去做预训练。那预训练其实在图文 pair 基础上还加入了大量的单模态的数据

11.零成本任务&领域迁移

这是 OFA 在单模态领域取得的一些表现,还有一个点是会去考虑 OFA 这样的多任务的模型在零样本的场景中的表现如何,以及说迁移到一些新的领域上是否也能够取得比较好的表现。在这里零样本方面,除了 benchmark 的分数以外。

12.零成本任务&领域迁移

这里看到其一定的迁移到新任务的能力。另一方面也去观察模型迁移到新领域方面的一些能力。

后面其实还会再持续的去扩增这个数据规模以及任务规模,让它能够产生出更强的迁移和泛化的这种能力。

13.OFA 持续升级:轻量化调优

除此之外在 OFA 的基础上,其实也是不断的在做持续的升级。那么升级包括几个方面,第一个方面就是轻量化调优的方面,因为 OFA 的模型化,比如像 large 模型,甚至是 huge 模型,其实它的规模化对于很多用户来说是不小的,这么大的规模如果想让其动起来,其实在一些多模态这些数据集上面成本其实是不小的,所以其实是开发了相应的 fortune 的这种方法,核心其实就是把大模型的参数化冻住,让其不要进行调优。

image.png

14.OFA 持续升级:OFA增加中文版

同时 OFA 的升级包括 OFA 不仅仅在英文的公开数据集上去做,因为OFA 有很多用户都是国内的用户,所以其实也增加中文版。因为去年其实做 M6这个系列,在中文的大规模训练方面,有了非常多的积累,包括数据的积累,以及模型训练的积累。所以把这些经验迁移到 OFA 上面,也是一个比较自然的事情,用比较大规模的数据去对 OFA 进行训练,得到 BASE large 的规模和模型。那么在 benchmark 上面,一个是此前推出的牧歌的系列 action 上取得分数上的很好的效果。

15.OFA Github 开源以及 Demo 建设

这里的把相关的一些链接,包括 papercodeModelScopeDemoColabcheckpoint等等可以直接下载这个链接都在这里做相应的提供。

Paper:http:/axri.org/abs/2202.03052

Code:https://github.com/0OFA-Sys/OFA

ModelScope:https://www.modelscope.cn/models

Demo:https://huggingface.co/ofa-sys

Colab:https://github.com/OFA-Sys/OFA/blob/main/colab.md

Checkpoints:https://github.com/QFA-Sys/OFA/blob/main/checkpoints.md

相关文章
|
Linux Shell 调度
【Linux】7. 进程概念
【Linux】7. 进程概念
155 3
|
Serverless API 调度
课时2:函数计算是如何工作的?
课时2:函数计算是如何工作的?
|
Kubernetes 安全 Linux
Pod必备知识: SecurityContexts
Security Context主要用于限制容器的行为,从而保障系统和其他容器的安全。这一块的能力不是 Kubernetes 或者容器 runtime 本身的能力,而是 Kubernetes 和 runtime 通过用户的配置,最后下传到内核里,再通过内核的机制让 SecurityContext 来生效。所以这里介绍的内容,会比较简单或者说比较抽象一点。 1.容器级别的Security Context:仅对指定容器生效 2.Pod级别的Security Context:对指定Pod中的所有容器生效 3.Pod Security Policies(PSP):对集群内所有Pod生效
1760 0
Pod必备知识: SecurityContexts
|
11月前
|
缓存 Java 调度
多线程编程核心:上下文切换深度解析
在现代计算机系统中,多线程编程已成为提高程序性能和响应速度的关键技术。然而,多线程编程中一个不可避免的概念就是上下文切换(Context Switching)。本文将深入探讨上下文切换的概念、原因、影响以及优化策略,帮助你在工作和学习中深入理解这一技术干货。
279 10
|
监控 Ubuntu Linux
Linux时间改错了,我想让他恢复正确时间
Linux时间改错了,我想让他恢复正确时间
|
关系型数据库 分布式数据库 数据库
【PolarDB开源】PolarDB开源社区指南:如何参与贡献及获取技术支持
【5月更文挑战第21天】阿里云开源PolarDB云原生数据库,邀请全球开发者参与贡献和技术支持。PolarDB开源社区提供交流平台,包括技术动态、文档编写和代码贡献。参与者需注册账号,了解项目,提交符合规范的Pull Request,并参与代码审查和讨论。获取技术支持可通过官方文档、技术讨论和问题报告。示例代码展示了连接PolarDB数据库执行查询的基本操作。加入社区,共同推动PolarDB发展!
273 4
|
设计模式 缓存 中间件
探索PHP中的中间件模式
【10月更文挑战第33天】在编程世界中,设计模式是解决常见问题的模板。本文将带你领略PHP中中间件模式的魅力,它如何优雅地处理请求,并保持代码的整洁与可维护性。通过实际代码示例,我们将一步步实现一个简单的中间件框架,让你轻松理解并应用到自己的项目中。
|
消息中间件 SQL 监控
ETL的灵魂:调度系统
ETL的灵魂:调度系统
2960 1
|
传感器 芯片
数码管显示原理及应用实现介绍2
继续介绍数码管的应用实现。 7. 数字测量仪表:数码管可以用来显示各种物理量的测量结果,如电压、电流、功率等。传感器可以将被测量的物理量转换为电信号,并通过微控制器进行处理,并将结果显示在数码管上。 8. 运动计时器:数码管可以用来显示比赛或训练的时间、轮次、分数等信息。通过微控制器或计时器芯片,可以精确地控制和显示各项计时数据。 9. 信号状态指示:数码管可以用来显示开关、按钮或传感器等的状态。通过微控制器或逻辑电路,可以将不同的输入状态映射到数码管的显示状态,方便用户了解和判断设备的工作状态。 10. 售货机显示:数码管可以用来显示售货机的产品信息、价格和投币金额等。通过微控制器进
330 0
|
Java 数据库 Android开发

热门文章

最新文章