摘要:本案例描述了微软亚洲研究院联合微软图灵团队推出的最新升级的 BEiT-3 预训练模型,如何在广泛的视觉及视觉-语言任务上,实现当前最优的迁移性能。BEiT-3 创新的设计和出色的表现为多模态研究打开了新思路,也预示着 AI 大一统渐露曙光。通过云部署和云端协作,AI 将有可能真正成为像水和电一样的“新基建”赋能各行各业,并进一步催生颠覆性的应用场景和商业模式。
关键词:BEiT-3;多模态预训练模型;AI大一统;微软亚洲研究院
案例正文:
当前人工智能技术正沿着追求更高精度、挑战复杂任务、拓展能力边界等方向持续演进。多条技术路线齐头并进,孕育着革命性的突破:新的深度学习优化算法不断涌现,超大规模预训练模型等成为近几年最受关注的热点之一,强化学习、自监督学习等多元学习方式加速发展。
在早期对于 AI 和深度学习算法的探索中,科研人员都是专注于研究单模态模型,并利用单一模态数据来训练模型。例如,基于文本数据训练自然语言处理(NLP)模型,基于图像数据训练计算机视觉 (CV) 模型,使用音频数据训练语音模型等等。然而,在现实世界中,文本、图像、语音、视频等形式很多情况下都不是独立存在的,而是以更复杂的方式融合呈现,因此在人工智能的探索中,跨模态、多模态也成了近年来业界研究的重点。
2022年,微软亚洲研究院联合微软图灵团队推出了最新升级的 BEiT-3 预训练模型,在广泛的视觉及视觉-语言任务上,包括目标检测、实例分割、语义分割、图像分类、视觉推理、视觉问答、图片描述生成和跨模态检索等,实现了当前最优的迁移性能。BEiT-3 创新的设计和出色的表现为多模态研究打开了新思路,也预示着 AI 大一统渐露曙光。
BEiT:微软亚洲研究院为视觉基础大模型开创新方向
在 CV 领域的模型学习中,通常使用的是有监督预训练,即利用有标注的数据。但随着视觉模型的不断扩大,标注数据难以满足模型需求,当模型达到一定规模时,即使模型再扩大,也无法得到更好的结果,这就是所谓的数据饥饿。因此,科研人员开始使用无标注数据进行自监督学习,以此预训练大模型参数。
以往在 CV 领域,无标注数据的自监督学习常采用对比学习。但对比学习存在一个问题,就是对图像干扰操作过于依赖。当噪声太简单时,模型学习不到有用的知识;而对图像改变过大,甚至面目全非时,模型无法进行有效学习。所以对比学习很难把握这之间的平衡,且需要大批量训练,对显存和工程实现要求很高。
对此,微软亚洲研究院自然语言计算组的研究员们提出了掩码图像建模预训练任务,推出了 BEiT 模型。与文本不同,图像是连续信号,那要如何实现掩码训练呢?
为了解决这一问题,研究员们将图片转化成了两种表示视图。一是,通过学习图像“分词器”,将图像变成离散的符号表示,类似文本;二是,将图像切成多个小“像素块”,每个像素块作为连续表示的最小图像输入单元。这样,在用 BEiT 预训练时,模型可以随机遮盖图像的部分像素块,并将其替换为特殊的掩码符号[M],然后在骨干网络 ViT 中不断学习、预测实际图片的样子。在 BEiT 预训练后,通过在预训练编码上添加任务层,就可以直接微调下游任务的模型参数。在图像分类和语义分割方面的实验结果表明,与以前的预训练方法相比,BEiT模型获得了更出色的结果。同时,BEiT 对超大模型(如1B或10B)也更有帮助,特别是当标记数据不足以对大模型进行有监督预训练时。
BEiT相关论文被 ICLR 2022 大会接收为口头报告论文。ICLR 大会评审委员会认为,BEiT 为视觉大模型预训练的研究开创了一个全新的方向,首次将掩码预训练应用在了 CV 领域,非常具有创新性。
BEiT-3为 AI 多模态基础大模型研究打开新思路
在 BEiT 的基础上,微软亚洲研究院的研究员们在 BEiT-2 中进一步丰富了自监督学习的语义信息。BEiT-3 则利用一个共享的“多路Transformer(Multiway Transformer)”结构,通过在单模态和多模态数据上进行掩码数据建模完成预训练,并可迁移到各种视觉、视觉-语言的下游任务中。
据介绍,BEiT-3 的创新之处包含三个方面:骨干网络、预训练任务和扩大模型规模。
其中,在骨干网络方面,研究员们将多路Transformer作为骨干网络以对不同模态进行编码。每个多路Transformer由一个共享的自注意力模块和多个模态专家组成,每个模态专家都是一个前馈神经网络。共享自注意力模块可以有效学习不同模态信息的对齐,并对不同模态信息深度融合编码使其更好地应用在多模态理解任务上。根据当前输入的模态类别,多路Transformer会选择不同模态专家对其进行编码以学习更多模态特定的信息。每层多路Transformer包含一个视觉专家和一个语言专家,而前三层多路Transformer拥有为融合编码器设计的视觉-语言专家。针对不同模态统一的骨干网络使得 BEiT-3 能够广泛地支持各种下游任务。如图3所示,BEiT-3 可以用作各种视觉任务的骨干网络,包括图像分类、目标检测、实例分割和语义分割,还可以微调为双编码器用于图像文本检索,以及用于多模态理解和生成任务的融合编码器。
在预训练任务方面,研究员们在单模态(即图像与文本)和多模态数据(即图像-文本对)上通过统一的掩码-预测任务进行 BEiT-3 预训练。预训练期间,会随机掩盖一定百分比的文本字符或像素块,模型通过被训练恢复掩盖的文本字符或其视觉符号,来学习不同模态的表示及不同模态间的对齐。不同于之前的视觉-语言模型通常采用多个预训练任务,BEiT-3 仅使用一个统一的预训练任务,这对于更大模型的训练更加友好。由于使用生成式任务进行预训练,BEiT-3 相对于基于对比学习的模型也不需要大批量训练,从而缓解了 GPU 显存占用过大等问题。
在扩大模型规模方面,BEiT-3 由40层多路Transformer组成,模型共包含19亿个参数。在预训练数据上,BEiT-3 基于多个单模态和多模态数据进行预训练,多模态数据从五个公开数据集中收集了大约1500万图像和2100万图像-文本对;单模态数据使用了1400万图像和160GB文本语料。
“BEiT 系列研究有一个一以贯之的思想和原则,就是我们认为从通用技术层面看图像也可视为一种‘语言’,从而可以以统一的方式对图像、文本和图像-文本对进行建模和学习。如果说 BEiT 引领和推进了生成式自监督预训练从 NLP 到 CV 的统一,那么,BEiT-3 实现了生成式多模态预训练的统一,”微软亚洲研究院自然语言计算组首席研究员韦福如说。
BEiT-3 使用多路Transformer有效建模不同的视觉、视觉-语言任务,并通过统一的掩码数据建模作为预训练目标,这使得 BEiT-3 成为了通用基础模型的重要基石。“BEiT-3 既简单又有效,为多模态基础模型扩展打开了一个新方向。接下来,我们还将持续进行对 BEiT 的研究,以促进跨语言和跨模态的迁移,推动不同任务、语言和模态的大规模预训练甚至模型的大一统。”
多模态和通用基础模型研究还有更广阔的空间等待探索
人的感知和智能天生就是多模态的,不会局限在文本或图像等单一的模态上。因此,多模态是未来一个重要的研究和应用方向。另外,由于大规模预训练模型的进展,AI 的研究呈现出大学科趋势,不同领域的范式、技术和模型也在趋近大一统。跨学科、跨领域的合作将更加容易和普遍,不同领域的研究进展也更容易相互推进,从而进一步促进人工智能领域的快速发展。
“尤其是通用基础模型和通才模型等领域的研究,将让 AI 研究迎来更加激动人心的机遇和发展。而技术和模型的统一会使得 AI 模型逐步标准化、规模化,进而为大范围产业化提供基础和可能。通过云部署和云端协作,AI 将有可能真正成为像水和电一样的‘新基建’赋能各行各业,并进一步催生颠覆性的应用场景和商业模式,” 韦福如表示。