阿卜杜拉国王科技大学的研究团队最近开源了一个名为MiniGPT-4的模型。除了生成文本之外,该模型还具备识别图片的多模态功能。与微软最近开源的Visual ChatGPT类似,该模型是“眼睛+嘴巴”的组合模型。

MiniGPT-4由一个带有预训练ViT和Q-Former的视觉编码器、一个线性投影层以及高级Vicuna大型语言模型组成。其中,Vicuna是一个130亿参数的开源模型,性能方面可以媲美GPT-4。此外,MiniGPT-4非常节约资源,可以在单个NVIDIA 3090/4080/V100(16GB) GPU上运行。

阿卜杜拉国王科技大学(King Abdullah University of Science and Technology,KAUST)是一所位于沙特阿拉伯吉达市的公立研究型大学,成立于2009年。该大学以培养创新型人才和解决全球性挑战为目标,致力于推动科学、工程和技术领域的前沿研究,并与世界各地的科研机构和产业界合作,推进科技创新和知识产业的发展。

KAUST拥有现代化的设施和资源,包括实验室、超级计算机、图书馆等,提供多种研究和学术机会,吸引了来自全球不同国家和地区的师生参与其中,是中东地区及周边地区领先的高等教育和研究机构之一。

- ViT:ViT全称为Vision Transformer,是一种新型的视觉编码器,能够将图像转换为可用于自然语言处理的向量表示。它是使用Transformer架构在计算机视觉任务中实现卓越表现的最新技术之一。

- Q-Former: Q-Former是另一种基于Transformer的编码器,通常用于处理序列数据(如文本)。

- Vicuna:Vicuna是一个大型的语言模型,由阿卜杜拉国王科技大学开发。该模型被训练用于多种自然语言处理任务,具有13亿个参数,性能可以媲美OpenAI发布的GPT-4预训练模型。

打开网易新闻 查看精彩图片

想要使用图片对话功能很简单,打开试用网站,然后在左边的输入框内输入一张图片。然后点击下方的,Upload &start Chat,这时候你就可以在右边的输入框针对图片和Ai进行对话了。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

比如,询问它图片上画的是什么,并且用中文
写出来。

打开网易新闻 查看精彩图片

另外,还可以用它来写广告语,比如国外有网友上传了一张图片,要求MiniGPT4根据图片内容写广告语。它不仅成功识别出图片上的图案,还能分析出杯子的材质,写出一篇广告语。

打开网易新闻 查看精彩图片

还可以用它来写一首美妙的诗

打开网易新闻 查看精彩图片


技术原理

ViT和Q-Former 视觉编码器是MiniGPT-4模型中的两个基础组件,它们可以分别对图像和文本进行编码。具体而言,ViT可以将输入的图片转换为向量表示,从而能够在模型中进行处理。

而Q-Former则是一种变形的Transformer编码器,适用于序列建模任务,这里主要用于生成文本描述。MiniGPT-4通过将两者结合起来,实现了一种多模态的生成模型,即可以根据图像和提示生成相应的文本。也就是说,ViT和Q-Former不仅充当了MiniGPT-4的“眼睛”,还提供了看图说话的功能。

微软曾经开源了一个名为Visual ChatGPT的项目,采用类ChatGPT模型与多个SOTA视觉基础模型相结合,实现了在对话系统中理解和生成图片。

该项目已经在GitHub上获得了3万颗星,备受欢迎。但是要实现模型组合达到最佳效果并不容易,因为整个映射和对齐过程非常复杂和繁琐。例如,语句和图片可能存在大量重复、难以理解,微调效果不佳会严重影响整个产品的性能。

MiniGPT-4的训练分为两个阶段。第一阶段先给它看了很多图片和文字组成的对,让它学会如何理解图片和文字之间的关系。

打开网易新闻 查看精彩图片

第二阶段再用更加真实、高质量的数据让它进一步学习,变得更聪明。这样,经过完美的训练后,MiniGPT-4能够读懂图片中的内容,并根据它生成出对应的文字,就像一个懂画又懂话的人一样聪明。

MiniGPT-4除了能够生成对应特定图像的文字外,还支持多轮连续对话。这意味着用户可以与MiniGPT-4进行更加深入的交互,并且在多个回合之后,MiniGPT-4可以根据之前的对话内容来生成更有针对性的回复。

值得一提的是,MiniGPT-4的开发团队由华人博士组成。包括朱德尧、沈晓倩、LiXiang、Mohamed Elhoseiny等。

开源地址:https://github.com/Vision-CAIR/MiniGPT-4

在线试用:https://687d119023cd37e5fb.gradio.live/

论文:https://github.com/Vision-CAIR/MiniGPT-4/blob/main/MiniGPT_