0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用大语言模型做多模态任务

深度学习自然语言处理 来源:人工智能与算法学习 2023-05-10 16:53 次阅读

大型语言模型LLM(Large Language Model)具有很强的通用知识理解以及较强的逻辑推理能力,但其只能处理文本数据。虽然已经发布的GPT4具备图片理解能力,但目前还未开放多模态输入接口并且不会透露任何模型上技术细节。因此,现阶段,如何利用LLM做一些多模态任务还是有一定的研究价值的。

本文整理了近两年来基于LLM做vision-lanuage任务的一些工作,并将其划分为4个类别:

利用LLM作为理解中枢调用多模态模型,例如VisualChatGPT(2023)[1], MM-REACT(2023)[2];

将视觉转化为文本,作为LLM的输入,例如PICA(2022)[3],PromptCap(2022)[4],ScienceQA(2022)[5];

利用视觉模态影响LLM的解码,例如ZeroCap[6],MAGIC[7];

冻住LLM,训练视觉编码器等额外结构以适配LLM,例如Frozen[8],BLIP2[9],Flamingo[10],PaLM-E[11];

接下来每个类别会挑选代表性的工作进行简单介绍:

一. 利用LLM作为理解中枢调用多模态模型

以微软Visual ChatGPT[1]为例,它的目标是使得一个系统既能和人进行视觉内容相关的对话,又能进行画图以及图片修改的工作。为此,Visual ChatGPT采用ChatGPT作为和用户交流的理解中枢,整合了多个视觉基础模型(Visual Foundation Models),通过prompt engineering (即Prompt Manager)告诉ChatGPT各个基础模型的用法以及输入输出格式,让ChatGPT决定为了满足用户的需求,应该如何调用这些模型,如图1所示。

wKgZomRbXAmAc6z1AAE1UpeyNB8273.jpg

图1:Visual ChatGPT系统示意图

微软另一个小组稍晚一段时间提出的MM-REACT[2]也是同样的思路,区别主要在于prompt engineering的设计以及MM-REACT更侧重于视觉的通用理解和解释,包含了很多Microsoft Azure API,例如名人识别、票据识别以及Bing搜索等。

二. 将视觉转化为文本,作为LLM的输入

以PICA[3]为例,它的目标是充分利用LLM中的海量知识来做Knowledge-based QA。给定一张图和问题,以往的工作主要从外部来源,例如维基百科等来检索出相关的背景知识以辅助答案的生成。但PICA尝试将图片用文本的形式描述出来后,直接和问题拼在一起作为LLM的输入,让LLM通过in-context learning的方式直接生成回答,如图2所示。

wKgZomRbXByAFUmkAADzSwk37Xo822.jpg

图2:PICA方法示意图

in-context learning的效果比较依赖example/demonstration的质量,为此PICA的作者利用CLIP挑选了和当前测试样例在问题和图片上最接近的16个训练样例作为examples。

三. 利用视觉模态影响LLM的解码

以MAGIC[3]为例,它的目标是让LLM做image captioning的任务,它的核心思路是生成每一个词时,提高视觉相关的词的生成概率,公式如图3所示。

wKgaomRbXC6AI8lwAAEVOkruUAU948.jpg

图3:MAGIC解码公式示意图

该公式主要由三部分组成:1)LLM预测词的概率;2)退化惩罚(橙色);3)视觉相关性(红色)。退化惩罚主要是希望生成的词能带来新的信息量。视觉相关性部分为基于CLIP计算了所有候选词和图片的相关性,取softmax之后的概率作为预测概率。

四.训练视觉编码器等额外结构以适配LLM

这部分工作是目前关注度最高的工作,因为它具有潜力来“以远低于多模态通用模型训练的代价将LLM拓展为多模态模型”。DeepMind于2021年发表的Frozen,2022年的Flamingo以及Saleforce 2023年的BLIP2都是这条路线,如图4所示。

wKgZomRbXECACc_XAAFJnhUfizU929.jpg

图4:Frozen,Flamingo,BLIP2示意图。

Frozen训练时将图片编码成2个vision token,作为LLM的前缀,目标为生成后续文本,采用Conceptual Caption作为训练语料。Frozen通过few-shot learning/in-context learning做下游VQA以及image classification的效果还没有很强,但是已经能观察到一些多模态in-context learning的能力。

Flamingo为了解决视觉feature map大小可能不一致(尤其对于多帧的视频)的问题,用Perceiver Resampler (类似DETR的解码器)生成固定长度的特征序列(64个token),并且在LLM的每一层之前额外增加了一层对视觉特征进行注意力计算的cross-attention layer,以实现更强的视觉相关性生成。Flamingo的训练参数远高于Frozen,因此采用了大量的数据:1)MultiModal MassiveWeb(M3W) dataset:从43million的网页上收集的图文混合数据,转化为图文交叉排列的序列(根据网页上图片相对位置,决定在转化为序列后,token 在文本token系列中的位置);2)ALIGN (alt-text & image Pairs): 1.8 million图文对;3)LTIP (LongText & Image Pairs):312 million图文对;4)VTP (Video & Text Pairs) :27 million视频文本对(平均一个视频22s,帧采样率为1FPS)。类似LLM,Flamingo的训练目标也为文本生成,但其对于不同的数据集赋予不同的权重,上面四部分权重分别为1.0、0.2、0.2、0.03,可见图文交叉排列的M3W数据集的训练重要性是最高的,作者也强调这类数据是具备多模态in-context learning能力的重要因素。Flamingo在多个任务上实现了很不错的zero-shot以及few-shot的表现。

BLIP2采用了类似于Flamingo的视觉编码结构,但是采用了更复杂的训练策略。其包含两阶段训练,第一阶段主要想让视觉编码器学会提取最关键的视觉信息,训练任务包括image-Text Contrastive Learning, Image-grounded Text Generation以及Image-Text Matching;第二阶段则主要是将视觉编码结构的输出适配LLM,训练任务也是language modeling。BLIP2的训练数据包括MSCOCO,Visual Genome,CC15M,SBU,115M来自于LAION400M的图片以及BLIP在web images上生成的描述。BLIP2实现了很强的zero-shot capitoning以及VQA的能力,但是作者提到未观察到其in-context learning的能力,即输入样例并不能提升它的性能。作者分析是因为训练数据里不存在Flamingo使用的图文交错排布的数据。不过Frozen也是没有用这类数据,但是也观察到了一定的in-context learning能力。因此多模态的in-context learning能力可能和训练数据、训练任务以及位置编码方法等都存在相关性。

总结

“利用LLM作为理解中枢调用多模态模型”可以方便快捷地基于LLM部署一个多模态理解和生成系统,难点主要在于prompt engineering的设计来调度不同的多模态模型;

“将视觉转化为文本,作为LLM的输入”和“利用视觉模态影响LLM的解码”可以直接利用LLM做一些多模态任务,但是可能上限较低,其表现依赖于外部多模态模型的能力;

“训练视觉编码器等额外结构以适配LLM”具有更高的研究价值,因为其具备将任意模态融入LLM,实现真正意义多模态模型的潜力,其难点在于如何实现较强的in-context learning的能力。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 解码器
    +关注

    关注

    9

    文章

    1073

    浏览量

    40169
  • 编码器
    +关注

    关注

    41

    文章

    3365

    浏览量

    131584
  • 视觉编程
    +关注

    关注

    0

    文章

    2

    浏览量

    1790
  • ChatGPT
    +关注

    关注

    27

    文章

    1413

    浏览量

    4798

原文标题:利用大语言模型做多模态任务

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何利用Transformers了解视觉语言模型

    模型称为 “视觉语言模型是什么意思?一个结合了视觉和语言模态模型?但这到底是什么意思呢?
    发表于 03-03 09:49 747次阅读
    如何<b class='flag-5'>利用</b>Transformers了解视觉<b class='flag-5'>语言</b><b class='flag-5'>模型</b>

    【大语言模型:原理与工程实践】探索《大语言模型原理与工程实践》

    的未来发展方向进行了展望,包括跨领域、跨模态和自动提示生成能力方向,为读者提供了对未来技术发展的深刻见解。《大语言模型原理与工程实践》是一本内容丰富、深入浅出的技术书籍。它不仅为读者提供了大
    发表于 04-30 15:35

    简单的模型进行流固耦合的模态分析

      本次分享,对一个简单的模型进行流固耦合的模态分析,有限元科技小编主要给大家演示如何使用Hypermesh与Nastran对流固耦合的结构进行模态分析,以及了解声腔对结构模态的影响。
    发表于 07-07 17:15

    基于预训练视觉-语言模型的跨模态Prompt-Tuning

    了各种跨模态任务。 然而,作者注意到模型pre-training和finetune的客观形式之间存在显着差距,导致需要大量标记数据来刺激 VL-PTMs 对下游任务的视觉基础能力。 为
    的头像 发表于 10-09 15:10 2970次阅读
    基于预训练视觉-<b class='flag-5'>语言</b><b class='flag-5'>模型</b>的跨<b class='flag-5'>模态</b>Prompt-Tuning

    ACL2021的跨视觉语言模态论文之跨视觉语言模态任务与方法

    来自:复旦DISC 引言 本次分享我们将介绍三篇来自ACL2021的跨视觉语言模态的论文。这三篇文章分别介绍了如何在图像描述任务中生成契合用户意图的图像描述、端对端的视觉语言预训练
    的头像 发表于 10-13 10:48 2277次阅读
    ACL2021的跨视觉<b class='flag-5'>语言</b><b class='flag-5'>模态</b>论文之跨视觉<b class='flag-5'>语言</b><b class='flag-5'>模态</b><b class='flag-5'>任务</b>与方法

    谷歌提出PaLI:一种多模态模型,刷新多个任务SOTA!

    PaLI 使用单独 “Image-and-text to text” 接口执行很多图像、语言以及 "图像 + 语言" 任务。PaLI 的关键结构之一是重复使用大型单模态 backbon
    的头像 发表于 01-29 11:25 800次阅读

    一个真实闲聊多模态数据集TikTalk

    随着大量预训练语言模型在文本对话任务中的出色表现,以及多模态的发展,在对话中引入多模态信息已经引起了大量学者的关注。
    的头像 发表于 02-09 09:31 1248次阅读

    利用视觉+语言数据增强视觉特征

    传统的多模态预训练方法通常需要"大数据"+"大模型"的组合来同时学习视觉+语言的联合特征。但是关注如何利用视觉+语言数据提升视觉
    的头像 发表于 02-13 13:44 762次阅读

    如何利用LLM做多模态任务

    大型语言模型LLM(Large Language Model)具有很强的通用知识理解以及较强的逻辑推理能力,但其只能处理文本数据。虽然已经发布的GPT4具备图片理解能力,但目前还未开放多模态输入接口并且不会透露任何
    的头像 发表于 05-11 17:09 684次阅读
    如何<b class='flag-5'>利用</b>LLM做多<b class='flag-5'>模态</b><b class='flag-5'>任务</b>?

    如何利用LLM做多模态任务

    并且不会透露任何模型上技术细节。因此,现阶段,如何利用LLM做一些多模态任务还是有一定的研究价值的。 本文整理了近两年来基于LLM做vision-lanuage
    的头像 发表于 05-22 15:57 521次阅读
    如何<b class='flag-5'>利用</b>LLM做多<b class='flag-5'>模态</b><b class='flag-5'>任务</b>?

    AI大模型的的三个发展阶段

    AI大模型可分为自然语言处理大模型,CV大模型、科学计算大模型等。AI大模型支持的
    发表于 07-06 12:31 1590次阅读
    AI大<b class='flag-5'>模型</b>的的三个发展阶段

    更强更通用:智源「悟道3.0」Emu多模态模型开源,在多模态序列中「补全一切」

    当前学界和工业界都对多模态模型研究热情高涨。去年,谷歌的 Deepmind 发布了多模态视觉语言模型 Flamingo ,它使用单一视觉
    的头像 发表于 07-16 20:45 406次阅读
    更强更通用:智源「悟道3.0」Emu多<b class='flag-5'>模态</b>大<b class='flag-5'>模型</b>开源,在多<b class='flag-5'>模态</b>序列中「补全一切」

    探究编辑多模态语言模型的可行性

    不同于单模态模型编辑,多模态模型编辑需要考虑更多的模态信息。文章出发点依然从单模态
    发表于 11-09 14:53 261次阅读
    探究编辑多<b class='flag-5'>模态</b>大<b class='flag-5'>语言</b><b class='flag-5'>模型</b>的可行性

    自动驾驶和多模态语言模型的发展历程

    模态语言模型(MLLM) 最近引起了广泛的关注,其将 LLM 的推理能力与图像、视频和音频数据相结合,通过多模态对齐使它们能够更高效地执行各种
    发表于 12-28 11:45 214次阅读
    自动驾驶和多<b class='flag-5'>模态</b>大<b class='flag-5'>语言</b><b class='flag-5'>模型</b>的发展历程

    机器人基于开源的多模态语言视觉大模型

    ByteDance Research 基于开源的多模态语言视觉大模型 OpenFlamingo 开发了开源、易用的 RoboFlamingo 机器人操作模型,只用单机就可以训练。
    发表于 01-19 11:43 130次阅读
    机器人基于开源的多<b class='flag-5'>模态</b><b class='flag-5'>语言</b>视觉大<b class='flag-5'>模型</b>