代码:https://github.com/haotian-liu/LLaVA
总览
在这篇论文中,作者首次尝试应用纯语言 GPT-4 生成多模态语言图像指令遵循数据(insruction-following data)。 通过对此类生成数据进行指令调整,推出了大型语言和视觉助手(Large Language and Vision Assistant,LLaVA)。一种端到端训练的大型多模态模型,连贯视觉编码器和 LLM 以实现通用视觉和语言了解。
背景等相干办法:大型语言模型(LLM)表明语言能够施展更宽泛的作用:通用助手的通用接口,各种工作指令能够用语言明确示意并领导端到端 训练有素的神经助手切换到感兴趣的工作来解决它。例如,最近 ChatGPT 和 GPT-4 的胜利证实了对齐 LLM 在遵循人类指令方面的力量,并激发了人们对开发开源 LLM 的极大趣味。 其中,LLaMA [44] 是一个与 GPT-3 性能相匹配的开源 LLM。 Alpaca [43]、Vicuna [45]、GPT-4-LLM [34]利用各种机器生成的高质量指令追随样本来进步 LLM 的对齐能力,与专有 LLM 相比,报告了令人印象粗浅的性能。 重要的是,这行工作是纯文本的。
不同于下面文本的指令微调,作者提出了视觉指令微调,第一个尝试将指令微调拓展到多模态畛域调整。奉献如下:
- 数据方面:应用ChatGPT/GPT-4来将数据转化为多模态指令遵循数据(multimodel instrustion-following data);
- 模型方面:应用CLIP+LLaMA进行指令微调,构建了多模态大模型LLaVA,失去了较好的后果;
- 开源,开源,还是开源!这年头大模型开源都算次要contribution了。
GPT-帮助的数据生成
这部分我写的比拟细,因为当初大模型论文在模型上区别并不大,次要还是数据的区别。
基于已有的大量图片对数据,利用ChatGPT/GPT-4进行多模态指令遵循数据的收集。次要问题集中在如何用 Language-only/Text-only的ChatGPT/GPT-4模型来为图片内容生成对应的指令。
最根本的形式:图片Xv和其对应的阐明文字Xc,构建一个问题汇合Xq来提醒大模型助手对图片内容进行形容。通过提醒GPT-4能够构建这样一个问题序列,如下图:
而后能够将图文对扩大成指令遵循版本的数据格式:Human: Xq Xv <STOP> \n Assistant: Xc <STOP> \n。
但这样结构的数据都不足多样性和深刻推理性,为了补救这一问题,作者将视觉内容编码送进ChatGPT来进步指令的品质,用了两类的合乎示意:文字说明(通常从不同的角度形容视觉场景)和编辑框BBox(通常对场景中的物体进行定位,每个边界框对物体的概念及其空间地位进行编码),如下图:
通过这两类合乎示意,将视觉内容传播给了大模型,而后手工设计了3种对话形式,利用GPT-4进行生成和裁减,别离是对话、细节形容和简单推理。
这里的每种类型应用的问题(Question)也是通过GPT进行in-context-learning来模拟生成的。其中,图片/形容/边界框等信息应用COCO数据集的数据。
以对话为例,作者采纳了下图的形式生成更多的对话标签。
最终累积158K的语言-图片指令遵循样本,58K对话、23K细节形容和77K简单推理。同时在应用ChatGPT和GPT-4时,作者发现GPT-4生成的指令遵循数据品质更高,比方空间推理能力。
网络结构
与GPT-4-LLM[34], Alpaca[43], Vicuna[45]相似,作者应用LLaMA来做 指令微调工作,网络结构如下。整体比较简单,再语言模型前(LLaMA)增加了一个视觉编码器(CLIP)将图片转化为Patch features,而后这些图片特色通过一个映射层W转化为视觉Token,Vison Token与Language Token指令在同一个特色空间,一起拼接(concantate)一起送进大模型。
这里的映射层W能够替换为更简单的网络来晋升性能。
模型训练
应用如下图的形式组织输入输出,其中绿色局部为参加损失计算的局部,损失应用自回归模型的损失,即next token prediction。
作者应用了两阶段的训练形式:
- 预训练特色对齐模块(映射层W);
- 端对端的微调语言模型+映射层。
试验成果
其余能够学习的文章
miniGPT-4的同期工作: 微软LLaVa模型论文笔记:https://zhuanlan.zhihu.com/p/625723805
Visual Instruction Tuning:https://zhuanlan.zhihu.com/p/624071363
参考文献
[34] Baolin Peng, Chunyuan Li, Pengcheng He, Michel Galley, and Jianfeng Gao. Instruction tuning with GPT-4.
[43] Rohan Taori, Ishaan Gulrajani, Tianyi Zhang, Yann Dubois, Xuechen Li, Carlos Guestrin, Percy Liang, and Tatsunori B. Hashimoto. Stanford alpaca: An instruction-following llama model. https://github.com/tatsu-lab/stanford_alpaca, 2023
[44] Hugo Touvron, Thibaut Lavril, Gautier Izacard, Xavier Martinet, Marie-Anne Lachaux, Timo- thée Lacroix, Baptiste Rozière, Naman Goyal, Eric Hambro, Faisal Azhar, et al. Llama: Open and efficient foundation language models. arXiv preprint arXiv:2302.13971, 2023.
[45] Vicuna. Vicuna: An open-source chatbot impressing gpt-4 with 90%* chatgpt quality. https: //vicuna.lmsys.org/, 2023.