浅谈视觉超大模型
人工智能可以分为几个发展阶段:基于数据的互联网时代、基于算力的云计算时代,以及接下来进入的基于模型的 AI 时代。随着 GPT-3 的横空出世,这个具有 1750 亿参数的通用预训练模型让人们看到了“超大模型”实现通用人工智能的潜力, 之后越来越多学术机构和企业加入“炼大模型”的行列,Google 推出的 Switch Transformer 模型,更是将参数量提升到 1...
人工智能可以分为几个发展阶段:基于数据的互联网时代、基于算力的云计算时代,以及接下来进入的基于模型的 AI 时代。随着 GPT-3 的横空出世,这个具有 1750 亿参数的通用预训练模型让人们看到了“超大模型”实现通用人工智能的潜力, 之后越来越多学术机构和企业加入“炼大模型”的行列,Google 推出的 Switch Transformer 模型,更是将参数量提升到 1.6 万亿, 成为人类历史上首个万亿级语言模型。但是视觉领域的大模型目前仍处于初步摸索阶段,本文主要对现有的视觉超大模型进行简单介绍, 并对大模型的应用和未来发展趋势进行分析。
盘古 cv
盘古大模型由 NLP 大模型、CV 大模型、多模态大模型、科学计算大模型多个大模型构成,通过模型泛化, 解决传统 AI 作坊式开发模式下不能解决的 AI 规模化、产业化难题。
盘古 CV 使用基于全局的对比度自监督学习方法。在预训练算法里面,集成了十余种数据增强方法, 使得整个模型具有针对不同数据增强的不变性。盘古 CV 大模型搭载模型蒸馏、抽取以及行业大模型, 已经适配了大概十余种预训练模型,在相应的行业上,得到了非常大的精度提升。同时也极大的减少了标注代价以及模型迭代周期。
ViT(Vision Transformer)
模型整体结构上,抛弃了CNN,将 BERT 原版的 Transformer 开箱即用地迁移到分类任务上面,在使用大规模训练集的进行训练时,取得了极好的效果。同时,在大规模数据集上预训练好的模型,在迁移到中等数据集或小数据集的分类任务上以后,也能取得比CNN更优的性能。
模型整体结构如下图所示,完全使用原始 BERT 的 Transformer 结构,主要是对图片转换成类似 token 的处理,原文引入了一个 patch 的概念, 首先把图像划分为一个个的 patch,然后将 patch 映射成一个 embedding,即图中的 linear projection 层,将输入转换为类似 BERT 的输入结构, 然后加上 position embedding,这里的 position 是1D的,最后加上一个learnable classification token 放在序列的前面,classification 由 MLP 完成。
ViT模型在下游任务的fine-tune结果:
V-MOE
V-MoE 是迄今为止最大的视觉模型,在 ImageNet 上的 Top-1 accuracy 达到 90.35%。V-MoE 核心设计是 Sparse Mixture of Experts。
V-MoE 是在 ViT 模型基础上构建的,包含 L 个同质的 ViT 模块,将 ViT transformer 模块中的 MLP 替换成一系列的 MLPs,每个 MLP 放在一个单 独的 device 上,负责处理固定数量的 tokens (image patchs),每个 MLP 为一个 expert,替换后的 layer 称为 MoE layer。每个图像的每个 token 在每个 MoE 层有 L 个 expert 负责处理。
V-MOE在不同下游任务的fine-tune结果:
Swin Transformer
Swin Transformer 的核心设计是将 Self-Attention 层划分为 shift,shifted windows 接入上一层窗口,二者之间保持连接, 由此显著增强建模能力。通过 shifted windows 操作,实现了 CNN 里面的 hierarchical 的结构。这类 hierarchical 的结构更适用于不同的 scale,同时其计算复杂性仅与 image size 线性相关。
Swin Transformer 在各类回归任务、图像分类、目标检测、语义分割等方面具有极强性能,其性能优于 VIT/DEIT 与 RESNE (X) T。以 Swin Transformer 为 backbone 的模型,在分类、检测和分割等多个任务上实现了霸榜。
CoAtNet
CoAtNet 为结合了 Transformer 的大模型容量和卷积网络的强泛化能力构建的混合模型。CoAtNet 首先将 MBConv 和 Self-Attention 通过简单的 相对注意力自然地统一起来,然后以有原则的方式垂直堆叠 MBConv 层和 Self-Attention 层在提高泛化、容量和效率方面非常有效。
CoAtNet 在没有额外数据的情况下实现了 86.0% 的 ImageNet top-1 准确率,在使用 JFT 数据进行训练后达到了 89.77%,优于卷积网络和 Transformer 的现有技术。当使用来自 ImageNet-21K 的 1300 万张图像进行预训练时,CoAtNet 实现了 88.56% 的 top-1 准确率,与使用来自 JFT 的 300M 图像进行预训练的 ViT-huge 准确率相一致,同时使用的数据减少了 23 倍。
CoCa
CoCa(Contrastive Captioner),结合了 contrastive loss和caption loss。其中,contrastive 类似于 CLIP 做 image-text pairs 比对 的方法,caption 则是让模型有生成 image caption 的能力,即根据图像生成文字描述。模型在 pretrain 任务中引入了caption loss,可以更好的将 两种模态的数据做 cross attention,进一步提升模型性能。模型结构如下图所示:
CoCa 通过将所有标签简单地视为文本,对 web-scale alt-text 和 annotated images 进行了从头开始端到端的预训练,无缝地统一了表示学习的自然 语言 监督。因此,CoCa 在广泛的下游任务上实现了最先进的性能,零样本传输或最小的任务特定适应, 跨越视觉识别(ImageNet,Kinetics-400/600/700,Moments-in-Time )、跨模式检索(MSCOCO、Flickr30K、MSR-VTT)、 多模式理解(VQA、SNLI-VE、NLVR2)和图像字幕(MSCOCO、NoCaps)。在 ImageNet 分类中,CoCa 获得了 86.3% 的 zero-shot top-1 准确率, frozen encoder and finetune classifier 是 90.6%,finetune encoder 可以到 91.0%。
对比分析
以上介绍了近两年来在 ImageNet-1k 数据集上分类准确率较好的 6 个大规模模型,这些模型均是在 Transformer 的基础上进行了或多或少的变形和改进 以实现在下游不同任务上的霸榜,其中华为盘古CV没有开源;V-MOE是现有的最大的视觉大模型,参数量 150 亿;ViT模型从 base、large、huge 到 G, 参数量逐渐增多,性能也逐渐提升,ViT-G 在imagenet-1k上的分类准确率为 90.45% 超过了 V-MOE,且 ViT-G 的参数量仅为 18亿;Swin Transformer 模型从 base、large、huge 到 Swin Transformer v2,Swin Transformer v2 的参数量为30亿,在 imagenet-1k 上的 分类准确率为 90.17%;CoAtNet 结合了 Transformer 和卷积网络,可以使用少的数据集达到和 ViT-huge 一样的效果;2022 年 5 月份谷歌提出的 CoCa 模型将图片和文本结合在一起不但在 ImageNet-1k 数据集上分类准确率高达 91%,位于榜单第一,在别的下游任务上也有着极好的性能。我们计划 基于 ViT 框架搭建一个参数量级为百亿级的视觉大模型,正在实验测试中,后续敬请期待。
CV 大模型发展展望
截止目前国内外已经发布了许多包括 NLP, CV 和 多模态在内的大规模模型,但是这些模型在应用落地上还是有待进一步探究的,目前应用落地较好的有华为 的盘古,在电网和金融圈都有应用;智源的悟道系列在诗词图文上都有广泛应用,可以帮助学生看图写作,根据文字生成插图等;百度的文心也发布了在金融方 面的应用。但截止目前为止大模型在实际中的应用还不是很理想,大模型发展的初衷是使用一个预训练好的大模型代替一堆小作坊似的根据不同任务训练的小模 型,通过模型蒸馏知识迁移等技术在小模型上使用少量数据集达到超过原来小模型性能的目标。CV 大模型在应用上的一个难点是与实际应用相结合,目前社会中 用的较多的视觉相关的深度学习模型主要包括物体检测,人脸识别以及缺陷检测(部分)相比 NLP 模型在实际中的使用少很多,因此将 CV 模型与实际生产相 结合发现更多的应用场景很关键。另外一个 CV 大模型应用的难点就是如何快速高效的使用蒸馏和知识迁移技术提升下游任务的性能,这两点难题的解决在 CV 大模型的实际应用中都刻不容缓。
更多推荐
所有评论(0)