MuLTI:高效视频与语言理解

一、背景

1.1 多模态的发展

多模态理解模型具有广泛的应用,比如多标签分类(Classification)、视频问答(videoQA)和文本视频检索(Retrieval)等。现有的方法已经在视频和语言理解方面取得了重大进展,然而,他们仍然面临两个巨大的挑战:

1、在处理长序列时平衡计算效率和模型性能。

2、减少预训练和下游任务之间的领域差距。

多模态理解模型一般由三个模块组成:文本编码器(Text Encoder)、视频编码器(VIdeo Encoder)和特征融合模块(Feature Fusion)。后两者通常会导致较高的计算成本。

对于特征融合模块,很难做到既高效又有效。以前的一些工作,比如VIOLET和Clover,它们直接连接视频和文本编码器的输出,然后由Transformer的Encoder进行特征融合,此时模型的计算复杂度和显存消耗与级联序列长度的平方成正比,当长文本与长视频输入到这些模型中时,特征融合所消耗的显存消耗会大幅度上升。为了减轻计算负担,一些工作如ALPRO,FrozenBiLM,CLIPBert在特征融合之前通过均值池化或Class Token的方式压缩视频特征,然而,在多模态融合之前将所有信息压缩到一个向量中可能会丢失重要的细节。一些工作如Flamingo采用Sampler和随机查询来进行有效的视频特征压缩,这种方法是次优的,可能会损害视频特征的完整性。基于上述分析,我们面临了一个难题:如果去压缩特征,容易导致特征的细节丢失;如果不压缩处理特征,特征融合的显存占用过大。此时,如何平衡模型的计算量和准确性是特征融合模块的挑战。

图1

图1

如何将预训练与下游任务相结合也是一项挑战。以前的预训练框架通常应用四个典型的预训练任务:用于视频编码器优化的掩码帧建模(MVM)任务,用于文本编码器优化的掩码语言建模(MLM)任务,用于视频和文本编码器的联合优化的视频文本匹配(VTM)和视频文本比较(VTC)任务。在大规模视频文本数据集上进行预训练可以显著提高视频文本模型的性能。然而,现有的预训练任务和下游任务之间仍然存在领域差距,特别是在视频QA中。将videoQA引入预训练任务的困难在于构建合适的问答对。

1.2 模型的提出

为了应对这些挑战,我们像图1(d)一样设计 MuLTI。它具有用于序列压缩和多模态融合的文本引导多路采样器(Text-Guided MultiWay-Sampler)。现有的方法如Flamingo,通常使用可学习的查询向量(Query)通过采样器对视频特征进行采样。随机初始化的查询向量可能会丢弃重要的原始特征信息,从而导致性能下降。我们在文本引导多路采样器中设计了一种轻量级的自适应池方法,通过计算每个序列块的重要性来获得压缩特征。然后,我们将压缩特征添加到采样特征中,并使用短文本特征对长视频特征进行采样和融合。我们共享了采样器与特征融合模块的注意力权重,并为采样器中的不同模态保留不同的前馈网络。

图1显示,以前的模型(a)和(b)通过其冗长的级联特征融合消耗了大量的GPU内存。(b)和(c)都压缩视频特征,这是一种常见的选择,因为与文本相比,它们的长度更大。然而,由于视频特征中的信息丰富,过度压缩可能会损害性能。相反,我们设计了类似于(d)的MuLTI,并引入了文本引导的多路采样器来有效地压缩文本特征以进行融合。由于文本更简洁准确,我们使用精简的文本来指导视频特征采样,从而提高了性能。

为了减少视频QA中预训练任务和下游任务之间的领域差距,我们引入了一种新的预训练任务——多选建模(Multiple Choice Modeling,MCM)并基于WebVid2M与CC3M数据集进行了预训练。MCM可以通过在大规模视频文本数据集上构建多项选择题回答任务来弥合预训练任务和下游任务之间的任务差距。它要求模型从随机构建的集合中找到与视频最匹配的文本描述,这增强了视频和文本编码器的表示能力以及视频和文本特征之间的对齐。

  • 我们提出了MuLTI,这是一个高度准确和内存高效的视频和语言框架,它通过特征采样和注意力模块实现了高效和有效的特征融合。
  • 我们提出了一种文本引导多路采样器(Text-Guided MultiWay-Sampler)来对长序列特征进行采样,并促进视频和文本特征之间的交互,从而降低内存成本并提高性能。
  • 我们设计了一种新的预训练任务,称为多选建模(MCM),以建好预训练和下游任务之间的任务差距。在七个英语任务和一个汉语多标签分类任务上的实验结果证明了MuLTI的有效性。

二、模型结构

图片

2.1 视觉与文本编码器

在Base模型中,我们使用一个12层的VIT-B/16图片去提取视觉特征,我们从输入视频中稀疏地采样图片帧。VIT-B/16图片模型将每个帧划分为图片个不重叠的patch,实际上K就等于图片。每个视频的特征向量在提取出来后便是图片,其中图片是模型的特征宽度,实际上图片就等于图片。另外,我们使用一个12层的Bert去提取文本特征,我们假设文本长度为图片,文本编码器的输出就是图片,这里的d也是模型的特征宽度,实际上图片就等于图片。在之后,我们探索了部分冻结编码器层的训练策略。

2.2 特征融合模块

如果我们将特征在图片图片维度上进行平铺,此时我们会获得一个非常长的特征向量,其shape为图片。由于我们需要进行特征融合,我们还需要将这个特征向量与文本的特征进行连接,堆叠后模型的特征长度会进一步上涨到图片。当图片的数量增加与图片的长度增加时,如果不对这个向量进行处理,使用类似于VIOLET中的Encoder进行特征融合,此时模型的计算复杂度和显存消耗与级联序列长度的平方成正比,机器会立刻显存不足。因此我们需要对获取到的特征进行一些更为高效的处理。

图片

图2

多模态融合模块的核心是Text-Guided MultiWay-Sampler,如图2(b)所示。多路采样器由Transformer的Decoder修改而来。具体而言,我们设计多路采样器模块来有效地压缩文本特征并融合不同的模态特征。

参考Flamingo,我们首先随机初始化一个可学习的查询向量,将其作为多路采样器的Query来压缩由文本编码器生成的文本特征。由于MultiWay-Sampler使用可学习的查询向量进行特征压缩,它会比基于池化的方法和基于Class Token的方法更能代表原始特征。我们使用表达式图片代表通过MultiWay-Sampler使用查询向量图片对特征图片进行采样。

image.png

image.png

2.3 不同型号的MuLTI

在本节中,我们考虑在有足够资源的情况下实现更高的性能。我们首先将视频编码器从VIT-B/16替换为VIT-L/14,并将文本编码器从Bert-Base替换为Bert-Large。然后,我们得到MuLTI-L。此外,为了满足有限资源的训练要求,我们将视频编码器从VIT-B/16替换为VIT-B/32,并将文本编码器从12层减少到6层。不同模型的浮点运算(FLOPs)、参数(Params)和每秒帧数(FPS)显示在表1。

图片

表1

三、模型的预训练

我们使用四个目标对 MuLTI 进行预训练,包括三个经典的目标:Masked Language Modeling (MLM),Video Text Matching(VTM),and Video Text Comparison(VTC)。 在本节中,我们重点介绍我们提出的一种新技术:Multiple Choice Modeling(MCM)。尽管MLM、VTC、VTM已经证明了它们在学习视频和文本表示方面的有效性,但预训练任务和下游任务(如视频问答)之间仍然存在很大的领域差距。将视频问答引入预训练任务的难点在于如何构建合适的问答对。选择题是视频问答的常见形式。受多项选择题的启发,我们发现原始配对视频文本描述是自然正确的答案。在这个基础上,我们引入了Multiple Choice Modeling(MCM),这是一种新的预训练任务,提高了模型对视频问答题的敏感性。具体来说,它的结构如下,这是一个四选择题。

ini
复制代码
"[CLS]<Question> ? [SEP] Option 1: <Answer 1>. [SEP] Option 2: <Answer 2>. [SEP] Option 3: <Answer 3>. [SEP] Option 4: <Answer 4>."

我们将正确的描述随机放入图片中,并通过文本语料库获取正确描述以外的答案。问题也有多种选择,如"What does this picture describe?",“What does this video describe?”,"What can we learn from the video?"等。 MCM 不需要大量额外的手动注释或大量的数据预处理,这是一种高效且可扩展的解决方案。 MCM 的动机是加强模型对 videoQA 任务的敏感性。 由于 MCM 可以提高模型从文本中提取视频相关内容的能力,这也提高了模型在文本视频检索任务上的性能。考虑到 MLM、VTM 和 VTC的有效性,我们还采用它们进行预训练。MLM 以 15% 的概率随机屏蔽输入标记,并用 [MASK] 替换它们,之后根据视频和文本预测屏蔽的文本标记。VTC 将匹配的视频文本对视为正对,将批次中的其他视频文本对视为负对。VTM 与 VTC 非常相似,它预测视频和文本描述是否相互匹配。 VTM需要通过特征融合模块来融合特征,基于交叉熵损失而不是对比损失来训练分类任务。MuLTI 的整体预训练目标是:图片

四、实验

4.1 实现细节

i、预训练数据集

我们使用两个大型数据集对模型进行预处理,一个是WebVid-2M,其中包含2.5M个视频文本对。在CLIPBERT中提出,使用图像-文本对对视频-文本模型进行预训练也可以提高该模型在视频-文本任务中的性能。因此,CC-3M也用作预训练数据集,其中包含3M个图像文本对。总的来说,我们的预训练数据集包含5.5M个视频文本对。我们在 PyTorch 中详细实现了 MuLTI,视频编码器使用来自 CLIP 的预训练权重进行初始化。文本编码器使用 12 层 BERT图片 模型进行初始化。然后,使用 4 层多路采样器来压缩文本编码器的输出并融合多模态特征。查询嵌入的长度设置为16。采样器的所有参数都是随机初始化的。我们使用 256 的batch_size在 8 个 NVIDIA A100 GPU 上对 MuLTI 进行了 10 个 epoch 的预训练,对应于 200k 次迭代。使用学习率为图片且权重衰减为 0.05 的 AdamW 优化器作为优化器。学习率首先预热到 图片,然后线性衰减到零。对于每个视频,我们统一采样 16 帧并将它们缩放为 图片 作为视频编码器的输入。

ii、下游任务与数据集

在视频问答方向,MuLTI模型在五个广泛使用的开放视频QA任务上进行了评估:

  • MSRVTT-QA基于MSRVTT的视频和字幕。该数据集有10k个视频,其中有243k个问答对,该数据集中有1.5k个候选答案。
  • MSVD-QA基于MSVD的视频和文本描述。该数据集有1970个视频,其中有50k个问答对,该数据集中有2423个候选答案。
  • TGIF-QA要求模型了解GIF视频的细节,以回答有关它们的问题。在TGIF-QA中,TGIF Action和TGIF Transition是多项选择任务,而TGIF Frame是一项开放式视频QA任务。

在文本视频检索方向,MuLTI模型在两个广泛使用Retrieval任务上进行了评估:

  • MSRVTT包含来自YouTube的10K个视频和200K个注释。我们遵循VIOLET,使用9k视频进行培训,使用1k视频进行测试。
  • DiDeMo包含来自Flickr的10K个视频,其中有40K个注释。我们遵循CLIPBERT并将同一视频中的所有注释连接到标题中。

还有一个中文的多标签分类数据集:

  • 视频标签是在线广告排名模型所需的重要特征,我们构建了一个大规模的内部多标签短视频数据集,其中包含486k个短视频,486k个文本字幕和21696个标签。每个视频文本对有多个标签。标签由来自短视频推荐平台的多位专业编辑进行交叉检查。我们还应用了一个在icdar挑战中具有最高性能的端到端文本检测仪,为每一帧生成OCR。每帧OCR拼接后截断为512。

4.2 建议方法的性能比较

图片

表2

MSRQ代表MSRVTT-QA,MSVQ代表MSVD-QA表2比较了MuLTI与现有方法在七个常用的公共数据集上的表现。在视频问答任务中,MuLTI在MSRVTT-QA、MSVD-QA、TGIF-Action、TGIF-Transition和TGIF-Frames等数据集上超过了所有已经发表的基线模型。表格中FrozenBILM的结果是没有使用Speech的。总的来说,MuLTI在各种QA任务中实现了最先进的性能。在文本-视频检索任务中,最有竞争力的文本-视频检索方法是基于CLIP的Vision Transformer和BERT在400M文本-图像对上的预训练。然而,尽管使用较少的预训练数据,MuLTI在两个基准任务上仍然具有很强的竞争力。值得注意的是,在使用DSL进行后处理后,MuLTI的性能优于CAMoE、QB-Norm和TS2-Net。

图片

表3

表3比较了MuLTI与现有方法在多标签数据集上的表现。对于多标签分类,我们将multi与VIOLET和ALPRO进行了比较,但排除了FrozenBiLM,因为其尺寸不适合在线部署。VIOLET和ALPRO不使用OCR,因为它们会导致V100 GPU内存不足。为了进行公平的比较,我们还在表3中报告了MuLTI的无OCR的性能;MuLTI显著超过VIOLET和ALPRO。

图片

图3如图所示,当训练期间帧计数增加时,MuLTI保持的视频内存成本不到ALPRO和VIOLET的一半,因为其高效的融合模块最大限度地减少了内存成本的增加。

图片

表4 TGMS代表Text-Guided MultiWay-Sampler,PB代表Pretraining Baseline,MSRQ代表MSRVTT-QA,MSVQ代表MSVD-QA,MSRR代表MSRVTT-Ret最后,我们在表4中评估了我们的主要技术贡献。与基线模型相比,我们的主要技术贡献提高了所有数据集的性能。文本引导多路采样器增强了MuLTI的多模式融合能力,精确定位多余视频功能中的关键细节。MCM提高了模型的对齐能力,缩小了预训练和下游任务之间的差距。

4.3 消融实验:

i、文本引导多路采样器的重要性

图片

表5 MSRQ代表MSRVTT-QA,MSVQ代表MSVD-QA

图片

图4 F代表Flatten,E代表Encoder,D代表Decoder,S代表Sampler

我们在表5中比较了不同聚合方法的性能。结果表明,Flatten优于其他聚合方法,但需要大量的视频内存。在模型结构的分析中,我们得知部分解码器在长序列中使用的内存比编码器少。虽然它可以很好地处理像MSRVTT-QA这样的数据集。然而,但在处理长文本和视频时,成本仍然很高。具体内存成本如图4所示。

图片

表6 CV代表压缩视频特征,CT代表压缩文本特征,SS代表Shared-Sampler,AP代表Adapt- Pooling

Flamingo使用基于解码器的采样器浓缩视频特征,这是次优的。文本特征更密集、更语义。通过使用文本查询来过滤冗余,语言指导对于从视频表示中提取有用信息是必要的。表6比较了不同的压缩方法,显示了文本压缩的优越性。采样器和特征融合模块使用相同的解码器结构,可以在不影响性能的情况下共享权重,简化了模型优化。我们共享采样器和解码器的自注意力权重,但为每个模态保留单独的FFN,在保持性能的同时减少参数。与Flatten方法相比,Shared-Sampler在MSRVTT-QA和MSVD-QA上的精度分别提高了0.32%和1.45%。如表6所示,采样器在压缩文本和视频特征时会导致较差的性能。采样器的随机查询向量具有丢失原始关键特征的风险;我们设计了一个轻量级的聚合模块Adapt-Pooling,以保留原有的功能。如表6所示,Adapt-Pooling提高了MSRVTT-QA和MSVD-QA的准确性。此外,我们探索了各种组合方法(添加、连接和相乘)都只有轻微的性能差异,在MSRVTT-QA上使用连接和相乘分别获得了45.51%和45.45%的准确率。为了验证这些技术的鲁棒性,我们将其Shared-Sampler和Adapt-Pooling应用于压缩视频特征,这也提高了性能。

ii、Multiple Choice Modeling的重要性

图片

表7 PB代表Pretraining Baseline,MSRQ代表MSRVTT-QA,MSVQ代表MSVD-QA,MSRR代表MSRVTT-Ret

MCM旨在通过将视频QA集成到预训练中来弥合预训练和下游任务之间的差距,增强模型对视频和句子主题的关注,以更好地提取多模式特征。我们使用经典的MLM、VTM和VTC任务来预训练模型作为基线。由于MVM会导致视频内容损坏,与其他任务发生冲突,在我们最初尝试将MVM包括在预训练中时,我们观察到性能下降,如表7所示。因此,我们决定不使用MVM进行预训练。为了证实MCM的鲁棒性,我们还在使用MVM的基础上添加了MCM进行预训练。结果表明,MCM仍然显著提高了模型的性能。与用基线预训练的模型相比,MCM通过缩小预训练和下游任务之间的任务差距,显着提高了模型在视频QA任务上的性能。MCM对多模态特征对齐的促进提高了模型的检索任务性能。如表7所示,用MCM预训练的模型在视频QA和检索任务中都优于基线,证明了其有效性。

五、未来工作

1、在Audio上进行探索,引入音频信息提升性能。2、进一步降低模型中的计算量最大的VIT的FLOPs与显存占用。

3、优化蒸馏模型模型,保证性能不损失的情况下降低VIT的FLOPs与显存占用。

论文标题:

MuLTI: Efficient Video-and-Language Understanding

论文作者:

刘波、陈云阔、程孟力、徐家琪、施兴

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

在这里插入图片描述

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取==🆓

在这里插入图片描述

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值