ModelScope pretrained model|学习笔记

简介: 快速学习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

相关文章
|
计算机视觉 容器
OpenCV-寻找非零点cv::findNonZero
OpenCV-寻找非零点cv::findNonZero
698 0
|
Web App开发 人工智能 Android开发
iconfont.cn 阿里出品的矢量图标库
Iconfont.cn是阿里巴巴推出的矢量图标库,其中涵盖了1000多个常用图标,并在持续更新中。(目前已有7000+图标,部分图标为用户上传,因此默认不公开,但是可以搜索到。)
12819 0
iconfont.cn 阿里出品的矢量图标库
|
存储 安全 物联网
使用 Java 进行物联网(IoT)应用开发
【4月更文挑战第19天】Java,凭借其跨平台特性和丰富库,成为物联网开发热门选择。开发者利用Java进行物联网应用开发,可实现设备连接、数据处理、数据库管理及安全保障。熟悉Java基础、物联网知识、数据通信和数据库管理是必备技能。利用MQTT客户端、数据存储框架和可视化工具能提升开发效率。随着物联网发展,Java在该领域的影响力将持续增强。
1648 1
|
JavaScript 前端开发 安全
TypeScript无缝衔接ArkTS:快速入门鸿蒙ArkTS基本语法
【10月更文挑战第12天】TypeScript无缝衔接ArkTS:快速入门鸿蒙ArkTS基本语法
1223 0
TypeScript无缝衔接ArkTS:快速入门鸿蒙ArkTS基本语法
|
人工智能 PyTorch TensorFlow
分布式训练:大规模AI模型的实践与挑战
【7月更文第29天】随着人工智能的发展,深度学习模型变得越来越复杂,数据集也越来越大。为了应对这种规模的增长,分布式训练成为了训练大规模AI模型的关键技术。本文将介绍分布式训练的基本概念、常用框架(如TensorFlow和PyTorch)、最佳实践以及可能遇到的性能瓶颈和解决方案。
1797 2
|
Web App开发 测试技术 API
Web自动化测试框架(基础篇)--Selenium WebDriver工作原理和环境搭建
本文详细介绍了Selenium WebDriver的工作原理,包括其架构、通信机制及支持的浏览器,并指导读者如何在Python环境下搭建Selenium WebDriver的测试环境,从安装Python和Selenium库到编写并运行第一个自动化测试脚本。
773 0
|
机器学习/深度学习 前端开发 JavaScript
WebAssembly:让前端性能突破极限的秘密武器
WebAssembly(简称 WASM)作为前端开发的性能加速器,能够让代码像 C++ 一样在浏览器中高速运行,突破了 JavaScript 的性能瓶颈。本文详细介绍了 WebAssembly 的概念、工作原理以及其在前端性能提升中的关键作用。通过与 JavaScript 的配合,WASM 让复杂运算如图像处理、3D 渲染、机器学习等在浏览器中流畅运行。文章还探讨了如何逐步集成 WASM,展示其在网页游戏、高计算任务中的实际应用。WebAssembly 为前端开发者提供了新的可能性,是提升网页性能、优化用户体验的关键工具。
6326 2
WebAssembly:让前端性能突破极限的秘密武器
|
机器学习/深度学习 PyTorch 算法框架/工具
彻底告别微调噩梦:手把手教你击退灾难性遗忘,让模型记忆永不褪色的秘密武器!
【10月更文挑战第5天】深度学习中,模型微调虽能提升性能,但也常导致灾难性遗忘,即学习新任务时遗忘旧知识。本文介绍几种有效解决方案,重点讲解弹性权重巩固(EWC)方法,通过在损失函数中添加正则项来防止重要权重被更新,保护模型记忆。文中提供了基于PyTorch的代码示例,包括构建神经网络、计算Fisher信息矩阵和带EWC正则化的训练过程。此外,还介绍了其他缓解灾难性遗忘的方法,如LwF、在线记忆回放及多任务学习,以适应不同应用场景。
1648 8
|
XML JSON Java
GRPC与 ProtoBuf 的理解与总结
GRPC与 ProtoBuf 的理解与总结
796 0
|
机器学习/深度学习 Linux 开发者
Python必备工具:pip的安装与管理
Python必备工具:pip的安装与管理
1691 0