原文:https://zhuanlan.zhihu.com/p/8087898456
1. 简介(Introduction)
自以gpt3为代表的大语言模型问世以来,纯文本模态的大模型和多种模态混合的多模态大模型都获得了迅速的发展,无论是学术界还是工业界。文本模态的大语言模型几乎学习了目前人类能够从公开渠道获取到的所有的文本数据,结合模型规模的扩大以及模型“涌现”能力,使得大语言模型的“智能”、“记忆”、“推理”、“对话”、“创作”等多方面的能力得到了长足的发展。互联网发展到今天,除了海量的文本数据之外,还产生了更多的多模态数据,如图文多模态数据、音视频、甚至于某些终端还包含了位姿信号、深度、雷达等多种模态的信号;因此高效、系统的处理多模态数据,将带来机器智能的进一步发展。当前研究多模态大模型的主流方向是通过不同模态数据独有的编码器编码,然后将多模态信号同文本进行“语义”层面的对齐,再利用大语言模型的能力进行处理。
• 1.这种通用的处理方式,是否是最优的,值得深入研究
• 2.是否有更好的进行单独模态数据编码的方式,以及更好的同文本进行“语义”对齐的技术方案?
• 3.从文本训练的大语言模型拥有较高的“智能”,但是否一定就适合用来处理多模态的问题?
• 4.有没有一种类似文本大模型的端到端的通用的训练范式适用于多模态场景?
• 5.计算机视觉发展了很多年,也有非常多的任务类型,多模态大模型是否有可能将这些多样的任务进行统一建模?
• 6.多模态大模型都有哪些不可或缺的应用场景?
等等。以上问题都值得更为深入和系统的研究。
2. 关键词(Keywords)
多模态大模型(multi-model large language model,简写MLLM)、大语言模型(large language model,简写LLM)、视觉编码器(vision encoder)、音频编码器(audio encoder)、模态对齐(modal alignment)、端到端训练(end-to-end training)、视觉摘要(vision caption)、视觉问答(vision QA)、多模态理解(multi-modal understanding)、多模态生成(multi-modal generation)、长视频理解(long video understanding)
3. 文献综述(Literature Review)
多模态模型的发展尤来已久,从早期通过多模态数据的引入提升模型精度,如通过引入图像和文本信息,提升内容分类的精度,这是通过有监督的多模态分类标注数据,将图像、文本模态的信息进行融合来提升精度的方法;中期,出现了多种不同方式的无监督多模态对比学习,通过对比学习拉近不同模态之间的距离,来提升多模态表示学习的效果,进而在其他任务上表现出更好的泛化性和精度;当前,多模态大模型的发展更多是在对不同模态“语义”对齐的基础上,通过大语言模型强大的理解、推理、总结等能力,来提升模型的效果,同时通过一个模型完成多个任务。本文将从以下几个方面来进行多模态大模型的文献解读。
多模态大模型的典型结构,以及不同结构的研究重点
图一:多模态大模型的典型模块
如图一中显示,一个典型的多模态大模型(仅视觉、文本示意),包括针对图像信息的vision encoder结构,将vision特征映射到类似大语言模型token的映射模块projector,大语言模型,以及训练任务,以及各任务的训练顺序和策略。
Vision encoder(视觉编码器)
针对vision encoder结构,我们直观能够想到的可能的问题包括,如何处理多尺度的图像,当然最简单的方式是resize到固定的尺寸(如256
256),但这种粗暴的方式显然会引入较多的问题,如长图、高分辨率图像resize到小尺度之后,细节信息丢失等。论文InternVL 1.5中,作者通过dynamic high resolution技术来解决图像尺度以及高分辨率的问题,如图二,首先将图片resize到最适合的预设的长宽比(如448
448,448
448
2,448
3
448
2等),同时对全图进行缩放,保留图片的一个缩略图,然后将每一个大小为448
448的patch送入encoder提取视觉特征。论文Navit中,作者通过固定patch大小的方式,将不同长宽比和分辨率的图像先进行patchfy,然后通过token drop的方式来减少运算量,如图三。
图二:dynamic high resolution
图三:Navit(vision transformer for any Aspect Ratio and Resolution)
针对vision encoder,在处理完长宽比和分辨率的问题之后,另一个直观能够想到的问题是如何处理多图和视频,图三已经展示了相对简单的多图的处理方案,及每张图片单独进行token化。论文Qwen2-VL中,可以支持同时输入不同长宽比,不同分辨率,以及视频作为多模态的输入,视频被视为多张长宽比一致的图片(如每秒中采样1张图片),然后通过相同的vision encoder进行编码,由于不同的尺度和patch数量的问题,不同大小的图像或视频将会最终获得不同数量的token数。又由于大语言模型能够支持的输入token数有上限,因此也有方法研究如何动态调整如视频模态所占用的token数量。
图四:Qwen2-VL
图五:Points(引入frozen的OCR Vit)
针对vision encoder,还有一部分工作在研究如何在大语言模型场景,训练或者复用更适配的encoder,大部分多模态大模型的工作中,初期vision encoder的参数都是冻结,但会在图文语义对齐阶段打开,或者是最后的任务tuning阶段打开对vision encoder参数进行训练;以保证在初期视觉编码器能够有效提取视觉特征,以及在后期能够让特征更适配多模态大模型的场景。论文Points中,为了提升模型对图片中OCR信息的提取和理解精度,作者创新的引入了一直冻结的OCR Vit编码器,提取OCR相关的信息,参考图五。以此类推,若模型希望较大的提升某一视觉任务的精度,可以引入在对应任务训练的视觉编码器作为输入,通过更大的计算量换取精度的提升。总结来说,视觉编码器,需要能够解决视觉输入的多分辨率,多长宽比问题,能够解决视频输入时如何控制token数量,以及视频中不同帧之间时序相关性(如图六Valley模型提取temporal tokens)的问题,能够解决当对某一视觉任务精度要求更高情况下,如果复用、重新训练更适配的编码器的问题。笔者也认为在视频帧时序相关性,以及复用更多领域最优编码器方面,还可以有一些深入的研究。
图六:Valley(spatio/temporal tokens引入)
Projector(MLP或着Qformer)
Projector模块的作用,更多的在于将vision encoder的结果同文本tokens进行对齐,或者说是特征转换。初期,这个结构相对简单,一般是2-3层的MLP结构;中期,有些论文对这一结构进行了调整,改进为更为复杂的Qformer结构,如图七;但在一些后续的论文中,以及笔者的实际经验来看,复杂的Qformer结构并未让多模态大模型收获更高的精度。
图七:Qformer结构的Projector
训练顺序和策略
图八:Qwen-VL模型的训练步骤
做一个极限的假设,如果我们拥有无限的计算资源,无限的数据以及高质量的数据,那其实我们就端到端的训练多模态大模型,理应收获当前模型结构下的最优解。但实际上,由于训练资源的限制,以及不同训练任务的数据规模,尤其是高质量数据的规模,以及对于部分模块原有知识的复用,才迫使我们通过不同的训练顺序、训练策略、训练阶段,来尽量提升模型在有限资源下的精度。
图八是一个典型的多模态大模型的不同训练阶段期待达成的目标。第一阶段,通过图文对数据训练vision encoder和projector,将视觉特征同大语言模型数据的文本token特征进行对齐;在部分工作中,这一阶段的训练也存在只训练projector的情况,仅仅训练projector,如图五引入OCR encoder后,这个基础的视觉block是不参与训练的,甚至也不参与后续的所有阶段的训练。这里有一个可能的研究方向,是在使用图文对数据训练vision encoder时,可以引入部分纯计算机视觉的任务,来增强vision encoder的特征提取能力,而非简单的提取high level的语义特征;图九展示了一些比较主流的开源数据集,同时在尝试引入领域数据时,我们一般也在pretraining阶段引入领域数据,同这些开源数据集一起以一定的配比的方式开展。
第二阶段,通过丰富的下游任务数据,提升模型多方面的能力;如视觉QA、视觉caption、图表理解、视觉对话等多种任务,图十展示了较为主流的SFT阶段的训练数据集。可以大致总结一下,经过第二阶段的训练,多模态大模型掌握了较多的通用能力。
图九:常见的pretraining阶段开源数据集
图十:常见的SFT阶段开源数据集
第三阶段,一般情况下会根据模型具体的使用场景,以及特有的一些指令的支持,构造相应的数据,同时搭配部分第二阶段的高质量数据,进行模型训练。如图八展示的就是Qwen-VL模型中,引入图文交互的对话数据,让模型拥有更强大的多轮对话和上下文感知能力。第三阶段对于数据质量的要求更高,分布要求更为均匀,大量重复的第三阶段的数据反而可能导致精度下降。当然,很多论文如ShareGPT4V、ChatBridge等都介绍了一些通过gpt4v/gpt4o等闭源模型进行高质量数据构造的方法,由于第三阶段对于数据质量的要求,通常需要对这部分数据进行多模型的double check或者是人工挑选。
多种训练任务
训练任务本质上取决于训练数据的构造,以及目标使用场景的需求;当然为了统一性和建模的一致性,部分工作也在尝试通过统一的建模,将多种有差别的任务进行统一。图十一中,展示了Qwen2-VL模型当前能够处理的主流任务,包括但不限于内容理解,对话,推理,还包括公式、代码、密集文字等类似人类智能的能力。
图十一:多种多模态大模型的应用场景
图十二:多种任务统一成Masked Language Modeling
以上多种任务在输入,尤其是输出上,是有较大的差异的,LAVENDER模型,通过巧妙的前处理,将相关任务都统一成语言掩码模型(Masked Language Modeling)进行建模,提升模型训练效率。如图十三,在InternLM-XComposer中,作者引入图文交互创作任务,让多模态大模型能够根据给定的题目写一篇包含插图的文章;文章将这个过程拆解成3个步骤,第一步生成文字,第二步生成插图的位置以及插图的caption描述,第三步则从图片库中进行检索和优选。图十四则是其后续工作InternLM-XComposer2展示的一个典型例子;可以极大程度节省人力。
图十三:图文交互创作任务
图十四:图文交互创作的例子
大语言模型LLM
在多模态大语言模型中,其语言模型的部分基本上是现有的大语言模型的简单复用,当然也会在SFT和后续的指令微调阶段引入部分文本数据,来保持语言模型的原有能力。从笔者的经验大致有如下的结论:(1)需要原大语言模型有更好的指令遵循能力,如Yi-34B等;(2)需要引入文本数据,保持语言模型原有的能力,需要调整配比;(3)适当引入更多的世界知识,多模态大模型的能力上界,在部分场景取决于语言模型的上界,因此引入更多的世界知识和推理逻辑,可以提升其精度。
多模态大模型同更多任务的结合,如和更多计算机视觉任务的结合,和生成任务的结合等
图十五:多模态大模型同更多的计算机视觉任务相结合
多模态大模型出现之前,典型的计算机视觉任务包括检测、跟踪、识别,分割,生成,编辑,caption等;每一个上述任务都需要单独设计数据集,评估标准,以及相应的算法模型。但以上任务又可以相对简单的总结为如下范式:特征+任务,特征在于通过网络的设计、训练任务的构造,能够从图像中提取到丰富的细节、高阶语义等信息;而任务则根据不同的输出目的,设计成分类,回归等通过不同loss函数表达的求解方案。多模态大模型出现之后,VisionLLM v2将更多的上述任务统一到了同一个框架中,通过super-link技术,以及任务独有decoder模块的复用,提升了多模态模型在不同子任务上的效果,如图十五。
在工业界,通常会面临一种质疑,那就是内容理解应该做到什么粒度,才是一个好的,完备的,信息损失少的内容理解。举个例子,我们识别到图像中有一个人,而这个信息可能对于内容的分发是无效信息,但如果我们识别到图像中有一个长头发、混血、20岁左右、正在练习瑜伽、颜值高、充满活力的女生这样的信息时,对于内容分发就会变更有效率。因此笔者认为,一个完备的内容理解应该具有如下特点:那就是这个内容理解的输出能够让生成模型完整的生成对应的内容。比如结合这样的prompt输入“长头发、混血、20岁左右、正在练习瑜伽、颜值高、充满活力的女生”,文生图模型应该能够生成一张同原图相似度非常高的图片,那这个理解就是完备的,或者说“好”的。欣喜的是,我们在论文Emu3中,看到了将多模态大模型的内容理解,同图片生成模型stable diffusion模型进行结合的方案,如图十六。
图十六:多模态内容理解和图片生成任务结合
图十七:多模态内容理解同UI交互的结合
我们常见的语音交互助手,更多的是在理解自然语言的基础上,通过底层api的设计和调用来完成交互。比如“帮忙查一下北京的天气”,需要在解析到“查天气”这个任务,以及“地点:北京”、“时间:当天”后,通过天气查询服务api调用获得结果。在MM1.5中(图十七),通过多模态大模型能够理解UI界面的交互信息,然后我们就可以通过如“打开淘宝,帮忙我把购物车中的第一件商品下单”的方式来操作手机,这将极大的扩展语音交互的边界,让人可以通过自然语言更舒畅的同机器交流。
图十八:引入更多的模态
同其他任务的结合还包含了另一个方向,就是在输入中引入更多的其他模态的信息(如audio、video等),如图十八,在Ocean-omni中,audio、video信号的引入,使得多模态大模型能够同时处理更多的多模态信号,扩展了任务的边界。
多模态大模型数据集及构建方式的演进
从2022年至今,大语言模型和多模态大模型都取得了长足的进步,但本质上上讲,其模型结构,建模方式都并未发生明显的改进。就大语言模型而言,也出现了gpt-o1这种在模型内部提升其COT能力的方式,能够在文本训练数据枯竭的情况下继续提升模型效果。针对多模态大模型,这两年的模型进步应该说至少有一半的功劳是取决于训练数据的进步,模型的架构、训练范式等都未发生过于明显的变化。因此我们有必要讨论下多模态大模型数据集及其构建方式的演进。
预训练数据
预训练数据有两个基本的目的:(1)对齐不同模态,(2)提供世界知识。预训练数据可以根据粒度分为粗粒度和细粒度数据,图十九中总结了常用的预训练数据集。粗粒度字幕数据有一些共同的特点:(1)数据量大,因为样本通常来源于互联网;(2)由于网络爬取的特性,字幕通常很短且嘈杂,因为它们来自网络图像的搭配文本。这些数据可以通过自动工具进行清洗和过滤,例如,使用CLIP模型过滤掉图像-文本对的相似度低于阈值的图像-文本对。接下来,我们介绍一些代表性的粗粒度数据集。CC-3M是一个包含3.3M图像-字幕对的网络规模字幕数据集,原始描述来源于与图像关联的alt-text。作者设计了一个复杂的数据清洗流程:(1)对于图像,过滤掉包含不当内容或纵横比不当的图像;(2)对于文本,使用NLP工具获取文本注释,并根据设计好的启发式规则过滤样本;(3)对于图像-文本对,通过分类器给图像分配标签。如果文本注释不与图像标签重叠,则删除相应的样本。CC-12M是CC-3M的后续工作,包含12.4M图像-字幕对。与之前的工作相比,CC-12M放宽并简化了数据收集流程,因此收集了更多的数据。SBU字幕是一个包含1M图像-文本对的带字幕的照片数据集,图像和描述来源于Flickr。具体来说,通过使用大量查询词查询Flickr网站获得初始图像集。然后,为了确保描述与图像相关,保留的图像满足以下要求:(1)图像的描述长度令人满意,由观察决定;(2)图像的描述至少包含预定义词汇表中的2个词和通常暗示空间关系的命题词(例如“on”、“under”等)。
图十九:常见的开源预训练数据集和prompt格式
指令调整数据
指令指的是任务的描述。直观地说,指令调整的目的是教会模型更好地理解用户指令并完成所要求的任务。通过这种方式调整后,LLM能够通过遵循新的指令来泛化到未见过的任务,从而提升零样本性能。这个简单而有效的想法激发了后续LLM的成功,如ChatGPT、InstructGPT、FLAN、和OPT-IML。监督微调方法通常需要大量的特定任务数据来训练特定任务的模型,而提示方法减少了对大规模数据的依赖,并且可以通过提示工程完成专业任务。在这种情况下,尽管少样本性能有所提高,但零样本性能仍然相当平均。此外,指令调整与多任务提示高度相关。
由于指令数据在格式上更加灵活,任务表述也更加多样,因此收集数据样本通常更加棘手且成本更高,参考图二十。在本节中,我们总结了三种典型的大规模收集指令数据的方法,即数据适应、自我指令和数据混合。数据适应:特定任务的数据集是高质量数据的丰富来源,大量工作利用现有的高质量数据集构建了指令格式化的数据集。以VQA数据集的转换为例,原始样本是一个输入-输出对,其中输入包括一个图像和一个自然语言问题,输出是给定图像的问题的文本答案。这些数据集的输入-输出对可以自然地构成指令样本的多模态输入和响应。直接使用这些数据集进行指令调整可能会限制MLLM的输出长度。解决这个问题有两个常见策略。第一种是明确地在指令中指定。例如,ChatBridge明确声明对于简短答案数据是简短和简洁的,对于传统的粗粒度字幕数据是句子和单句。第二种是扩展现有答案的长度。例如,M3IT提出通过提示ChatGPT原始问题、答案和图像的上下文信息(例如字幕和OCR)来重述原始答案。
图二十:指令模版、VQA指令示例、常见的开源指令调整数据集
对齐数据(对齐模型和人类偏好)
对齐调整更常用于需要将模型与特定人为偏好对齐的场景中,例如减少幻觉,人力反馈的强化学习(RLHF)和直接偏好优化(DPO)是两种主要的技术,用于对齐调整。对齐调整的数据收集要点是收集模型响应的反馈,即决定哪种响应更好。通常,收集此类数据的成本很高,同时此阶段使用的的数据量通常甚至少于前几个阶段。在这部分,下图总结了常见的对齐调整数据:
图二十一:常见对齐调整数据
LLaVA-RLHF,它包含10K个由人类反馈收集的偏好对,主要针对诚实和有帮助程度。该数据集主要用于减少模型响应中的幻觉。RLHF-V,它有5.7K个细粒度的人类反馈数据,通过分段级别的幻觉纠正收集。VLFeedback,它利用AI为模型响应提供反馈。数据集包含超过380K个比较对,由GPT-4V根据帮助性、忠实度和道德考虑进行评分。
多模态大模型幻觉问题机理及解决思路
对大模型而言,幻觉问题一直是阻碍其更为广泛应用的瓶颈。多模态大模型依旧存在幻觉问题。大体上,幻觉的产生主要来自于4个方面:(1)数据,(2)模型结构,(3)训练方法,(4)推理方法。
对于数据而言,产生幻觉又主要体现在3个方面:数量、质量、统计偏差(分布)。(1)数量方面,多模态大模型的训练数据量级是远小于大语言模型的,因此数据不足的情况可能导致跨模态对齐问题从而引发幻觉。(2)质量方面,由于多模态大模型的训练数据有大部分都从网络爬取,然后经历一系列的清洗过程得到,因此难免引入噪声数据;另一方面,数据缺乏多样性,尤其是负面样本的缺失;还有一点,在预训练阶段,我们会引入图-文对数据,常用的如图片的caption数据,但是caption的粒度(粗、细),细节到什么程度目前还没有很好的定论,从目前的实验结论来看,粗粒度肯定不是最优的,但是非常细粒度似乎也并不是最优解,粒度越细越可能引入幻觉。(3)统计偏差方面,比如counting任务,如果我们的模型很少见到5个及以上物体的训练数据,那么counting的结果可能也倾向于给出小于5个的答案。某种程度上,多模态大模型可能并没有像小孩子一样学会了数数这个技能,只是建立了视觉和文本答案之间的关联。
对于模型结构而言,较弱的视觉模块以及对齐模块,可能是导致幻觉发生的原因之一;另外,语言模型的偏向性容易导致模型忽略视觉内容,而引起幻觉。如语言模型学习到了“香蕉-黄色”这一对根深蒂固的知识(并且是正确的知识),如果我们给一张照片,并且把香蕉涂成红色,大语言模型可能就会因为这种语言/知识的先验主导而忽略视觉信息。
对于训练方法而言,MLLM的训练目标基本上与LLM相同,即自回归的下一个令牌预测损失。这种损失直观且有效,易于规模化,展现出在语言建模上的良好性能。然而,MLLM领域的一些研究表明,由于视觉内容具有复杂的空间结构,下一个令牌预测损失可能并不适合用于视觉内容的学习。此外,该损失函数在令牌级别进行优化,却缺乏对序列级别的监督。另一种观点认为,与训练LLM不同的是,MLLM的训练过程中缺少了从强化学习引导的微调(RLHF)阶段,这成为了产生幻觉的一个潜在原因。另外,我们需要多模态原生的next token prediction,才能解决如何比较好地预测图像token的问题。
对于推理方法而言,一些工作也指出了自回归生成中可能存在一个问题。生成过程中,随着序列长度的增长,自注意力会更多地集中在先前生成的文本令牌上,也就是说,对视觉内容的注意力被稀释了。通过可视化生成过程中的注意力图谱,可以观察到生成内容更多地聚焦于之前的特殊令牌,如标点符号,而非视觉内容相关的令牌。这种“注意力丢失”的问题同样会导致模型的输出响应与视觉内容无关。例如OPERA中就通过可视化,展示了多模态大模型的幻觉同anchor token(或着称为summary token)有较为明显的相关关系,如图二十二。
图二十二:推理时,幻觉产生和anchor token有关
通过数据降低幻觉问题
如幻觉成因部分所述,数据是导致MLLM中产生幻觉的主要因素之一。为了减轻幻觉问题,近期的研究在数据方面进行了尝试,包括引入负面数据、引入反事实数据,以及减少现有数据集中存在的噪声和错误。LRV-Instruction 被提出用于应对现有指令微调数据主要集中于正面指令样本的问题,这导致模型倾向于持续回答“是”。LRV-Instruction旨在通过包含正面及负面指令来实现更加稳健的视觉指令微调。其中,负面指令涵盖以下三类:(1)“不存在对象操作”:引入不存在的对象、活动、属性及交互;(2)“存在对象操作”:对已有对象应用不一致的属性进行操作;(3)“知识操作”:在指令中对知识信息进行调整。HalluciDoctor 论文通过校准指令微调数据集来解决MLLM中的对象幻觉问题。校准工作从两个角度展开。首先,它通过多个MLLM的一致性交叉检查开发了一个幻觉检测流程。根据检测结果,可以去除幻觉内容。其次,该研究发现训练数据中的长尾分布和对象共现是导致幻觉的两个主要因素。因此,提出了一个反事实视觉指令生成策略来扩展数据集。运用所提方法,指令微调数据得以平衡,并减少了幻觉现象。在经过校准的数据集上训练的MLLM被证明不太容易产生幻觉。ReCaption 工作提出了一种名为ReCaption的框架,用于重写数据集中现有图像-文本对的文本描述。该框架包括两个步骤:(1)关键词抽取,从描述中抽取动词、名词和形容词;(2)描述生成,利用大型语言模型(LLM)根据提取的关键词生成句子。最终,该框架生成一系列高质量的图像-描述对。实验结果显示,在重写后的描述数据集上训练的模型在某些基准测试上具有更高的准确性,比如POPE基准测试。尽管性能有所提升,但重写描述为何能减少幻觉的问题仍是一个待解的开放性问题。EOS Decision 研究指出,幻觉往往发生在生成描述中位置较后的对象上。直观上讲,理想情况是多模态大语言模型(MLLM)能够及时终止生成过程。这一想法在论文 中从序列结束(EOS)决策的角度进行了深入探讨。其核心洞察是,训练数据可能超出了MLLM的感知极限。当使用此类数据进行训练时,模型可能会试图匹配真实标注描述的细节层次和长度分布。然而,这可能导致它表达出从图像中无法辨别的细节,从而产生幻觉。因此,作者探索了增强模型序列结束(EOS)决策过程的方法,确保当达到感知极限时能够及时终止生成。在数据处理方面,该研究提出了一种数据过滤策略,以剔除可能损害模型终止序列能力的有害训练数据。
通过模型结构改进降低幻觉问题
直观地,提高vision encoder的分辨率,以及引入多个vision encoder,都能够较为容易的降低多模态大模型的幻觉问题。从LLaVA 升级到LLaVA-1.5 的一个重要更新是将CLIP ViT视觉编码器的规模从CLIP-ViT-L-224扩大到CLIP-ViT-L-336,这带来了显著的性能提升。QwenVL 展示了逐步将图像分辨率从224×224增大至448×448的有效性。通常,由于CLIP ViT图像编码器在提取语义丰富的特征方面表现出色,它被大多数MLLM用作视觉编码器。然而,与纯视觉模型如DINO ViT相比,CLIP被证明丢失了一些视觉细节。因此,最近的研究提出通过整合其他视觉编码器的视觉特征来弥补这一信息损失,研究提议混合CLIP ViT和DINO ViT的特征。为了改进OCR识别精度以及OCR方面的幻觉问题,POINTS引入OCR ViT来提升模型性能。
通过改进训练方法降低幻觉问题
前文提到next token prediction的方式,对于多模态而言,可能并不是最优的训练范式,这种方式会丢失掉视觉的空间及序列信息。HACL提议通过对比损失增强视觉和文本表示之间的对齐。含有幻觉的文本被用作图像锚点的难负样本。该损失使非幻觉文本和视觉样本的表示更接近,同时推开非幻觉和幻觉文本的表示。实验结果显示,这种方法不仅能减少幻觉,还能提高在其他流行基准上的性能。
此外,引入强化学习,也是一种有效的降低幻觉的方法。HA-DPO将幻象处理为偏好选择问题,训练模型优先选择准确的响应而非幻象响应。为实现这一目标,HA-DPO首先构建高质量的数据集。具体而言,它先使用MLLM生成对应图像的描述,再利用GPT-4检测这些描述是否包含幻象。若发现幻象,则重写描述。因此,HA-DPO构建了一个包含准确描述(正样本)和幻象描述(负样本)的数据集。然后,HA-DPO利用这些样本对训练模型,使模型能区分准确和幻象描述。这通过方向偏好优化(DPO)实现,优化特定损失函数以最大化模型对正样本的偏好同时最小化对负样本的偏好。HalDetect首先介绍了MHalDetect数据集以检测幻象,覆盖了广泛幻象内容,包括不存在的对象、不忠实的描述和不准确的关系。随后,提出了一种多模态奖励模型来检测由MLLM生成的幻象。奖励模型在M-HalDetect数据集上训练,以识别生成文本中的幻象。为了利用训练好的奖励模型减少幻象,作者引入了细粒度直接偏好优化(FDPO)。FDPO利用单个示例的细粒度偏好直接减少生成文本中的幻象,通过增强模型区分准确与不准确描述的能力。LLaVA-RLHF也尝试通过人类反馈来缓解幻象,将RLHF范式从文本领域扩展到视觉-语言对齐任务,让人工注释者比较两个响应并指出幻象的那个。MLLM被训练以最大化由奖励模型模拟的人类奖励。为解决奖励黑客攻击的潜在问题,即从奖励模型获得高分不一定导致人类判断的改进,提出了事实增强RLHF算法。该算法通过添加额外信息(如图像标题)来校准奖励信号。
通过改进推理方法降低幻觉问题
前文提到了OPERA方法,通过识别anchor token的存在检测幻觉问题。OPEAR的工作提出了一个有趣的观察,即大多数幻觉与自注意力矩阵中表现出的知识聚合模式密切相关,即MLLM倾向于通过关注少数摘要标记而不是所有先前标记来生成新标记。这种部分过度信任的倾向导致忽视图像标记,并以幻觉描述图像内容。基于这一观察,提出了一种基于过度信任惩罚和回顾分配策略的MLLM解码方法。首先,在MLLM束搜索解码过程中引入了对模型logits的惩罚项,以缓解过度信任问题。此外,为了处理惩罚项无法解决的困难情况,提出了一种更积极的策略,称为回滚策略,以回顾先前生成标记中摘要标记的存在,并在必要时重新分配标记选择。
多模态理解与生成任务统一
在3.2中我们回顾了多模态大模型同多种任务结合的方法。这里我们单独一章,较为全面的介绍一下多模态内容理解与生成任务的统一,这也是笔者认为较为理想的多模态大模型的发展方向。一般情况下,目前的方案都在尝试将图片内容的多模态理解同图像生成任务结合。如图二十三,VILA-U将多模态大模型的理解任务和图像生成任务结合,通过发现输出token中的vision token,以及vision decoder将对应的视觉特征转化为图片输出。同时训练过程中,引入如图二十四所示的图像重建损失和对比学习损失,学习更为适配的vision decoder。
图二十三:VILA-U训练及推理框架
图二十四:VILA-U训练vision decoder的方法
Janus模型在思路上和VILA-U类似,不同之处在于使用了两组不同的视觉encoder:(1)Understanding encoder,负责常规的多模态理解任务;(2)Generation encoder + Generation decoder组合,负责生成任务;如图二十五。另外有一个相对特殊的训练策略,只在训练的第三阶段才仅仅对Understanding encoder进行参数训练,其余过程均保持encoder参数冻结,参考图二十六。
图二十五:Janus模型结构
图二十六:Janus训练流程
另外,在图十六中,Emu3将图像生成的部分通过stable diffusion模型来实现,一定程度上是在利用一个足够好的图片生成模型,来提升多模态大模型理解和生成结合的效果。多模态大模型具备卓越的跨模态语义理解能力。在此基础上,生成任务将更具创造性和逻辑性。模型可以根据对多模态数据的理解,生成高质量的内容,如依据用户对特定场景的描述(包括场景氛围、人物特征等文本信息)以及参考一些风格类似的图像或视频,创作出符合用户期望的新的视觉或听觉作品,无论是电影脚本、音乐作品还是设计草图,都将更加生动和富有想象力。