赞
踩
最近,GPT-4展示了超强的多模态能力,例如直接从手写文本生成网站,以及识别图像中的幽默元素。这些特征在以前的视觉语言模型中很少观察到。我们认为,GPT-4先进的多模态生成能力的主要原因在于利用了强大的大型语言模型(LLM)。为了检查这种现象,我们提出了MiniGPT-4,其仅使用一个投影层将参数固定视觉编码器与参数固定的LLM Vicuna进行对齐。我们的发现表明,MiniGPT-4具有许多类似于GPT-4所具备的能力,例如生成详细的图像说明,基于手写草稿进行网站创建。此外,我们还观察到MiniGPT-4中的其他新兴能力,包括基于图片写故事和诗,为图像中显示的问题提供解决方案,根据食物照片教用户如何进行烹饪等。在我们的实验中,我们发现如果只有在原始图像文本对上进行预训练,会产生不自然的语言输出,这些输出缺乏连贯性,并包含重复和零散的句子。为了解决这个问题,我们在第二阶段收集了一个高质量的,良好对齐的数据集,以使用对话模板来对我们的模型进行微调。事实证明,该步骤对于增强模型生成的可靠性和总体可用性至关重要。值得注意的是,我们的模型在计算上是高效的,因为我们仅利用大约500万个对齐的图像文本对训练投影层。我们的代码,预训练的模型和收集的数据集可在https://minigpt-4.github.io/上找到。
近年来,大型语言模型(LLM)经历了非常迅速的进步。凭借出色的语言理解能力,这些模型可以以zero-shot的方式执行各种复杂的语言任务。值得注意的是,GPT-4是一种大规模的多模态模型,最近被证明具有许多令人印象深刻的能力。例如,GPT-4可以产生非常详细和准确的图像描述,解释异常的视觉现象,甚至基于手写文本及指令构建网站。
尽管GPT-4具有出色的能力,但其出色能力背后的方法仍然是一个谜。我们认为,这些卓越的技能可能来源于使用更先进的大型语言模型(LLM)。LLM已证明了各种涌现能力,这在GPT-3的few-shot提示设置和Wei et al. (2022)的发现中得到了证明。在较小规模的模型中很难找到这种涌现的特性。据推测,这些涌现能力也适用于多模态模型,这可能是GPT-4具有令人印象深刻的视觉描述能力的原因。
为了证实我们的假设,我们提出了一个名为MiniGPT-4的新模型。它利用了先进的大语模型(LLM)Vicuna 作为语言解码器,该模型是基于LLaMA建造的,据报道,根据GPT-4的评估,它可以达到ChatGPT 90%的性能。在视觉编码方面,我们采用了和BLIP-2相同的视觉预训练组件,其由ViT-G/14构建EVA-CLIP和一个Q-Former组成。MiniGPT-4添加了一个单投影层,以使编码的视觉特征与Vicuna语言模型保持对齐,并冻结其他所有的视觉和语言组件。最初,MiniGPT-4使用batch-size 256,在4个A100 GPU上训练了20K步,并利用来自LAION,Conceptual Captions和SBU的包含图像的组合数据集将视觉特征与Vicuna语言模型相对齐。但是,仅仅将视觉特征与LLM对齐是不足以训练类似chatbot的具有视觉对话能力的高性能模型,并且原始图像文本对的噪音可能会导致语言输出不连贯。因此,我们收集另外3500个高质量的图像文本对,同事使用设计的对话模板进一步微调模型,以提高生成语言的自然性及其可用性。
在我们的实验中,我们发现MiniGPT-4具有与GPT-4相似的许多功能。例如,MiniGPT-4可以生成复杂的图像描述,基于手写文本和指令创建网站,并解释异常的视觉现象。此外,我们的发现表明,MiniGPT-4还具有在GPT-4演示中未展示的其他各种有趣的能力。 例如,MiniGPT-4可以通过观察食物照片生成食谱,基于图像生成故事和说唱歌曲,为图像产品编写广告,区分照片中显示的问题并提供相应的解决方案,从图像中检索有关人,电影或艺术等丰富事实。这些能力在以前的视觉语言模型(例如Kosmos-1和BLIP-2)中是不存在的,这些模型无法应用于类似Vicuna之类的语言模型。这种对比验证了将视觉特征与高级语言模型集成可以产生新的视觉语言能力。
我们介绍了我们的关键发现:
Large language models。近年来,由于训练数据的扩展和模型参数数量的增加,大型语言模型近年来取得了巨大的成功。BERT,GPT-2和T5等早期模型为这一进展奠定了基础。随后,引入了1750亿参数的 GPT-3,证明了众多语言基准的重大突破。这一发展启发了其他各种大型语言模型的创建,包括Megatron-Turing NLG,Chinchilla,PaLM,OPT,BLOOM和LLaMA等。Wei et al. 进一步发现了几种涌现能力,这些能力仅在大型模型中出现。这些能力的出现强调了扩大语言模型规模的重要性。此外,通过将预训练的大语言模型GPT-3与人类的意图,指示和人类反馈保持对齐,InstructGPT和ChatGPT可以使人们与机器进行交互,并可以回答各种各样的多样化和复杂的问题。最近,基于LLaMA开发了几种开源模型,例如Alpaca和Vicuna,并且表现出相似的性能。
Leveraging Pre-trained LLMs in Vision-Language Tasks。近年来,将自回归语言模型用作视觉任务中的解码器的趋势已获得了巨大的吸引力。这种方法利用了跨模态迁移,从而可以在语言和多模态领域之间共享知识。诸如VisualGPT和Frozen之类的开创性研究证明了使用预训练的语言模型作为视觉模型解码器的好处。然后,开发了Flamingo,以使用门控交叉注意力来对齐预训练的视觉编码器和语言模型,并使用了数十亿个图像文本对进行训练,这展示了令人印象深刻的in-context学习能力。随后,引入了BLIP-2,采用了带有Q-Former的Flan-T5,以有效地将视觉特征与语言模型进行对齐。最近,已经开发出具有562B参数的PaLM-E,以将现实世界的连续传感器模态整合到LLM中,从而在现实世界感知和人类语言之间建立联系。GPT-4最近也发布了,其在预训练大量对齐的图像文本数据之后,展示了更强大的视觉理解和推理能力。
通过与其他专业模型协作,LLM(例如ChatGPT)已被证明是增强视觉语言任务的性能强大的工具。例如,Visual ChatGPT和MM-REACT展示了ChatGPT如何充当协调员,与各种视觉基础模型集成并促进他们的协作以应对更复杂的挑战。ChatCaptioner将ChatGPT视为发问者,产生各种问题促使BLIP-2回答。通过多轮对话,ChatGPT从BLIP-2中提取视觉信息,并有效地总结了图像内容。Video ChatCaptioner扩展了这种方法,将其应用于视频时空理解。ViperGPT展示了将LLM与不同视觉模型相结合的潜力,以程序化地解决复杂的视觉问题。相比之下,MiniGPT4直接将视觉信息与语言模型保持一致,以完成不同的视觉语言任务,而无需使用外部视觉模型。
MiniGPT-4旨在将预训练视觉编码器的视觉信息与大语言模型(LLM)相结合。具体来说,我们利用Vicuna作为我们的语言解码器,该模型是基于LLaMA上构建的,可以执行各种复杂的语言任务。为了进行视觉感知,我们采用了与BLIP-2中相同的视觉编码器,一个ViT backbone外加一个预训练Q-Former。语言和视觉模型都是开源的。 我们的目标使用线性投影层来桥接视觉编码器和LLM之间的差距,我们在图1中展示了所描述的模型。
为了实现有效的MiniGPT-4,我们提出了一种两阶段的训练方法。初始阶段涉及在大量对齐的图像文本对中预训练模型以获取视觉语言知识。在第二阶段,我们使用较小但高质量的图像文本数据集微调了经过预训练的模型,并使用特定设计的对话模板,以增强该模型的生成可靠性和可用性。
在最初的预训练阶段,该模型旨在从大量对齐图像文本对中获取视觉知识。我们将注入的投影层的输出视为对LLM的软提示,并提示其生成相应的真实文本。
在整个预训练过程中,预训练的视觉编码器和LLM都保持参数固定,只有线性投影层被预训练。我们使用分别来自Conceptual Captions,SBU和LAION的组合数据集来训练我们的模型。我们的模型训练了20,000个步骤,batch-size为256,涵盖了约500万张图像文本对。整个过程在4张A100(80GB)GPU上大约需要10个小时训练完成。
Issues of the first pretraining stage。在第一个预处理阶段之后,我们的MiniGPT-4展示了拥有丰富知识并对人类问题的合理反应的能力。但是,我们观察到了它难以产生连贯的语言输出,例如产生重复的单词或句子,零散的句子或无关紧要的内容。这些问题阻碍了MiniGPT-4与人类进行流利的视觉对话的能力。
我们还注意到GPT-3中也面临着类似的问题。尽管在广泛的语言数据集上进行了预训练,但GPT-3无法直接生成符合用户意图的语言输出。通过基于人类反馈的微调和强化学习的过程,GPT-3演变为GPT-3.5,并能够产生更具人为友好的输出。这种现象与最初预训练阶段之后的MiniGPT-4的当前状态具有相似之处。因此,在此阶段,我们的模型可能难以产生流利而自然的人类语言输出,这并不奇怪。
为了在生成的语言中获得更大的自然性并增强模型的可用性,第二阶段对齐过程至关重要。尽管在NLP领域,很容易使用指令微调数据集和对话数据集,但视觉语言领域中不存在等效数据集。为了解决这一缺陷,我们仔细设计了一个高质量的图像-文本对数据集,该数据集是专门针对对齐目的而定制的。随后,该数据集用于在第二阶段对齐过程中微调我们的MiniGPT-4。
Initial aligned image-text generation。在初始阶段,我们采用了从第一个预训练阶段得到的模型来生成对给定图像的全面描述。为了使我们的模型能够产生更详细的图像描述,我们设计了一个提示,该提示符合Vicuna语言模型的对话格式,如下所示:
在此提示中,
<
i
m
a
g
e
F
e
a
t
u
r
e
>
<imageFeature>
<imageFeature>表示线性投影层产生的视觉特征。
为了识别不完整的句子,我们检查生成的句子是否超过80个字符。如果没有,我们将合并一个额外的提示,###Human: Continue ###Assistant: ,提示我们的MiniGPT-4继续生成。通过将两个步骤的输出连接在一起,我们可以创建一个更全面的图像描述。这种方法使我们能够生成更多图像文本对,并具有详细且信息丰富的图像描述。我们从Conceptual Caption数据集中随机选择5,000张图像,并采用此方法为每个图像生成相应的语言描述。
Data post-processing。生成的图像描述仍然有很多噪音,并包含错误,例如单词或句子的重复以及不一致的语句的存在。为了减轻这些问题,我们采用ChatGPT来通过使用后续提示来完善描述:
完成后处理阶段后,我们可以手动验证每个图像描述的正确性,以确保其高质量。具体来说,我们检查每个生成的图像描述是否遵循我们所需的格式,还可以通过消除ChatGPT无法检测到的冗余单词或句子来手动完善生成的文本。最后,在5,000个图像文本对中,只有大约3500对满足我们的要求,随后将这些对用于第二阶段对齐过程。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。