多模态:MiniGPT-4

多模态:MiniGPT-4

Introduction

GPT-4具有很好的多模态能力,但是不开源。大模型最近发展的也十分迅速,大模型的涌现能力可以很好的迁移到各类任务,于是作者猜想这种能力可不可以应用到多模态模型,让它具有与GPT-4类似的能力。

为了实现这个假设,作者采用了号称具有ChatGPT百分之90能力的Vicuna13B作为语言模型,采用与BLIP-2相同的视觉模块(ViT-G/14的视觉Encoder和Q-former),然后在用linear继续align视觉特征与文字特征。
然后在raw 的image- text上面训练,作者发现还不能够让他成为一个具有视觉能力的chat bot,于是作者标注了3500个高质量的数据对,然后微调。

在实验中,发现了与GPT-4类似的视觉能力。

Method

通过上述的介绍,可以很清晰的看懂下图模型结构:
在这里插入图片描述
其中ViT、Q-Former、LLM均采用预训练模型,只训练linear layer。

其中训练分为两个阶段,第一阶段为初始化阶段,在大量的 raw text-image 训练学习视觉-文本先验知识。 大约5m个数据对,迭代了20000steps,batch=256.

训练完成后,作者发现,效果并没有达到一个具有视觉能力的对话机器的人水平,会出现 不能生成连贯的语句、重复句子、单词、不相关的内容等。。。
作者指出这种情况与当时的GPT-3很像,GPT-3通过SFT,RLHF才进化成了GPT-3.5,获得了可以与人类对齐的能力。

于是作者想继续对它执行SFT,但是image-text 数据对的获取难度要比指令数据大的多。

在初始化阶段,作者也为模型做了一个template,
在这里插入图片描述
其中Image feature 就是经过线性层的图像特征,为了识别不完整的句子作者检查token是否大于80,如果小于80,在第二次输出结尾接上一个模版,
也就是template1+output1+template2
在这里插入图片描述
完成训练后,作者在此随机选取5000个数据对,生成数据。

然后作者又提出了Data post- processing 过程,是指通过ChatGPT去精修之前5000个图像的文本。
prompt:
在这里插入图片描述
通过上述操作,获取了3500-5000张高质量数据对。

然后通过这些数据执行SFT阶段。
template:
在这里插入图片描述

limitation

  1. 集成了LLM的缺点,容易产生幻觉。(胡编乱造)
  2. sft数据不够。
  3. 冻结VIT可能会缺乏一些必要的特征。
  4. 只训练一个linear 可能不够。

参考

https://arxiv.org/pdf/2304.10592.pdf

猜你喜欢

转载自blog.csdn.net/qq_18555105/article/details/130640367
今日推荐