ONE-PEACE: 更好的通用表征模型

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: ONE-PEACE: 更好的通用表征模型

今天正式推出我们的通用多模态表征模型ONE-PEACE,拿到多个SOTA,展现emergent zeroshot的能力。正式放arxiv,github repo刚开(预计代码release会有大概3-5天),欢迎关注以及给个star支持下!

abs:

https://arxiv.org/abs/2305.11172

github:

https://github.com/OFA-Sys/ONE-PEACE

为什么是通用多模态表征模型

表征模型的重要性无需多言,尤其CLIP之后大家都意识到一个好的多模态表征模型在很多单模态任务上都会发挥着至关重要的基础模型的作用。学习了大量模态alignment的数据之后的模型逐渐在学会去理解各个模态和模态间蕴含的知识。但过去大部分模型,基本都把重点关注在图文数据上了,主要还是得益于社区贡献了大量高质量的如LAION这类的数据集。然而如果想更进一步去理解世界,我们希望能够把全世界各种模态的信息关联在一起,至少我们希望看到一个prototype来说明怎么实现一个不限模态(unlimited modalities)的通用表征模型。

ImageBind算是跨出了重要的一步,但我之前文章提了我的个人观点,就是采用小规模其他模态和图像的对齐数据来实现其他模态encoder和CLIP的vision encoder的方案,这类取巧的方案成本低实现容易,也能拿到不错的结果,但真想做到足够好,还有一定距离。

我们大概去年意识到这个问题开始尝试做这个事情,相对来说两位核心输出的同学做起来有点苦哈哈,辛苦去收集数据和吭吭搞大规模预训练。不过功夫不负有心人,我们还是一把输出了一个4B规模的通用表征模型(图文音三模态统一),在语义分割、音文检索、音频分类和视觉定位几个任务都达到了新SOTA表现,在视频分类、图像分类图文检索、以及多模态经典benchmark也都取得了比较领先的结果。另外,模型展现出来新的zeroshot能力,即实现了新的模态对齐,比如音频和图像的对齐,或者音频+文字和图像的对齐,而这类数据并没有出现在我们的预训练数据集里。下面我来具体介绍下方法实现:

ONE-PEACE的方法

总体而言,ONE-PEACE的模型结构核心还是基于transformer,只不过针对多模态做了特殊的设计,当然这里也得感谢前人的很多工作积累了非常多有用的经验。预训练任务的思路就是几个重要的多任务训练,围绕contrastive learning展开。模型架构和训练方法整体如下图所示:

image.png

模型结构本质上还是transformer,处理方法和我们之前做OFA接近,通过各自模态的adaptor实现信息的向量化,传入Transformer engine。这里language adaptor就是最简单的word embedding,vision adaptor采用了hierarchical MLP,相比过去使用ResNet或者CLIP ViT成本更低,audio adaptor采用的是convolutional feature extractor。输入Transformer模型后,我们希望模型既有统一处理的部分,也有模态特定的处理部分。参考VLMo和BeiT-3的成功经验,我们将FFN部分设计成multiway(Modality-specific MoE)的方式,每个模态包含各自的FFN层。而在Transformer内部,主要实现了几处改动。一是GeGLU的引入,相比GeLU能实现更好的效果;二是相对位置编码,实现更好的position表示;三是使用了Magneto的方案,在attention和FFN均新增layernorm增加训练稳定性,四是使用LayerScale,同样能够提升训练稳定性。

训练方法上,我们主要围绕对比学习展开,只不过实际实现并非只使用一个模态一个embedding然后做InfoNCE的方案。这部分主要分为两类任务:

  • 跨模态对比学习:这部分可以认为和CLIP的训练方法类似,只不过扩展到更多的模态组合,从而实现模态和模态之间的对齐。这里我们同样没有遍历所有模态的两两组合,而选用文本作为中介。

  • 模态内去噪对比学习:名字有点拗口,这里用的词是intra-modal denoising contrastive learning。这个任务的本质是masked element(language/image/audio)modeling,但走的是feature distillation的路线。之后有机会整理下feature distillation这条线的工作,在表征学习上还是取得不错的进展。那么这里的masked element modeling,用的是拿没被mask的输入得到的表征作为teacher指导被mask输入得到的表征这个student。有别于对应位置向量做L1/L2 loss的经典方案,这里用的是对比学习。

整个训练分为两个阶段,第一个阶段可以理解为奠定基础的训练,即经典的图文数据预训练。在这一部分图文相关的参数都会被更新,包括self attention以及这两个模态各自的FFN。而训练完备后,如果要增加新的模态,比如语音,只需要使用语音-文本对数据继续预训练,而这个阶段就只有语音相关的参数会被更新,比如语音adaptor和语音FFN等。这种增加模态的方案同样可以不断拓展到更多模态上,只要使用上能够align上其中一个模态的配对数据即可,而且因为很多参数共用,相比重新训一个modality specific的encoder更容易拿到好结果。

实验效果

实验分为finetuning和zeroshot两个部分,其中finetuning更多追求效果上的绝对提升,而zeroshot则是观测其本身作为通用模型的表现,尤其是emergent zeroshot capabilities这个部分更是展现这种模型能够达到类比无监督训练的效果。

这里我调换下顺序先介绍下比较有趣的emergent zeroshot capabilities。这里我们没有合适的benchmark去评估,但是可以看不少有趣的例子。可以看到,模型不仅实现了新的模态对齐,还学会组合不同模态的元素去对齐新的模态。比如一个经典的例子就是语音+文本召回图片,比如snow这个文本配上鸟叫的声音,就能召回鸟在雪中的图片,挺有意思。下面给出更多例子:

image.png

再看finetuning部分,ONE-PEACE主要在CV的任务上表现比较突出。其中在ADE20K上做语义分割,超出了EVA、BeiT-3、InternImage等一众SOTA模型:

image.png

在MSCOCO上做物体检测和实例分割仅次于RevCol,并且ONE-PEACE并没有做Object365的intermediate finetuning:

image.png

而落到语音领域,不管在音文检索、音频分类还是语音VQA上,都实现了新的SOTA,超过了LAION的LAION-CLAP:

image.png

经典的多模态benchmark上,在视觉定位这个任务上ONE-PEACE直接达到了SOTA表现,并且在out-of-domain的setup下面也有很robust的表现:

image.png

图文检索上,我们主要和没有经过intermediate finetuning的模型进行比较,主要对标的是双塔召回模型,同样可以看到ONE-PEACE不俗的表现:

image.png

VQA和NLVR-2属实肝不动BeiT-3,不过相比其他基本都有明显优势:

image.png

当然,说这么多效果方面的东西,只是为了证明这个模型还是比较能打的。虽然没法

全部刷新那么狠,但可以看到一个模型可以做到整体这个效果,应该拉出去实际场景用用还是可以的。

不足与未来工作

不足之处其实上文也可以看到确实有些效果没太做到顶,但仅仅追求SOTA意义其实不大。下一步我们要做的,其实是给出更多成功的实践将这个模型扩展更多模态,尤其是对比如视频这类复杂模态,怎么在真正高难度的任务上做得更好。

另外,表征模型的潜力绝不仅仅只是在finetuning,也不在单纯的zeroshot检索,而在于其良好的对齐从而通过通用大模型做更复杂的人物,比如结合LLM。

当前多模态LLM这个赛道发展如火如荼,ONE-PEACE怎么实现和强大的LLM结合,从而实现对世界的跨模态复杂任务的处理,也许相比追求benchmark更加关键。

相关文章
|
13天前
|
机器学习/深度学习 数据采集 前端开发
深入探讨模型泛化能力的概念、重要性以及如何通过交叉验证来有效评估和提升模型的泛化能力
【6月更文挑战第13天】本文探讨了机器学习中模型泛化能力的重要性,它是模型对未知数据预测的准确性。过拟合和欠拟合影响泛化能力,而交叉验证是评估模型性能的有效工具。通过K折交叉验证等方法,可以发现并优化模型,提高泛化能力。建议包括调整模型参数、选择合适模型、数据预处理、特征选择和集成学习。Python中可利用scikit-learn的cross_val_score函数进行交叉验证。
60 7
|
23天前
|
机器学习/深度学习 计算机视觉 人工智能
用基础模型指导特征传播,首个泛化型图像匹配器OmniGlue搞定未见过域
【6月更文挑战第3天】研究人员提出OmniGlue,首个以泛化为中心的图像匹配器,利用基础模型DINOv2的广泛知识和关键点位置引导的注意力机制,提升未见过图像域的匹配性能。在7个不同图像域的实验中,OmniGlue相对其他模型表现出20.9%的相对增益,优于LightGlue 9.5%。尽管有改进空间,OmniGlue标志着图像匹配技术泛化能力的重要进步。论文链接:https://arxiv.org/pdf/2405.12979
38 2
|
1月前
|
存储 机器学习/深度学习 人工智能
论文介绍:InfLLM——揭示大型语言模型在无需训练的情况下处理极长序列的内在能力
【5月更文挑战第18天】InfLLM是一种新方法,无需额外训练即可增强大型语言模型处理极长序列的能力。通过使用记忆单元存储长序列的远距离上下文,InfLLM能更准确地捕捉长距离依赖,提高对长文本理解。实验表明,InfLLM使预训练在短序列上的模型在处理极长序列时表现媲美甚至超过专门训练的模型。尽管有挑战,如动态上下文分割和记忆单元效率,InfLLM为长序列处理提供了有效且未经训练的解决方案。论文链接:https://arxiv.org/abs/2402.04617
41 3
|
1月前
|
机器学习/深度学习 人工智能
论文介绍:PreFLMR——扩展细粒度晚期交互多模态检索器以提升知识视觉问答性能
【5月更文挑战第3天】PreFLMR是扩展的细粒度晚期交互多模态检索器,用于提升知识视觉问答(KB-VQA)性能。基于FLMR,PreFLMR结合大型语言模型和检索增强生成,增强准确性与效率。通过M2KR框架全面评估,PreFLMR展示出色性能,尤其在E-VQA和Infoseek等任务。然而,其在预训练阶段未充分训练知识密集型任务,且仍有优化训练方法和数据集混合比例的空间。[论文链接](https://arxiv.org/abs/2402.08327)
54 1
|
1月前
|
机器学习/深度学习 自然语言处理 并行计算
【大模型】解释自我注意力的概念及其在LLM表现中的作用
【5月更文挑战第6天】【大模型】解释自我注意力的概念及其在LLM表现中的作用
|
1月前
|
机器学习/深度学习 分布式计算 算法
大模型开发:你如何确定使用哪种机器学习算法?
在大型机器学习模型开发中,选择算法是关键。首先,明确问题类型(如回归、分类、聚类等)。其次,考虑数据规模、特征数量和类型、分布和结构,以判断适合的算法。再者,评估性能要求(准确性、速度、可解释性)和资源限制(计算资源、内存)。同时,利用领域知识和正则化来选择模型。最后,通过实验验证和模型比较进行优化。此过程涉及迭代和业务需求的技术权衡。
|
1月前
|
数据可视化
R语言实现有限混合模型建模分析
R语言实现有限混合模型建模分析
|
11月前
|
机器学习/深度学习 算法 计算机视觉
在对比学习中引入显式跨图像相似度建模能力,中南大学显著提高无监督表征的泛化能力(1)
在对比学习中引入显式跨图像相似度建模能力,中南大学显著提高无监督表征的泛化能力
126 0
|
11月前
|
算法 数据挖掘 计算机视觉
在对比学习中引入显式跨图像相似度建模能力,中南大学显著提高无监督表征的泛化能力(2)
在对比学习中引入显式跨图像相似度建模能力,中南大学显著提高无监督表征的泛化能力
129 0
|
机器学习/深度学习 数据采集 算法
模型设计
模型设计流程
97 0