MiniGPT-4: Enhancing Vision-Language Understanding with Advanced Large Language Models
MiniGPT-4: 增强视觉语言理解与先进的大型语言模型
minigpt是先提出来的,将视觉编码器和LLM对齐,blip2和它还是有蛮大区别的。minigpt4主要核心在于训练Linear的时候采用了2个阶段。第一个阶段使用low-level的数据集(500万对)进行训练,第二个阶段针对low-level的数据集进行了手动筛选(使用GPT生成每个图片的文字标题-5000对,并且手动筛选出生成出来比较符合图片内容的图像文本对-3500对),然后再用这些高质量的数据集去微调模型。此外,训练过程额外有个不同之处在于,第一阶段会根据生成的句子长度(80个token)决定是否加入,这样可以使得文字生成更详细。但是第二阶段,直接从指令库中随机挑选加入。因此,可以达到作者所说:MiniGPT-4现在能够产生更自然、更可靠的反应。此外,我们观察到模型的微调过程非常高效,只需要400个训练步骤,批量大小为12,使用单个A100 GPU只需7分钟即可完成。
但是miniGPT目前的缺陷也比较明显,因为高质量的图像文本对不够,继承了LLM的局限性,如不可靠的推理能力和幻觉不存在的知识。此外,冻结后的视觉大模型也存在一些缺点,就是对于图像的空间感知能力还不够。如作者所说,使用的冻结Q-former可能会失去一些基本特征,如视觉空间接地。用一个更强的视觉感知模型来取代它,这可能会得到改善。3)只训练一个投影层可能无法提供足够的能力来学习广泛的视觉-文本对齐。
最近的GPT-4展示了非凡的多模式能力,例如直接从手写文本生成网站和识别图像中的幽默元素。这些特征在以前的视觉语言模型中很少观察到。我们认为GPT-4先进的多模态生成能力的主要原因在于使用了更先进的大型语言模型(LLM)。为了研究这一现象,我们提出了MiniGPT-4,它使用一个投影层将冻结的视觉编码器与冻结的LLM, Vicuna对齐。我们的研究结果表明,MiniGPT-4具有许多类似于GPT-4所展示的功能,如详细的图像描述生成和从手写草稿创建网站。此外,我们还观察到MiniGPT-4中的其他新兴功能,包括根据给定图像编写故事和诗歌,为图像中显示的问题提供解决方案,根据食物照片教用户如何烹饪等。在我们的实验中,我们发现只有对原始图像-文本对进行预训练才能产生缺乏连贯性的非自然语言输出,包括重复和句子碎片。为了解决这个问题,我们在第二阶段策划了一个高质量的、对齐良好的数据集,使用会话模板来微调我们的模型。这一步对于增强模型的生成可靠性和整体可用性至关重要。值得注意的是,我们的模型具有很高的计算效率,因为我们只使用大约500万对齐的图像-文本对来训练一个投影层。我们的代码、预训练模型和收集的数据集可在https://minigpt-4.github.io/上获得。
大语言模型。由于训练数据的扩大和参数数量的增加,大型语言模型取得了巨大的成功。早期的BERT[11]、GPT-2[22]、T5[23]等模型为这一进展奠定了基础。随后,大规模的1750亿个参数的GPT-3[4]被引入,在众多语言基准上取得了重大突破。这一发展启发了其他各种大型语言模型的创建,包括Megatron-Turing NLG[28]、Chinchilla[14]、PaLM[9]、OPT[38]、BLOOM[25]和LLaMA[32]等。Wei等人[34]进一步发现了几种只出现在大型模型中的涌现能力。这些能力的出现强调了在大型语言模型的开发中扩展的重要性。此外,通过将预训练的大型语言模型GPT-3与人类意图、指令和人类反馈相结合,InstructGPT[21]和ChatGPT[18]实现了与人类的对话交互,并可以回答各种各样的复杂问题。最近,有几个开源模型,比如Alpaca [30] and Vicuna [8] 都是在LLaMA[32]的基础上发展起来的,也表现出类似的性能。
**在视觉语言任务中利用预训练的LLMs。**近年来,在视觉语言任务中使用自回归语言模型作为解码器的趋势得到了极大的关注[6,15,36,31,2,16,17,12]。这种方法利用了跨模态迁移的优势,允许知识在语言和多模态域之间共享。VisualGPT[6]和Frozen[33]等开创性研究已经证明了使用预训练的语言模型作为视觉语言模型解码器的好处。然后开发了Flamingo[2],使用门控交叉注意来对齐预训练的视觉编码器和语言模型,并在数十亿图像-文本对上进行了训练,展示了令人印象深刻的上下文少镜头学习能力。随后,引入了BLIP-2[16],使用带有Q-Former的Flan-T5[10]有效地将视觉特征与语言模型对齐。最近,具有5620亿个参数的PaLM-E[12]已被开发用于将现实世界的连续传感器模态集成到LLM中,从而建立了现实世界感知与人类语言之间的联系。GPT-4[19]最近也发布了,在对大量对齐的图像-文本数据进行预训练后,显示出更强大的视觉理解和推理能力
llm,例如ChatGPT,已经被证明是通过与其他专业模型协作来增强视觉语言任务性能的强大工具。例如,Visual ChatGPT[35]和MM-REACT[37]展示了ChatGPT如何充当协调器,与不同的可视化基础模型集成,并促进它们的协作,以应对更复杂的挑战。ChatCaptioner[39]将ChatGPT视为提问者,提出各种问题供BLIP-2回答。ChatGPT通过多轮对话,从BLIP-2中提取视觉信息,有效总结图像内容。Video ChatCaptioner[7]扩展了这种方法,将其应用于视频时空理解。ViperGPT[29]展示了将LLM与不同视觉模型结合起来以编程方式解决复杂视觉查询的潜力。相比之下,MiniGPT4直接将视觉信息与语言模型对齐,在不使用外部视觉模型的情况下完成各种视觉语言任务。
MiniGPT-4旨在将来自预训练视觉编码器的视觉信息与先进的大型语言模型(LLM)对齐。具体来说,我们使用骆马[8]作为我们的语言解码器,它是在骆马[32]的基础上构建的,可以执行广泛的复杂语言任务。对于视觉感知,我们使用与BLIP-2[16]相同的视觉编码器,ViT主干[13]与预训练的Q-Former相结合。语言和视觉模型都是开源的。我们的目标是使用线性投影层弥合视觉编码器和LLM之间的差距,我们的模型概述如图1所示。为了实现有效的MiniGPT-4,我们提出了一个两阶段的训练方法。初始阶段包括在大量对齐的图像-文本对上对模型进行预训练,以获得视觉语言知识。在第二阶段,我们使用更小但高质量的图像文本数据集和设计的会话模板对预训练模型进行微调,以提高模型的生成可靠性和可用性。
图1 MiniGPT-4的架构。它由一个带有预训练ViT和Q-Former的视觉编码器、一个单一的线性投影层和一个先进的Vicuna大型语言模型组成。MiniGPT-4只需要训练线性投影层,使视觉特征与Vicuna对齐。
在初始预训练阶段,该模型旨在从大量对齐的图像-文本对中获取视觉语言知识。我们将注入投影层的输出视为LLM的软提示,提示其生成相应的ground-truth文本。
在整个预训练过程中,预训练的视觉编码器和LLM都处于冻结状态,只对线性投影层进行预训练。我们使用Conceptual Caption[5,27]、SBU[20]和LAION[26]的组合数据集来训练我们的模型。我们的模型经历了2万个训练步骤,批处理大小为256,覆盖了大约500万图像-文本对。整个过程大约需要10个小时,使用4个A100 (80GB) gpu。
第一个预训练阶段的问题。在第一个预训练阶段之后,我们的MiniGPT-4展示了拥有丰富知识并对人类查询提供合理响应的能力。然而,我们已经观察到,它在产生连贯的语言输出方面遇到了困难,比如产生重复的单词或句子、碎片化的句子或不相关的内容。这些问题阻碍了MiniGPT-4与人类进行流畅的视觉对话的能力。
我们也注意到GPT-3也面临着类似的问题。尽管在广泛的语言数据集上进行了预训练,但GPT-3不能直接生成符合用户意图的语言输出。通过从人类反馈中进行指令微调和强化学习的过程,GPT-3进化为GPT-3.5[21,18],并能够产生更人性化的输出。这种现象与MiniGPT-4在其初始预训练阶段之后的当前状态相似。因此,在这个阶段,我们的模型可能难以生成流畅和自然的人类语言输出也就不足为奇了
为了在生成的语言中实现更大的自然性并增强模型的可用性,第二阶段的对齐过程是必不可少的。虽然在NLP领域,指令微调数据集[30]和对话[1]很容易访问,但在视觉语言领域没有相应的数据集。为了解决这个不足,我们精心策划了一个高质量的图像-文本数据集,专门为对齐目的量身定制。该数据集随后用于在第二阶段对准过程中微调我们的MiniGPT-4。
初始对齐图像文本生成在初始阶段,我们使用从第一个预训练阶段导出的模型来生成给定图像的全面描述。为了使我们的模型能够产生更详细的图像描述,我们设计了一个遵循Vicuna[8]语言模型会话格式的提示符,如下所示:
为了识别不完整的句子,我们检查生成的句子是否超过80个标记。如果没有,我们将加入一个额外的提示符,###Human: Continue ###Assistant:,提示我们的MiniGPT-4扩展生成。通过连接这两个步骤的输出,我们可以创建一个更全面的图像描述。这种方法使我们能够生成更多具有详细和信息丰富的图像描述的图像-文本对。我们从Conceptual Caption数据集中随机选择5000张图像[5,27],并使用这种方法为每张图像生成相应的语言描述。
数据后处理生成的图像描述仍然存在较多的噪声和错误,如单词或句子的重复,以及不连贯陈述的存在。为了缓解这些问题,我们使用ChatGPT通过使用下面的提示来改进描述:
在完成后处理阶段后,我们手动验证每张图像描述的正确性,以保证其高质量。具体来说,我们检查每个生成的图像描述是否遵循我们期望的格式,并通过消除ChatGPT无法检测到的冗余单词或句子来手动改进生成的标题。最后,5000对图像-文本对中只有大约3500对满足我们的要求,这些对随后被用于第二阶段的对齐过程。
在第二阶段,我们用精心策划的高质量图像-文本对我们的预训练模型进行微调。在调优期间,我们在以下模板中使用预定义的提示符:
在这个提示符中,表示从我们预定义的指令集中随机抽样的指令,其中包含各种形式的指令,例如“详细描述此图像”或“您可以为我描述此图像的内容”。需要注意的是,我们没有计算这个特定文本-图像提示的回归损失。
因此,MiniGPT-4现在能够产生更自然、更可靠的反应。此外,我们观察到模型的微调过程非常高效,只需要400个训练步骤,批量大小为12,使用单个A100 GPU只需7分钟即可完成。
我们的MiniGPT-4展示了许多与GPT-4类似的功能。这些包括生成详细的图像描述(图2),识别图像中的有趣方面(图3),以及发现不寻常的内容(图4)。此外,该模型可以从手写文本生成网站(图5)。我们还发现,我们的MiniGPT-4还具有其他能力,例如识别图像中的问题并提供解决方案(图6),受图像启发创作诗歌或说唱歌曲(图7),为图像写故事(图8),在图像中为产品做广告(图9),识别个体(图10),提供有见地的图像评论(图11),检索与图像相关的事实(图12),教用户使用给定的照片烹饪食物(图12)。(13)。这些不同的示例展示了我们的MiniGPT-4的强大功能。
尽管MiniGPT-4处理了许多先进的视觉语言功能,正如我们在演示中所展示的,但它目前仍然面临一些限制。
语言的幻觉。由于minipt -4是建立在LLM的基础上的,它继承了LLM的局限性,如不可靠的推理能力和幻觉不存在的知识。这个问题可以通过使用更多高质量、对齐的图像-文本对来训练模型,或者在将来与更高级的llm对齐来缓解。
感知能力不足。MiniGPT-4的视觉感知仍然有限。它可能很难从图像中识别详细的文本信息,并区分空间定位。这种限制可能源于以下几个因素:1)缺乏足够的对齐图像-文本数据,其中包含足够的信息,如空间定位和光学字符注释。这个问题可以通过在更一致和更丰富的数据上进行训练来缓解。2)视觉编码器中使用的冻结Q-former可能会失去一些基本特征,如视觉空间接地。用一个更强的视觉感知模型来取代它,这可能会得到改善。3)只训练一个投影层可能无法提供足够的能力来学习广泛的视觉-文本对齐。
图2 详细的图像描述