单一ViT模型执行多模态多任务,谷歌用协同训练策略实现多个SOTA

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,5000CU*H 3个月
简介: 单一ViT模型执行多模态多任务,谷歌用协同训练策略实现多个SOTA

Transformer 真的很全能。


Transformers 是一个灵活的神经端到端模型族(family),最开始是为自然语言处理任务设计的。近来,Transformers 已经在图像分类、视频和音频等一系列感知任务上得到应用。虽然近来在不同领域和任务上取得了进展,但当前 SOTA 方法只能为手头的每个任务训练具有不同参数的单一模型。

近日,谷歌研究院、剑桥大学和阿兰 · 图灵研究所的几位研究者在其论文《 PolyViT: Co-training Vision Transformers on Images, Videos and Audio 》提出了一种简单高效的训练单个统一模型的方法,他们将该模型命名为 PolyViT,它实现了有竞争力或 SOTA 的图像、视频和音频分类结果。

在设计上,研究者不仅为不同的模态使用一个通用架构,还在不同的任务和模态中共享模型参数,从而实现了潜在协同作用。从技术上来讲,他们的方法受到了「transformer 是能够在任何可以 tokenized 的模态上运行的通用架构」这一事实的启发;从直觉上来讲,是由于人类感知在本质上是多模态的,并由单个大脑执行。


论文地址:https://arxiv.org/abs/2111.12993


下图 1 为 PolyViT 的结构概览。


研究者主要使用的方法是协同训练(co-training),即同时在多个分类任务(可能跨多个模态)上训练单个模型。他们考虑了不同的设置,同时解决多达 9 个不同的图像、视频和音频分类任务。如上图 1 所示,PolyViT 模型能够执行多个任务,但对于给定的输入一次只能执行一个任务。虽然计算机视觉和自然语言领域探索过类似的方法,但研究者不清楚以往的工作是否考虑了多种模态以及是否使用这种方法实现了 SOTA 结果。

我们的协同训练设置简单实用。它不需要对协同训练数据集的每个组合进行超参数调整,因为我们可以很容易地调整标准单任务训练的设置。此外,协同训练也不会增加整体训练成本,因为训练步骤的总数不超过每个单任务基线的总和。

图像、音频和视频上的 Co-training ViT

PolyViT 架构

PolyViT 是一个能够处理来自多种模态的输入的单一架构。如上图 1 所示,研究者在不同的任务和模态中共享一个 transformer 编码器,使得参数随任务数量呈线性减少。注意,在处理图像时,具有 L 个层的 PolyViT 表现得像 L 层的 ViT,处理音频时表现得像 L 层的 AST,处理视频时表现得像 L 层的未因式分解(unfactorized)的 ViViT。虽然 PolyViT 能够处理多种模态,但在给定前向传递时只能基于一种模态执行一个任务。

PolyViT 部署模态特定的类 token,即、输入嵌入算子和位置嵌入这使得网络可以编码模态特定的信息,这些信息又可以被随后的、共享 transformer 主干所利用。为了实现大量任务和模态协同训练的同时增加模型容量,研究者可以选择性地纳入 L_adapt ≥ 0 模态特定 transformer 层(他们表示为模态 - 适配器层),这些 transformer 层在 tokenization 之后直接应用。在这种情况下,所有模态和任务中会共享 L_=shared = L − L_adapt 层。
协同训练流程


在使用随机梯度下降(SGD)协同训练的所有任务中,研究者同时优化所有的 PolyViT 模型参数 θ。因此,在决定如何构建训练 batch、计算梯度以更新模型参数以及使用哪些训练超参数时有很多设计上的选择。

在所有情况下,研究者使用来自单个任务中的示例来构建自己的训练 minibatch。这一设计选择使得他们在使用相同的训练超参数(如学习率、batch 大小和动量)作为传统单一任务基线时,可以评估梯度和更新参数。这样一来,与单一任务基线相比,研究者无需任何额外的超参数就可以执行多个任务上的协同训练,从而使得协同训练在实践中易于执行,并减少执行大规模超参数扫描(sweep)的需求以实现具有竞争力的准确性。

在协同训练过程中,对于每个 SGD 步,研究者采样一个任务(或数据集),然后采样来自这个任务中的 minibatch,评估梯度并随后执行参数更新。需要着重考虑的是采样任务的顺序以及是否在不同的 minibatch 和任务上累积梯度。研究者在下图 2 中描述了几个任务采样计划,包括如下:

  • 任务 1:逐任务(Task-by-task)
  • 任务 2:交替(Alternating)
  • 任务 3:统一任务采样(Uniform task sampling)
  • 任务 4:加权任务采样(Weighted task sampling)
  • 任务 5:累积梯度(Accumulating gradients)



实验

研究者在图像、音频和视频三种模态的 9 个不同分类任务上同时训练了 PolyViT。在图像分类协同训练时,他们使用了 ImageNet-1K、 CIFAR-10/100、Oxford-IIIT Pets 和 RESISC45 数据集;对于视频任务,他们使用了 Kinetics 400 和 Moments in Time 数据集;对于音频任务,他们使用了 AudioSet 和 VGGSound 数据集。

下表 6 为具体实验设置:


下表 1 展示了不同任务采样计划在不同模态和任务上对协同训练性能的影响,粗体表示最高准确率,下划线表示次最高准确率。其中,「Task-by-task」采样计划表现糟糕,仅在一项任务上实现了不错的性能,这是灾难性遗忘(catastrophic forgetting)造成的。

「Accumulated」采样计划需要在所有任务上使用单一的学习率,这是由于所有任务上的累积梯度被用于执行参数更新。因此,该计划仅在图像数据集上表现良好。

「Alternating」、「Uniform」和「Weighted」采样计划表现最好,表明任务特定的学习率以及不同任务的梯度更新之间的转换对于准确率至关重要。


使用 PolyViT 的协同训练

下表 2 展示了用于解决跨图像、音频和视频三种模态的 9 个不同任务的模型训练方法,包括 ViT-Im21K Linear probe、Single-task baseline 和本文的 PolyViT 及变体(分别是 PolyViT L_adapt = 0 和 PolyViT Ladapt = L/2)。

结果显示,在单模态上训练的 PolyViT 在 9 个数据集的 7 个上实现了 SOTA 性能,其余 2 个数据集上的准确率差异可以忽略不计,不超过 0.3%。此外,参数的总数量比单个任务基线少了 2/3。同时,在使用参数大大减少的情况下,多模态 PolyViT 也实现了有竞争力的性能。


使用 linear probe 评估学习到的表示

通过为一个新任务仅仅添加和训练一个新的线性头(linear head),研究者对 PolyViT 学习到的特征表示进行评估。下表 3 展示了多种模态上训练的 PolyViT 如何学习「在跨图像、音频和视频三种模态的 11 个线性评估任务上均表现良好的」跨模态特征表示。同时,表 3 还展示了多种模态上的协同训练如何有益于学习强大、可迁移且可用于多个下游任务的特征表示。


使用单模态协同训练实现 SOTA 性能

受到上表 2 中单模态协同训练性能的启发,研究者使用这种方法在音频和视频分类任务上执行了大规模协同训练实验。下表 4 和表 5 显示,在使用的参数明显更少的同时,他们实现了 SOTA 结果。

如下表 4 所示,对于音频分类,研究者将 PolyViT 与当前 SOTA 方法 MBT(audio-only) 及相关变体 MBT: AS-500k→VGGSound 和 MBT: VGGSound→AS-500k。结果表明,PolyViT 在两个数据集上超越了 SOTA 方法,同时使用的参数大约是 MBT(audio-only) 的一半。此外,PolyViT 在更小的数据集 VGGSound 上实现了 2.8% 的 Top 1 准确率提升。


对于视频分类,研究者在 Kinetics-400、Kinetics-600 和 Moments in Time 数据集上协同训练了具有较小 tubelet size 的 PolyViT-Large 模型,并与当前 SOTA 模型 ViViT(使用相同的初始化、主干和 token 数量)进行了比较。结果如下表 5 所示,表明 PolyViT 在三个数据集上均超越了 ViViT。

相关文章
|
11天前
|
自然语言处理 开发者
多模态大模型LLM、MLLM性能评估方法
针对多模态大模型(LLM)和多语言大模型(MLLM)的性能评估,本文介绍了多种关键方法和标准,包括模态融合率(MIR)、多模态大语言模型综合评估基准(MME)、CheckList评估方法、多模态增益(MG)和多模态泄露(ML),以及LLaVA Bench。这些方法为评估模型的多模态和多语言能力提供了全面的框架,有助于研究者和开发者优化和改进模型。
|
3月前
|
JSON 自然语言处理 物联网
大语言模型数据增强与模型蒸馏解决方案
本方案以通义千问2(Qwen2)大语言模型为基础,为您介绍大语言模型数据增强和蒸馏解决方案的完整开发流程。
|
3月前
|
机器学习/深度学习 自然语言处理 数据处理
|
4月前
|
机器学习/深度学习 自然语言处理
彻底改变语言模型:全新架构TTT超越Transformer,ML模型代替RNN隐藏状态
【7月更文挑战第25天】近年来,NLP领域取得显著进展但也面临挑战,如长上下文建模与计算效率的平衡。为此,研究人员提出Test-Time Training (TTT) 模型架构。TTT由多机构合作开发,旨在解决长上下文建模难题及提高计算效率。通过将隐藏状态视为可学习更新的模型,TTT能随输入增长提升表示能力;采用自监督学习更新规则确保线性计算复杂度的同时保持高性能。实验显示TTT在多种NLP任务中表现优秀,尤其在长上下文处理方面超越Transformer。尽管如此,TTT仍面临训练资源需求高及自监督学习鲁棒性等挑战。[论文](https://arxiv.org/abs/2407.04620)
124 5
|
4月前
|
机器学习/深度学习 自然语言处理 前端开发
大模型问题之神经语言模型与大模型的关系是什么
大模型问题之神经语言模型与大模型的关系是什么
|
5月前
|
机器学习/深度学习 人工智能 算法
【机器学习】RLHF:在线方法与离线算法在大模型语言模型校准中的博弈
【机器学习】RLHF:在线方法与离线算法在大模型语言模型校准中的博弈
347 6
|
5月前
|
机器学习/深度学习 人工智能
可解释性研究新突破:OpenAI成功训练1600万个特征的自动编码器
【6月更文挑战第13天】OpenAI团队在可解释性研究上取得进展,训练出拥有1600万特征的自动编码器来解析GPT-4。此模型旨在揭示语言模型的工作原理,提高AI透明度。自动编码器从低维度特征空间重建输入数据,研究通过稀疏特征增强可解释性。虽然规模扩大带来解释性提升,但计算资源需求大,且评估指标的全面性仍受质疑。[论文链接](https://cdn.openai.com/papers/sparse-autoencoders.pdf)
74 1
|
6月前
|
存储 机器学习/深度学习 人工智能
论文介绍:InfLLM——揭示大型语言模型在无需训练的情况下处理极长序列的内在能力
【5月更文挑战第18天】InfLLM是一种新方法,无需额外训练即可增强大型语言模型处理极长序列的能力。通过使用记忆单元存储长序列的远距离上下文,InfLLM能更准确地捕捉长距离依赖,提高对长文本理解。实验表明,InfLLM使预训练在短序列上的模型在处理极长序列时表现媲美甚至超过专门训练的模型。尽管有挑战,如动态上下文分割和记忆单元效率,InfLLM为长序列处理提供了有效且未经训练的解决方案。论文链接:https://arxiv.org/abs/2402.04617
155 3
|
6月前
|
数据采集
【大模型】大语言模型训练数据中的偏差概念及其可能的影响?
【5月更文挑战第5天】【大模型】大语言模型训练数据中的偏差概念及其可能的影响?
|
6月前
|
自然语言处理 算法
强化上下文修剪提升LLM推理能力
强化上下文修剪提升LLM推理能力
82 1

热门文章

最新文章