OpenGVLab开源超高性能预训练模型,节省90%数据量!分类、目标检测、语义分割、深度估计,四大任务一网打尽!
作者丨吴彤
编辑丨陈彩娴
Github链接:https://github.com/opengvlab
家人们,你们有没有这种苦恼?
搬一次家就换一次家具,那些又贵又重的家具既不好搬运,又不好全部带走。
下一次又重新购置一遍家具,浪费钱不说,关键是来来回回都做一样的事情!家具还没用过几次,利用率不高呀!
这种搬家的苦恼,就好比AI领域,做几个任务就需要开发几个高度定制的模型,不仅所需的数据采集量非常大,每次还都得从头标注。既提不起数据的学习效率,又耗费巨大的数据获取成本。
光是AI前端研究就耗费如此巨大的精力,更别提应用场景中数以万计的长尾任务。
那怎么办?
做一款通用的深度学习模型,才是关键。
1
通用,才是技术根本
无论国内外,底层技术关注者都以设计出“通用模型”为己任。而打造通用模型的两个主战场,就是深度学习应用最广泛的两个方向:语言与视觉。
目前,通用语言模型(GLM)已经取得了令人瞩目的进展,比如BERT、T5和GPT-3,它们在应对广泛的语言下游任务时已经游刃有余。
相形之下,通用视觉模型(GVM)的研究迟迟未交出一份令人满意的答卷。
以往的大多数 GVM 研究主要利用一种监督信号来源,如 ViT-G/14 采用有标签监督,SEER 采用样本的不同增强之间的对比学习,CLIP采用图片文本对进行监督。如果是在单个监督信号下进行的预训练,这几种范式确实能够生成在固定场景下表现良好的模型。但如果用在场景多元、任务多样的下游场景,这些模型就难以胜任了。
比如现在最火的自动驾驶,汽车处于移动状态,既要看到路况,又要看到红绿灯,还要注意行人,甚至在智能座舱兴起后,还要和语言技术、LBS场景服务协同,这么多的感知数据与协同任务,这么多随机的新任务,无论在体量还是维度方面,都对视觉模型的要求极大提高。
这时,打造一款通用视觉模型,降低研发门槛,尤其是学术界的时间成本、资金成本,才能畅享下游的极致场景体验。
去年11月,上海人工智能实验室联合商汤科技、香港中文大学、上海交通大学发布通用视觉技术体系“书生”(INTERN),一套持续学习框架,用于系统化解决当下人工智能视觉领域中存在的任务通用、场景泛化和数据效率等一系列瓶颈问题。
前不久,上海人工智能实验室联合商汤科技发布通用视觉开源平台OpenGVLab,面向学术界和产业界开放其超高效预训练模型、超大规模公开数据集,以及业内首个针对通用视觉模型的评测基准。
这些开源技术,究竟有何魔力?
2
大力出奇迹,打造通用视觉模型
“书生” (INTERN),就是练就通用视觉能力的底层技术。
从技术实现上讲,“书生”技术体系由由七大模块组成,包括三个基础设施模块和四个训练阶段构成。
- 三个基础设施模块分别为通用视觉数据系统(GV-D)、通用视觉网络结构(GV-A)、以及通用视觉评测基准(GV-B);
- 四个训练阶段分别为:上游基础模型训练(Amateur)、上游专家模型训练(Expert)、上游通才模型(Generalist)训练;以及下游的应用训练(Downstream-Adaptation)。
书生(INTERN)结构图
首先,通用视觉数据系统。
这是一个超大规模的精标数据集,拥有100亿个样本和各种监督信号,并依照四大视觉任务分别设置了四个数据子集:多模态数据GV-D- 10B分类标注的GV-Dc-36M、检测标注的GV-Dd-3M、分割标注的GV-Ds-143K。
另外,这一数据集还包含11.9万的标签系统,不仅涵盖了自然界的众多领域和目前计算机视觉研究中的几乎所有标签,还扩充了大量细粒度标签,涵盖各类图像中的属性、状态等。
而这,就是书生“大力出奇迹”的一大注脚。
其次,通用视觉模型结构。
它是由一个具有CNN和Transformer的统一搜索空间构建而成。
为何要建立这样的混合结构?要知道,多年来,卷积神经网络(CNN)一直主导着视觉表征学习,并在图像分类、目标检测和语义分割等下游任务中表现出稳定的可迁移性。但最近几年,Vision Transformer (ViT)仅使用普通的Transformer结构就能作为图像编码模型在ImageNet-1k上取得媲美 CNN 的性能,在大规模数据集上 ViT 更是展示出比 CNN 更大的潜力。
尽管ViT在性能上有优点,但纯Transformer网络相比卷积神经网络缺乏某些归纳偏置(inductive biases),因此需要更多的数据和计算资源。此外,自注意的计算成本相对于输入的数量是平方的,限制了对高输入分辨率的应用。因此,将CNN和Transformer和MLP结合起来,平衡效率和有效性两个方面,才是模型通用的关键。
这种兼具更好的泛化能力和更高的模型容量的模型结构名为MetaNet。在MetaNet网络结构族里面进行网络结构搜索,从而得到最优的一个模型训练结构。
统一搜索的MetaNet架构:Conv和Trans分别表示卷积和Transformer。C和S为每一阶输出通道数和步幅。
具体来看,MetaNet不仅基于强化学习 的PPO算法提出了统一搜索架构,并且,为了避免传统的下采样模块会成为模型性能的瓶颈,“书生“结合了包含 local-global-DSM (LG_DSM) 和 global-DSM (G-DSM)的context-aware down-sampling modules (DSM),用来代替原本的下采样模块。
因此,在浅层,模型依然使用卷积来提取特征,但在深层,模型却能将Transformer模块和LG-DSM结合使用,以便于更好地提取全局信息。
同时,书生还基于最大的MetaNet-B15蒸馏出了多达13种不同的模型结构,共24种不同的模型权重,现已全部开源。
这些模型结构基本涵盖了现有市面上大部分的主流backbone,不仅能够很轻易地迁移到所需要的算法框架作为新网络预训练的初始化,而且只需要更短的训练时间就可以达到比原来更好的训练效果。
MetaNet 模型与其他模型结构比较,结果如下:
基于卷积、Transformer和两者混合的结构,分别用C,T和H表示
可以看出,在图像分类性能上,MetaNet系列的MN-B1,MN-B4和MN-B7,和其他的SOTA模型相比,不仅有更高的精度,还有更低的FLOPS和参数量。
除了分类任务,把MetaNet做为检测和分割的backbone,在COCO数据集上使用Mask R-CNN结构训练,结果发现:
在模型参数量更小的前提下,MN-B4比Swin-T精度高出2到4个点。另外还在ADE20K数据集上进行了语义分割任务,MN-B4的mIoU指标比Swin-T高出5个点之多。
上述两个实验结果表明,MetaNet系列模型结构,在模型精度与计算量之间,都达到了新的SOTA!
最后,通用视觉评测基准。
视觉评测基准GV-B ,就像是一个「擂台」。
如下表所示,测评基准收集了 26 个下游任务数据集,囊括了 4 种视觉任务类型:分类,检测,分割和深度估计。
在设置上,该基准引入了百分比样本(percentage-shot),只需要选取整个数据集的一部分,例如 10%、20% ,对比缩小下游任务的训练数据量后的模型性能。 与传统的少样本设置相比,这种百分比样本设置可以很好地保留原始数据集的长尾分布等属性,并减轻对样本选择的敏感性。因为有一些数据集样本类别分布不平衡,比如下表中的VOC07 12,百分比数据的划分方式却会继承这种分布情况。
右侧三列avg,min和max,分别表示在10%的数据中,不同类别样本数量的平均值,最小值和最大值
结合上述数据集和任务类型,论文选取了一些具有代表性的模型来做评测对比。为了比较公平性,该对比使用了这些模型的官方预训练权重。这些模型包括:
- RseNet
- CLIP
- ResNeXt
- BiT
- ViT
- SwAV, DeepClusterV2和MoCo v2
- Detco
有了超大精标数据集、模型结构,以及评测基准后,已经是万事俱备,只欠训练。
书生作为中国古代读书人的经典形象,代表着一个通过不断学习、不断成长进而拥有各方面才能的人格化角色:从基础的知识技能学习开始,到对多种专业知识触类旁通,进而成长为拥有通用知识的通才。借此意象,“书生”(INTERN)系统可通过持续学习,举一反三,逐步实现通用视觉领域的融会贯通,最终实现灵活高效的模型部署。
下面就来看看,这套系统是如何通过训练,一步步从生手变成专家再到多面手,最终在各种任务中大显身手。
第一阶段,训练的是基础能力,被称为“基础模型”(Amateur)。
近年来,CLIP因zero-shot recognition 能力和在下游任务的迁移能力而备受关注。
然而CLIP需要400M的图像-文本对进行前训练,囿于极大的数据量,CLIP很难进一步发展。但“书生”提出了一种新的训练范式,DeCLIP(Data efficient CLIP ),能够同时使用来自图像-文本、图像-图像和文本-文本对的监督信号进行模型预训练,从而更有效地实现通用性。
此外,为了充分利用大规模多模态数据获取基础模型的优势,这一阶段提出了Upstream-Amateur (Up-A)视觉语言预训练框架,同时挖掘模态内和跨模态知识。
这一训练框架分为两个预训练阶段:Upstream-Amateur for Global Representation (Up-A-G)和Upstream-Amateur for Local Representation (Up-A-L)。
其中,Up-A-G(左)使用群体监督功能,从更丰富的监督中学习。Up-A-L(右)采用局部自我监督学习方法,对训练好的视觉-语言模型进行调整,从而提高自身在密集预测CV任务中的表现。
Upstream-Amateur的框架
得益于这些内在的监督,DeCLIP-ResNet50可以在ImageNet上实现60.4%的zero-shot 精度第一。这比CLIP-ResNet50高出0.8%,数据使用量少了81%。当迁移到下游任务时,DeCLIP-ResNet50在11个视觉数据集中有8个优于CLIP。
更关键的是,训练完成的Upstream-Amateur为后续的训练阶段提供了一个很高的起点。
第二阶段,训练的是专业能力,被称为“专家模型”(Expert)。
Up-A阶段得到的基础模型,在一般的视觉识别问题上显示出优异的性能。但要完全掌握检测、分割等更具体的任务,还需要在每个任务中进行更专业的预训练,这就促成了第二个阶段的到来,专家模型。
对于每个专家,“书生”采用了一种简单的多头设计,每个头是一个特定数据集的子网络,从一个公共的、共享的“主干”分支出来。比如Up-E (C)、Up-E (D)和Up-E (S),分别用于图像分类、对象检测和语义分割。
第三阶段,训练的是组合能力,被称为“通才模型”(Generalist)。
上述的多任务是指不同数据集(如ImageNet和CIFAR)的一个视觉问题(如分类),或一个数据集的多个视觉问题(如分类和检测)。但关键是,如何将专家整合到一个统一的模型中,获得一个更加通用的视觉模型。因此,在预训练“专家”阶段之后,又将“通才”作为第三个预训练阶段,以进一步统一特征表示。
“书生”提出了一个新的范式,名为“混合参数共享”,从而开发一个名为“多面手”的通才模型。
具体来说,由于专家捕获的知识是相互关联的,当专家的特征融合为一个共享的表示形式时,再利用基于软共享的跨任务知识转移和基于硬共享的通用表示学习的方法,在不引入任务冲突的情况下在专家之间传递信息(特征转移),从而进一步提高了多任务训练的模型(专家)性能,即“通才”能力。
在结构上,通才模型是所有专家的一个相互关联的版本,因此可以把每个“专家主干”称为“通才分支”。此外,我们还可以根据训练相应专家的任务将通才中的每个分支分为图像、补丁和像素。但无论是软共享还是硬共享,都意味着从专家模型到通才模型的一次跃升。
在经历了前三个训练阶段模块后,终于来到最后的任务迁移阶段 (Adaptation)。
这个阶段属于技术链条的下游,用来解决各式各样不同类型的任务,而这也是最考验“书生”举一反三能力的时刻。它需要在这个阶段把之前学到的通用知识,融会贯通地应用到不同特定任务中。
在此之前,很多迁移学习方法确实取得了很多进步,但问题是,这些方法既没有利用上游预训练中的隐含信息,也没有考虑到下游数据在少镜头场景中的不足。
因此,“书生”提出了一种Multi-stage Fine-tuning (MF)方法,缓解在数据较少的情况下传输的困难,再通过将上游数据编码成生成模型,即VQ-GAN,可以将预训练的模型转移到多个任务和领域,而无需每次都使用上游数据,而这也使得“书生”更具通用性和可扩展性。
多级微调(MF)概述:VQ-GAN模型首先在第一阶段使用上游数据进行训练,然后在第二阶段由它重构下游数据。在此之后,第三阶段只对新增任务的特定参数进行重新表示的图像训练,第四阶段则通过下游数据对整个模型进行微调。
至此,一个具有持续学习能力的通用视觉模型终于出世。
而具体有哪些提升,不如看一下更直观的实验数据对比!
3
一网打尽视觉领域四大任务
视觉领域,任务繁多,主流任务包含分类、目标检测、语义分割、深度估计四大类型。
在这四大任务中,最强大的视觉模型还是去年OpenAI发布的CLIP模型。但相比较而言,“书生”则在准确率和数据使用效率上都有所提升。
1、精度表现
通过对“书生”训练出的模型在GV-B上的评测对比,发现经过多阶段预训练的MetaNet精度表现优异。
在ImageNet等26个最具代表性的下游场景中, “书生”在分类、目标检测、语义分割及深度估计等四大任务上,平均错误率分别降低了40.2%、47.3%、34.8%和9.4%。
书生(INTERN)与CLIP-R50x16在不同样本量上的性能对比,正确率展示
2、数据使用效率
“书生”在数据效率方面的提升尤为瞩目:只需要1/10的下游数据,就能超过CLIP基于完整下游数据训练的准确度。
以CLIP-R50x16和Up-G MN-B15在GV-B的评测对比为例,分别在分类、目标检测、语义分割、深度估计四大类型的26个下游任务数据集上进行了评测,仅使用了10%数据进行训练的Up-G MN-B15模型,在绝大部分数据集上都能比使用了全部训练数据的CLIP-R50有更好的精度表现。这表明,经过多阶段预训练的MetaNet具有极强的泛化能力,能够在仅有少量的训练样本情况下,达到SOTA的精度表现。
在下游视觉场景中,小样本训练带来的是极高的训练速度,以及极低的训练成本。
例如在花卉种类识别任务上,“书生“只需要每一类型的花卉提供两个训练样本,就能实现99.7%的准确率。
这个花卉数据集由102种英国常见的花组成,每个类别有40至258张图片。其中包含有很大的比例、姿势和光线变化。
102个类别的花卉数据集:https://www.robots.ox.ac.uk/~vgg/data/flowers/102/index.html
4
通用视觉平台,已正式开源
如此强大的通用视觉训练模型已经正式开源!
更关键的是,连同上述讲到的标签数据集、网络结构以及评测基准,均在OpenGVLab被统一打包开源。
其中的网络结构除了MetaNet,还包含大家普遍使用的ResNet, MobileNet, ViT, EfficientNet等,以满足不同场景的应用,赋能计算机视觉。
然而,「书生」的布局不止于此。
OpenGVLab将与上海人工智能实验室此前发布的OpenMMLab、OpenDILab一道,共同构筑开源体系OpenXLab,持续推进通用人工智能的技术突破和生态构建。
一位已经使用过此次开源平台的自动驾驶算法研究员表示:“书生系列模型充分覆盖了从移动可部署的小模型,到超大规模自研结构,为行业带来了希望,尤其是它的收敛速度,大幅节省了训练开销,是技术落地的一大助推器。“
不仅是自动驾驶领域,智慧城市、智慧医疗、智慧交通,以及千千万万其他的智能化领域,都将获得通用视觉模型带来的技术红利。
一位腾讯研究员大赞OpenGVLab:“能把这么大的工作开源出来真的是业界良心。简单用了一下,确实比CLIP要更fine-grained(细粒度更高)。”
而来自学界的师生也对此感慨有加:“OpenGVLab集成了大量各种量级的state-of-the-art(先进)模型,使用起来更得心应手,省去了对不同codebase、不同模型繁琐调研的烦恼。”
换句话说,当那些代码和公式脱去了枯燥乏味的外衣,人们才发现了真正的创造力。而这,也是技术创新与平台开源的魅力所在。
往近了说,用这款通用视觉模型打比赛,怕不是奖金多到飞起!在技术生产力的道路上,又诞生了一个致富小妙招!
目前,“书生”技术报告《INTERN: A New Learning Paradigm Towards General Vision》已在arXiv平台发布。
论文地址:arxiv.org/abs/2111.08687
欢迎大家亲自挖宝!