Abstract&Introduction&Related Work
-
研究任务
- 多模式预训练的统一范式
- 包括图像生成、visual-grounding(visual grounding涉及计算机视觉和自然语言处理两个模态。简要来说,输入是图片和对应的物体描述,输出是描述物体的box)、图像字幕、图像分类、语言建模等
-
已有方法和相关工作
- Language Pretraining & Vision Pretraining
- Multimodal Pretraining
- Unified Frameworks
-
面临挑战
- 现有的方法往往包含用于fine-tune的额外可学习组件,这使得模型结构任务特定,并在预训练和微调之间产生差异。这种设计也不利于以zero-shot的方式支持没有见过的任务
- task-specific heads
- adapters
- soft prompts
- 任务专用formulation,对于大多数当前的方法,预训练、微调和zero-shot任务通常在任务制定和训练目标上有所不同。这违反了任务不可知,增加任务数量以实现任务综合性是一项负担
- 将模态表示与下游任务纠缠在一起。视觉语言模型通常将检测到的对象作为图像输入特征的一部分。虽然它在某些封闭域数据集上表现出更好的下游任务性能,但它依赖于额外的目标检测器,而在开放域数据上通常会失败
- 现有的方法往往包含用于fine-tune的额外可学习组件,这使得模型结构任务特定,并在预训练和微调之间产生差异。这种设计也不利于以zero-shot的方式支持没有见过的任务
-
创新思路
- 使用一个seq2seq的统一架构完成多模态任务,在预训练和fine-tune阶段都使用instruction-based方法,不需要为下游任务增加任何task-specific层
- 最近的多模态sota模型都使用了极其巨大的跨模态训练集,而OFA仅仅使用了20M的公开图片文本对
-
实验结论
- 在多模态任务上达到sota但是速度可以匹敌单模态模型
为了在保持多任务性能和易用性的同时更好地泛化开放式问题,我们认为全能模型应具有以下三个属性:
1.任务不可知(TA):支持不同类型任务的统一任务表示,包括分类、生成、自监督代理(pretext-task)任务等。并且对预训练或fine-tune不可知
2.模态不可知(MA):所有任务之间共享的统一输入和输出表示,以处理不同的模态
3.任务综合性(TC):足够的任务多样性,以稳健地积累泛化能力
OFA
在这项工作中,我们提出了OFA,一个统一的Seq2Seq框架,用于统一I/O和架构、任务和模态
I/O & Architecture
IO
使用ResNet来提取图像特征,关于语言信息的处理,我们遵循GPT和BART的实践,将字节对编码(BPE)应用于给定的文本序列,将其转换为subword sequnce,然后将其嵌入到特征中
为了在没有任务特定输出模式的情况下处理不同的模式,必须在统一的空间中表示各种模式的数据。一种可能的解决方案是将文本、图像和对象离散化,并用统一词汇表中的标记表示它们。图像量化的最新进展证明了文本到图像综合的有效性,因此我们将此策略用于target-side图像表示。稀疏编码在减少图像表示的序列长度方面是有效的。例如,分辨率为256×256的图像被表示为长度为16×16的代码序列。每个离散代码与相应的补丁密切相关。
除了表示图像,还必须表示图像中的对象,因为存在一系列与区域相关的任务。我们将对象表示为一系列离散标记。更具体地说,对于每个对象,我们提取其标签和边界框。边界框的连续角坐标(左上角和右下角)被均匀离散为整数,作为位置标记 < x 1 、 y 1 、 x 2 、 y 2 > <x_1、y_1、x_2、y_2> <x1、y1、x2、y2>。至于对象标签,它们是本质上的词,因此可以用BPE标记表示。
最后对所有语言和视觉token使用统一的词汇表,包括subword、image codes, 和location tokens
Architecture
选择Transformer作为骨干架构,并采用encdoer-decoder框架作为所有预训练、微调和zero-shot任务的统一架构
为了稳定训练和加速收敛,我们将head scaling添加到自注意、后注意层归一化(LN),以及FFN第一层之后的LN
对于位置信息,我们分别为文本和图像使用两种绝对位置嵌入,不是简单地添加位置嵌入,而是将位置相关性与token embedding和patch embedding分离
对文本使用1D相对位置偏差,对图像使用2D相对位置偏差
Tasks & Modalities
为了统一任务和模式,我们设计了一个统一的seq2seq学习范式,用于对涉及不同模式的所有任务进行预训练、微调和推理。训练前任务和跨模态和单模态理解和生成的下游任务都形成为Seq2Seq生成。可以对多模态和单模态数据进行多任务预训练,使模型具有综合能力。在所有任务中共享相同的模式,同时指定手工编制的指令进行区分
对于跨模态表示学习,我们设计了5项任务,包括visual grounding (VG), grounded captioning
(GC), image-text matching (ITM), image captioning (IC), and visual question answering (VQA)
对于visual grounding,模型学习基于图像
x
i
x_i
xi的输入和指令“文本
x
t
x_t
xt 描述哪个区域?”生成指定区域位置
<
x
1
、
y
1
、
x
2
、
y
2
>
<x_1、y_1、x_2、y_2>
<x1、y1、x2、y2>的位置标记其中
x
t
x_t
xt 表示区域标题
grounded captioning是visual grounding的反向任务。模型学习根据输入图像x i和指令“区域描述了什么?区域:
<
x
1
、
y
1
、
x
2
、
y
2
>
<x_1、y_1、x_2、y_2>
<x1、y1、x2、y2>生成描述
image-text matching,我们使用每个原始图像文本对作为正样本,并通过将图像与随机替换的标题配对来构造新的图像文本对,作为负样本。该模型通过学习基于输入图像
x
i
x_i
xi 和指令“图像是否描述
x
t
x_t
xt?”,生成“是”或“否”,来辨别给定图像和文本是否配对
image captioning,该任务可以自然地适应seq2seq格式。该模型学习基于给定图像和指令“图像描述了什么?”生成字幕
对于visual question answering ,我们用图像和问题作为输入,并要求模型学习生成正确答案
对于单模态表征学习,我们分别设计了2个视觉任务和1个语言任务。该模型通过图像填充和目标检测进行预训练,用于视觉表示学习。计算机视觉生成自监督学习的最新进展表明,掩蔽图像建模是一项有效的预训练任务
我们屏蔽图像的中间部分作为输入。该模型学习根据损坏的输入和指定的指令“中间部分的图像是什么?”,为图像的中心部分生成稀疏代码。我们在预训练中还添加了目标检测。该模型根据输入图像和文本“图像中的对象是什么?”学习生成对象位置和标签序列作为指令。这两项任务都加强了像素和对象级别上的表示学习。对于语言表示学习,遵循BART的实践,我们对具有文本填充的纯文本数据的统一模型进行了预训练
通过这种方式,我们将多个模式和多个任务统一为一个模型和预训练范式。OFA与这些任务和数据一起进行预训练。因此,它可以执行与自然语言、视觉和跨模态相关的不同任务
Pretraining Datasets
训练所使用的数据集
Training & Inference
对于推理,我们应用解码策略,例如beam-search,以提高生成质量。然而,这种范式在分类任务中存在几个问题:
1.对整个词汇表进行优化是不必要的,效率低下
2.在推理过程中,模型可能会从封闭标签集中生成无效标签
为了克服这些问题,我们引入了一种基于前缀树的搜索策略(Trie)。实验结果表明,基于Trie树的搜索可以提高OFA对分类任务的性能
Scaling Models
为了探索不同模型参数大小在下游任务中的表现,做了五个版本
Experiments
Conclusions
在这项工作中,我们提出了一个支持任务全面性的任务不可知和模态不可知框架OFA。
OFA实现了体系结构、任务和模式的统一,因此能够进行多模式和单模式的理解和生成,而无需在其他层或任务中进行说明
今后,我们将继续探索这项工作中发现的问题。此外,我们还努力找出一个合理的解决方案,以构建一个基本上可推广到复杂现实世界的全方位模型
Remark
阿里的多模态大作,感觉有追寻CLIP脚步的感觉,但是方向是更加通用的统一模型,感觉多模态统一模型应该是未来通用人工智能的必备基础,就是可惜一般的组没有这个能力去研究
很好的工作,赞!