BEiT-3论文阅读笔记

BEiT-3论文阅读笔记

A.写在前面

微软亚研院不仅仅是前沿AI技术领域一位强有力的输出者,我还很喜欢读他们的论文,他们的论文每次都会提出一些有趣的概念,行文思路和叙事结构也都很柔顺流畅。如本次论文的题目Image as a Foreign Language: BEiT Pretraining for All Vision and Vision-Language Tasks.瞬间就吸引住了我。关于对标题的解释下文会给出。

我和知乎上一位匿名用户的观点类似,之前对BEiT系列的工作一直鸣不平来着,它的提出是稍早于MAE的。KaiMing在BEiT之后提出了MAE,比BEiT的结果数值多出一点点,但之后BEiT2版本也发布了并且效果超过了MAE,包括这次的BEiT3,足以证明BEiT系列工作的效果,但很明显BEiT并没有得到相应的关注与热度。原因嘛,DDDD。

读论文要有批判性,不要被文章中那张雷达图给”唬住”,雷达图只给了CV和多模态多项任务的对比结果,但没有给出NLP任务的实验结果。从数据角度目前来说language信息帮助vision任务仍然是多与vision信息帮助language的。
以及新概念的提出可能是基于一个已经存在的旧概念,新概念只是重新描述了一下。big convergence基于的就是早已”深入人心”的几个概念。下文再聊。

题外话
这几天刷朋友圈和微博看到的基本就是两件事:BEiT3″杀疯了”、NVIDIA和AMD断供NPU了。还记得那个老套的定义吗,就是什么AI的三个奠基石是算力、模型、数据。数据就不说了,结果另外很重要的两个的主动权一个也不在我们的手中,这就有些令人沮丧。我很希望有机会写博客”大肆宣扬”我们提出的模型性能和算力的普及结果。

B. 科普BEiT讲了一个什么样的故事

一种视觉大模型预训练方法

BEiT-1的论文的标题为:BEIT: BERT PRE-TRAINING OF IMAGE TRANSFORMERS,意思是提出一种基于Transformer的图像领域的BERT,而BERT是一种NLP领域的预训练方法。

问题的引入是:图像和文字信息的差异是非常明显的,如果想要仿照NLP领域的方法去做CV领域的预训练,怎么处理两种信息之间的差异就变为了首要解决的问题。

BEiT将图片转化成了两种表示视图。一是,通过编码学习 Tokenizer,将图像变成离散的视觉符号(visual token),类似文本;二是,将图像切成多个小”像素块”(patch),每个像素块相当于一个字符。这样,在用 BEiT 预训练时,模型可以随机遮盖图像的部分像素块,并将其替换为特殊的掩码符号,然后在骨干网络ViT中不断学习、预测实际图片的样子。在BEiT预训练后,通过在预训练编码上添加任务层,就可以直接微调下游任务的模型参数。在图像分类和语义分割方面的实验结果表明,与以前的预训练方法相比,BEiT模型获得了更出色的结果。同时,BEiT 对超大模型(如1B或10B)也更有帮助,特别是当标记数据不足以对大模型进行有监督预训练时。

BEiT-3论文阅读笔记

C.BEiT-3摘要拆分

Abstract:A big convergence of language, vision, and multimodal pretraining is emerging. In this work, we introduce a general-purpose multimodal foundation model BEIT-3, which achieves state-of-the-art transfer performance on both vision and visionlanguage tasks. Specifically, we advance the big convergence from three aspects: backbone architecture, pretraining task, and model scaling up. We introduce Multiway Transformers for general-purpose modeling, where the modular architecture enables both deep fusion and modality-specific encoding. Based on the shared backbone, we perform masked “language” modeling on images (Imglish), texts (English), and image-text pairs (“parallel sentences”) in a unified manner. Experimental results show that BEIT-3 obtains state-of-the-art performance on object detection (COCO), semantic segmentation (ADE20K), image classification (ImageNet), visual reasoning (NLVR2), visual question answering (VQAv2), image captioning (COCO), and cross-modal retrieval (Flickr30K, COCO).

1.展示了一个新的概念”big convergence”(大一统),这包括backbone主干架构、预训练任务和模型规模的深化。
2.实现的主要细节有两方面:为通用建模中引入Multiway Transformers,其中模块化架构支持深度融合和特定于模态的编码。基于共享的主干,以统一的方式对图像(Imglish)、文本(English)和图像-文本对(””parallel sentences”)进行masked “language”建模。
3.将此整体结构称为BEiT3,并在目标检测 (COCO)、语义分割 (ADE20K)、图像分类 (ImageNet)、视觉推理 (NLVR2)、视觉问答 (VQAv2)、图像字幕 (COCO) 和跨模态检索 (Flickr30K, COCO)等任务中实现了SOTA。

D.关于摘要中提到的”大一统”概念的详解

1.骨干网络逐渐统一

模型架构的统一,为预训练的大一统提供了基础。在这个思想指引下,文章提出了一个统一的骨干网络Multiway Transformer,可以同时编码多种模态。此外,通过模块化的设计,统一架构可以用于不同的视觉及视觉-语言下游任务。受到UniLM(统一预训练语言模型)的启发,理解和生成任务也可以进行统一建模。

将Multiway Transformer作为骨干网络以对不同模态进行编码。每个Multiway Transformer由一个共享的自注意力模块(self-attention)和多个模态专家(modality experts)组成,每个模态专家都是一个前馈神经网络(feed-forward network)。共享自注意力模块可以有效学习不同模态信息的对齐,并对不同模态信息深度融合编码使其更好地应用在多模态理解任务上。根据当前输入的模态类别,Multiway Transformer会选择不同模态专家对其进行编码以学习更多模态特定的信息。每层 Multiway Transformer包含一个视觉专家和一个语言专家,而前三层Multiway Transformer拥有为融合编码器设计的视觉-语言专家。针对不同模态统一的骨干网络使得BEiT-3能够广泛地支持各种下游任务。如图所示,BEiT-3可以用作各种视觉任务的骨干网络,包括图像分类、目标检测、实例分割和语义分割,还可以微调为双编码器用于图像文本检索,以及用于多模态理解和生成任务的融合编码器。

BEiT-3论文阅读笔记

2.预训练任务的统一

基于掩码数据建模(masked data modeling)的预训练已成功应用于多种模态,如文本和图像。文章将图像看作一种语言,实现了以相同的方式处理文本和图像两种模态任务的目的。自此,图像-文本对可以被用作”平行句子”来学习模态之间的对齐。通过数据的归一化处理,还可以利用生成式预训练来统一地进行大规模表示学习。BEiT-3 在视觉、视觉-语言任务上达到 SOTA 性能也证明了生成式预训练的优越性。

掩码数据建模,指在单模态(即图像与文本)和多模态数据(即图像-文本对)上通过统一的掩码-预测任务进行 BEiT-3 预训练。预训练期间,会随机掩盖一定百分比的文本字符或像素块,模型通过被训练恢复掩盖的文本字符或其视觉符号,来学习不同模态的表示及不同模态间的对齐。不同于之前的视觉-语言模型通常采用多个预训练任务,BEiT-3仅使用一个统一的预训练任务,这对于更大模型的训练更加友好。由于使用生成式任务进行预训练,BEiT-3 相对于基于对比学习的模型也不需要大批量训练,从而缓解了GPU显存占用过大等问题。

BEiT-3论文阅读笔记

3.模型深化规模的统一

扩大模型规模和数据大小可提高基础模型的泛化能力,从而提升模型的下游迁移能力。遵循这一理念,逐渐将模型规模扩大到了数十亿个参数,例如在 NLP 领域,Megatron-Turing NLG模型有5300亿参数,这些大模型在语言理解、语言生成等任务上都取得了更好的成效;在 CV 领域,Swin Transformer v2.0具有30亿参数,并在多个基准上刷新了纪录,证明了视觉大模型在广泛视觉任务中的优势。再加上本文提出的将图像视为一种语言的方式,可直接复用已有的大规模语言模型的预训练方法,从而更有利于视觉基础模型的扩大。

BEiT-3由40层Multiway Transformer组成,模型共包含19亿个参数。在预训练数据上,BEiT-3基于多个单模态和多模态数据进行预训练,多模态数据从五个公开数据集中收集了大约1,500万图像和2,100万图像-文本对;单模态数据使用了1,400万图像和160GB文本语料。

对应之前提到的,这三方面的统一概念了解后,就能知晓big convergence的相关概念早已存在,即大模型发展成熟的几项条件: 一是 Transformers 成为不同领域和问题的通用神经网络架构和建模方式,二是生成式预训练(generative pre-training)成为最重要的自监督学习方法和训练目标,三是数据和模型参数的规模化(scaling up)进一步释放基础模型的潜力。

参考文献

通用多模态基础模型BEiT-3:引领文本、图像、多模态预训练迈向”大一统”__财经头条

Original: https://blog.csdn.net/qq_37662375/article/details/126645900
Author: 是魏小白吗
Title: BEiT-3论文阅读笔记

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/650895/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球