追赶GPT-4的多模态大模型对比分析

描述

引言

今年 3 月 14 日,OpenAI 发布了 GPT-4 多模态大模型,但是仅公开了文本能力的接口,迟迟未向公众开放体验多模态能力。学术界和工业界立刻跟进研究并开源多模态大模型的相关工作。目前热度最高的三个同期工作依次是 LLaVA [1]、MiniGPT-4 [2] 和 mPLUG-Owl [3]。本文意在分析这三个工作,探讨“类 GPT-4 模型”的研究方向。

援引自 mPLUG-Owl,这三个工作的主要区别如图 1 所示,总体而言,模型结构和训练策略方面大同小异,主要体现在 LLaVA 和 MiniGPT4 都冻住基础视觉编码器,mPLUG-Owl 将其放开,得到了更好的视觉文本跨模态理解效果;在实验方面 mPLUG-Owl 首次构建并开源视觉相关的指令理解测试集 OwlEval,通过人工评测对比了已有的模型,包括 BLIP2 [4]、LLaVA、MiniGPT4 以及系统类工作 MM-REACT [5]。

GPT

▲ 图1: mPLUG-Owl vs MiniGPT4 vs LLaVA

LLaVA

自然语言处理领域的 instruction tuning 可以帮助 LLM 理解多样化的指令并生成比较详细的回答。LLaVA 首次尝试构建图文相关的 instruction tuning 数据集来将 LLM 拓展到多模态领域。 具体来说,基于 MSCOCO 数据集,每张图有 5 个较简短的 ground truth 描述和 object bbox(包括类别和位置)序列,将这些作为 text-only GPT4 的输入,通过 prompt 的形式让 GPT4 生成 3 种类型的文本:1)关于图像中对象的对话;2)针对图片的详细描述;3)和图片相关的复杂的推理过程。 注意,这三种类型都是 GPT4 在不看到图片的情况下根据输入的文本生成的,为了让 GPT4 理解这些意图,作者额外人工标注了一些样例用于 in-context learning。

模型结构:采用 CLIP 的 ViT-L/14 [6] 作为视觉编码器,采用 LLaMA [7] 作为文本解码器,通过一个简单的线性映射层将视觉编码器的输出映射到文本解码器的词嵌入空间,如图 2。

GPT

▲ 图2: LLaVA模型结构

模型训练:

第一阶段:跨模态对齐预训练,从 CC3M 中通过限制 caption 中名词词组的最小频率过滤出595k图文数据,冻住视觉编码器和文本解码器,只训练线性映射层;

第二阶段:指令微调,一版针对多模态聊天机器人场景,采用自己构建的158k多模态指令数据集进行微调;另一版针对 Science QA 数据集进行微调。微调阶段,线性层和文本解码器(LLaMA)都会进行优化。

实验分析:

消融实验:在 30 个 MSCOCO val 的图片上,每张图片设计 3 个问题(对话、详细描述、推理),参考 Vicuna [8],用 GPT4 对 LLaVA 和 text-only GPT4 的回复进行对比打分,报告相对 text-only GPT4 的相对值。

SOTA 对比:在Science QA上微调的版本实现了该评测集上的SOTA效果。

MiniGPT-4

Mini-GPT4 和 LLaVA 类似,也发现了多模态指令数据对于模型在多模态开放式场景中表现的重要性。

模型结构:采用 BLIP2 的 ViT 和 Q-Former 作为视觉编码器,采用 LLaMA 经过自然语言指令微调后的版本 Vicuna 作为文本解码器,也通过一个线性映射层将视觉特征映射到文本表示空间,如图 3。

GPT

▲ 图3: MiniGPT-4模型结构

模型训练:

第一阶段:目标通过大量图文对数据学习视觉和语言的关系以及知识,采用 CC+SBU+LAION 数据集,冻住视觉编码器和文本解码器,只训练线性映射层; 第二阶段:作者发现只有第一阶段的预训练并不能让模型生成流畅且丰富的符合用户需求的文本,为了缓解这个问题,本文也额外利用 ChatGPT 构建一个多模态微调数据集。 具体来说,1)其首先用阶段 1 的模型对 5k 个 CC 的图片进行描述,如果长度小于 80,通过 prompt 让模型继续描述,将多步生成的结果合并为一个描述;2)通过 ChatGPT 对于构建的长描述进行改写,移除重复等问题;3)人工验证以及优化描述质量。最后得到 3.5k 图文对,用于第二阶段的微调。第二阶段同样只训练线性映射层。

实验分析:

主要进行效果展示,没有定量的实验分析。

mPLUG-Owl

mPLUG-Owl 是阿里巴巴达摩院 mPLUG 系列的最新工作,继续延续 mPLUG 系列的模块化训练思想,将 LLM 迁移为一个多模态大模型。此外,Owl第一次针对视觉相关的指令评测提出一个全面的测试集 OwlEval,通过人工评测对比了已有工作,包括 LLaVA 和 MiniGPT-4。该评测集以及人工打分的结果都进行了开源,助力后续多模态开放式回答的公平对比。

模型结构:采用 CLIP ViT-L/14 作为“视觉基础模块”,采用 LLaMA 初始化的结构作为文本解码器,采用类似 Flamingo 的 Perceiver Resampler 结构对视觉特征进行重组(名为“视觉摘要模块”),如图 4。

GPT

▲ 图4: mPLUG-Owl模型结构模型训练: 第一阶段:主要目的也是先学习视觉和语言模态间的对齐。不同于前两个工作,Owl提出冻住视觉基础模块会限制模型关联视觉知识和文本知识的能力。因此 Owl 在第一阶段只冻住 LLM 的参数,采用 LAION-400M,COYO-700M,CC 以及 MSCOCO 训练视觉基础模块和视觉摘要模块。 第二阶段:延续 mPLUG [9] 和 mPLUG-2 [10] 中不同模态混合训练对彼此有收益的发现,Owl 在第二阶段的指令微调训练中也同时采用了纯文本的指令数据(102k from Alpaca+90k from Vicuna+50k from Baize)和多模态的指令数据(150k from LLaVA)。 作者通过详细的消融实验验证了引入纯文本指令微调在指令理解等方面带来的收益。第二阶段中视觉基础模块、视觉摘要模块和原始 LLM 的参数都被冻住,参考 LoRA,只在 LLM 引入少量参数的 adapter 结构用于指令微调。实验分析:

除了训练策略,mPLUG-Owl 另一个重要的贡献在于通过构建 OwlEval 评测集,对比了目前将 LLM 用于多模态指令回答的 SOTA 模型的效果。和 NLP 领域一样,在指令理解场景中,模型的回答由于开放性很难进行评估。

SOTA 对比:本文初次尝试构建了一个基于 50 张图片(21 张来自MiniGPT-4, 13 张来自 MM-REACT,9 张来自 BLIP-2, 3 来自 GPT-4 以及 4 张自收集)的 82 个视觉相关的指令回答评测集 OwlEval。由于目前并没有合适的自动化指标,本文参考 Self-Intruct [11] 对模型的回复进行人工评测,打分规则为:A=“正确且令人满意”;B=“有一些不完美,但可以接受”;C=“理解了指令但是回复存在明显错误”;D=“完全不相关或不正确的回复”。 实验证明 Owl 在视觉相关的指令回复任务上优于已有的 OpenFlamingo、BLIP2、LLaVA、MiniGPT4 以及集成了 Microsoft 多个 API 的 MM-REACT。作者对这些人工评测的打分同样进行了开源以方便其他研究人员检验人工评测的客观性。多维度能力对比:多模态指令回复任务中牵扯到多种能力,例如指令理解、视觉理解、图片上文字理解以及推理等。为了细粒度地探究模型在不同能力上的水平,本文进一步定义了多模态场景中的 6 种主要的能力,并对 OwlEval 每个测试指令人工标注了相关的能力要求以及模型的回复中体现了哪些能力。

在该部分实验,作者既进行了 Owl 的消融实验,验证了训练策略和多模态指令微调数据的有效性,也和上一个实验中表现最佳的 baseline——MiniGPT4 进行了对比,结果显示 Owl 在各个能力方面都优于 MiniGPT4。

总结

mPLUG-Owl, MiniGPT4, LLaVA 三篇工作的目标都是希望在已有 LLM 的基础上,通过较少的训练代价达到 GPT4 技术报告中所展示多模态理解效果。他们都证明第一阶段的图文预训练对于建立图文之间的联系十分关键,第二阶段的多模态指令微调对于模型理解指令以及生成详细的回复十分必要。三个工作都通过样例展示了不错的效果,mPLUG-Owl 进一步构建一个公平比较的多模态指令评测集,虽然还不够完善(例如测试指令数量还不够多,依赖人工评测等),但也是为了该领域标准化发展的一个探索和尝试。

审核编辑 :李倩

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分