仅靠 19 亿参数,只用公共数据集,在 12 个任务上狂刷 SOTA。
微软这篇多模态论文刚挂上 arXiv 不久,就在业内引发强烈关注。
有网友将之总结成" 在所有事情上打败了所有人 "。
怎么回事?先来看这张雷达图:
橙色内圈,是各大任务之前的 SOTA。
紫色外圈,就是这篇 BEiT-3 的结果,不仅超越,而且是全面超越。
具体一圈看下来,BEiT-3 这个多模态模型不光刷遍多模态任务,连右上角的纯视觉三大经典任务也都刷到 SOTA,简直是六边形战士。
知乎上一位同样做多模态研究的选手直呼" 杀死了比赛 "。
其实说起来,微软 BEiT 这个系列最开始做的是视觉自监督学习。
其核心思想与何恺明的 MAE一致,甚至比 MAE 提出的还早一段时间,不过当时性能惜败于 MAE。
如今在多模态方向上绕了一圈后,没想到能以方式横扫视觉与多模态榜单。
取得这种成果的,一般来说还不得是上百亿上千亿参数的大大大模型?
但 BEiT-3 总参数不过19 亿,甚至训练数据上也没什么秘密武器,全都用的公开资源。
那么,这一切是如何做到的?
把图像当成一种外语
最关键的一点,论文标题和摘要就已经指明:
把图像当成一种外语。
这样一来,文本数据是English,图像数据作者开了个小玩笑命名为Imglish,那么图文对数据就相当于平行语料。
那么多模态也好纯视觉也罢,都能用同一个预训练任务来处理。
在这个基础上,论文中把所做突破总结成一个词,大一统(Big Convergence)。
首先,大一统表现在网络架构上。
通过统一多模态表示方式,对于不同任务可以共享一部分参数,采用 Multiway(多路)Transformer 架构作为骨干网络。
具体来说就是共享多头自注意力层,输出时再根据具体任务选择专用的 FFN 层。
第二,大一统又表现在预训练方法上。
既然所有数据都能当成文本数据,那就可以全都按照 BERT 的方法,用掩码 - 预测来做预训练,称为 Masked Data Modeling。
与基于对比学习的训练方法相比,新方法可以选用更小的 Batch Size,又能额外降低显存消耗。
第三,大一统还表现在规模效应上。
统一的预训练任务让模型参数扩大到 10 亿数量级后,对下游任务的泛化能力增强。
另外不同模态的数据集在此方法下也产生规模效应。
团队特意只用公开数据的条件下增加训练数据集规模,结果超越了一些使用高质量私有数据的模型。
BEiT-v 的训练数据来自 5 个公开数据集中的约500 万张图像和 2100 万图像 - 文本对;单模态数据则使用来自 ImageNet-21K 的1400 万张图像和 160GB 的文本语料库。
除此之外,在规模上也远小于其它的多模态预训练模型,例如 ALIGN(18 亿图文对)、CLIP(4 亿图文对)、SimVLM(18 亿图文对,800GB 文本)等。
所有这些优势叠加在一起,BEiT-3 就以更少的训练数据、更小的模型参数取得更好的性能。
在纯视觉任务(图像分类、目标检测、语义分割)以及多模态任务(视觉推理、视觉问答、图像描述、微调的跨模态检索、零样本跨模态检索)总共 8 类任务下超越各自之前的 SOTA。
BEiT-3 这篇论文很简短,不算参考文献只有 9 页。
但熟悉微软 BEiT 系列历史的话就会知道,这项研究取得成功的意义不仅在于其自身,也不仅是多模态学习的一项突破——
还给视觉大规模预训练这个兴起不久的领域,带来新的可能性。
BEiT 与 MAE,视觉自监督的路线之争
关于微软的 BEiT 系列,全称为Bidirectional Encoder representation from Image Transformers,比大家熟悉的语言模型BERT多了个 "Image"。
其主要思想就是借鉴 BERT,把掩码建模方法用到视觉任务上,做视觉的自监督学习,解决高质量标注数据难以获得的难题。
初代 BEiT 论文于去年 6 月发表,比同类工作何恺明的 MAE 还要早一些,也是 MAE 论文中的主要比较对象之一。
初代 BEiT,惜败 MAE
两项研究都是用 " 先掩码再预测 " 来做预训练任务,最大的区别在于 BEiT 会把视觉 token 离散化、最后模型预测的是token,而 MAE 则是直接预测原始像素。
△初代 BEiT 的架构
在三大视觉任务上,MAE 比当时的 BEiT 略胜一筹。并且因方法更简单直接,MAE 运行起来也要快上不少(3.5 倍)。
为了证明在 MAE 中 token 化这一步并无必要,何恺明团队在论文中还特意做了消融试验。
结果表明,两种方法统计上并无显著差异,对于 MAE 来说预测原始像素就足够了。
不过 BEiT 团队并没有放弃离散化 token 这个方法,而是沿着这个思路继续探索下去。
VL-BEiT,初探多模态
一年之后,团队发表了多模态模型 VL-BEiT,可以算作是现在这篇 BEiT-3 的雏形。
VL-BEiT 已经用上了共享 Attenion 层、再对不同任务连接不同 FFN 层的架构。
这一思想其实来自同一团队更早之前一篇论文VLMo,对每个模态设置一个专家层的方法称为 MoME(Mixture-of-Modality-Experts)。
不过,VL-BEiT 在预训练任务上还比较复杂,会对文本数据和图像数据分别做掩码建模,至于多模态图文对数据也是分开处理的。
最后结果,VL-BEiT 在多模态任务和纯视觉任务上表现都不错,但还不像现在的 BEiT-3 这样大杀四方。
不过别急,突破口很快就被找到。
BEiT v2,把 token 提升到语义级
BEiT-3 发表仅一周之前,微软与国科大团队合作发表了一篇 BEiT v2。
两者命名方式有细微差别,因为 BEiT v2 确实代表是 BEiT 的升级版。
而 BEiT-3 的 3 论文中虽未明说,但说的大概不是 " 第三代 ",而是另有所指(稍后揭秘)。
说回到 BEiT v2,这篇论文重新专注于纯视觉,在初代 BEiT 基础上提出了新的语义级 tokenizer。
具体来说,BEiT v2 引入了矢量量化(Vector-Quantized)和知识蒸馏(Knowledge Distillation)来训练 tokenizer。
同样是做离散化 token,新方法能重建知识蒸馏中教师模型的语义特征,大大提高 token 中携带的语义信息,从而提高模型性能。
接下来,教师模型用谁就很关键了。
在对比了 FAIR 的DINO模型和 OpenAI 的CLIP模型之后,团队发现还是 CLIP 更香。
最终结果上,BEiTv2 性能反超 MAE 和这段时间出现的其他方法,重回 SOTA。
BEiT-3,集大成者
了解了整个 BEiT 系列的发展历程,最后再来看一下 BEiT-3。
论文共同一作董力,点出了模型命名中"3"的含义:
多模态统一的预训练方式 + 共享 Attention 的多路 Transformer+ 扩大规模的大一统(Big Convergence)。
如此一来,BEiT-3 能在多模态任务和视觉任务中都取得 SOTA 也就不奇怪了。
这样一篇论文,自然吸引了行业内很多目光。
鲁汶大学一位教授认为,这代表微软在 AI 科研方面赶上谷歌 /DeepMind、Meta 和 OpenAI," 重新坐上了牌桌 "。
随着讨论热度升级,对论文更严格的审视目光也多了起来。
谷歌一位研究员指出,论文结果看起来简洁又令人印象深刻,就是这雷达图的坐标取值有点不太严谨。
知乎上也有网友提问,如果用了 CLIP 作为教师模型的话,那么来自 CLIP 高质量配对数据的贡献有多少,直接改改 CLIP 就用又会如何?
作者团队
最后再来介绍一下作者团队,BEiT-3 相关研究论文的作者都来自微软。
三位共同一作分别是 Wenhui Wang,Hangbo Bao(鲍航波)和 Li Dong(董力)。
其中,鲍航波和董力都是从初代 BEiT 就参与了研究,一直贯穿 VL-BEiT 和 BEiT v2 的发展,鲍航波更是 BEiT 和 VL-BEiT 论文的一作。另一位 Wenhui Wang 之前也曾参与过 VL-BEiT 的研究。
通讯作者是微软亚洲研究院 NLP 小组的 Partner 研究经理 Furu Wei(韦福如)。
一起剪
ZAKER旗下免费视频剪辑工具
智慧云
ZAKER旗下新媒体协同创作平台
相关阅读
最新评论
原文地址:http://www.myzaker.com/article/630a38ab8e9f09231f39141d