代码: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 \n Assistant: Xc \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。

作者使用了两阶段的训练方式:

  1. 预训练特征对齐模块(映射层W);
  2. 端对端的微调语言模型+映射层。

实验效果

其他可以学习的文章

miniGPT-4的同期工作: 微软LLaVa模型论文笔记https://zhuanlan.zhihu.com/p/625723805

Visual Instruction Tuninghttps://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.

多模态大语言模型 LlaVA 论文解读:Visual Instruction Tuning的更多相关文章

  1. 可视化反投射:坍塌尺寸的概率恢复:ICCV9论文解读

    可视化反投射:坍塌尺寸的概率恢复:ICCV9论文解读 Visual Deprojection: Probabilistic Recovery of Collapsed Dimensions 论文链接: ...

  2. CVPR2020论文解读:三维语义分割3D Semantic Segmentation

    CVPR2020论文解读:三维语义分割3D Semantic Segmentation xMUDA: Cross-Modal Unsupervised Domain Adaptation  for 3 ...

  3. 自监督学习(Self-Supervised Learning)多篇论文解读(下)

    自监督学习(Self-Supervised Learning)多篇论文解读(下) 之前的研究思路主要是设计各种各样的pretext任务,比如patch相对位置预测.旋转预测.灰度图片上色.视频帧排序等 ...

  4. 自监督学习(Self-Supervised Learning)多篇论文解读(上)

    自监督学习(Self-Supervised Learning)多篇论文解读(上) 前言 Supervised deep learning由于需要大量标注信息,同时之前大量的研究已经解决了许多问题.所以 ...

  5. NLP论文解读:无需模板且高效的语言微调模型(上)

    原创作者 | 苏菲 论文题目: Prompt-free and Efficient Language Model Fine-Tuning 论文作者: Rabeeh Karimi Mahabadi 论文 ...

  6. itemKNN发展史----推荐系统的三篇重要的论文解读

    itemKNN发展史----推荐系统的三篇重要的论文解读 本文用到的符号标识 1.Item-based CF 基本过程: 计算相似度矩阵 Cosine相似度 皮尔逊相似系数 参数聚合进行推荐 根据用户 ...

  7. CVPR2019 | Mask Scoring R-CNN 论文解读

    Mask Scoring R-CNN CVPR2019 | Mask Scoring R-CNN 论文解读 作者 | 文永亮 研究方向 | 目标检测.GAN 推荐理由: 本文解读的是一篇发表于CVPR ...

  8. zz扔掉anchor!真正的CenterNet——Objects as Points论文解读

    首发于深度学习那些事 已关注写文章   扔掉anchor!真正的CenterNet——Objects as Points论文解读 OLDPAN 不明觉厉的人工智障程序员 ​关注他 JustDoIT 等 ...

  9. NIPS2018最佳论文解读:Neural Ordinary Differential Equations

    NIPS2018最佳论文解读:Neural Ordinary Differential Equations 雷锋网2019-01-10 23:32     雷锋网 AI 科技评论按,不久前,NeurI ...

  10. [论文解读] 阿里DIEN整体代码结构

    [论文解读] 阿里DIEN整体代码结构 目录 [论文解读] 阿里DIEN整体代码结构 0x00 摘要 0x01 文件简介 0x02 总体架构 0x03 总体代码 0x04 模型基类 4.1 基本逻辑 ...

随机推荐

  1. 干掉复杂的工具类,国产Java工具类库 Hutool 很香!

    Hutool 大家已经比较熟悉了,这是一个超全的 Java 工具库,深受国内开发者的喜爱. 我之前其实是不太喜欢使用这种功能太多的工具类的,也比较担心稳定性和安全性,后面慢慢接受了就感觉其实也还好.而 ...

  2. PVE虚拟系统的安装

        上期有说到,会出一些具体的安装过程以及掉进去的坑.这集我就说一说PVE系统的安装. As mentioned in the previous issue, there will be some ...

  3. [Java SE]数组超界异常分析(IndexOutOfBoundsException/ArrayIndexOutOfBoundsException)

    import org.junit.Test; import java.util.ArrayList; /** * @author: Johnny * @date: 2021/11/12 11:17:2 ...

  4. [Tomcat/Java EE/Linux]Tomcat启动异常:StandardServer.await: create[localhost:8005]: java.net.BindException: 无法指定被请求的地址

    1 问题背景 部门新成员小J在一台虚拟机(ip:192.168.191.96)内安装部署部门的数据治理产品(含: 20余个微服务模块 + 1套(用户)基础管理系统BMS). 小J启动BMS的Tomca ...

  5. Java对象内存管理

    对象内存管理介绍 编译好的java程序需要运行在JVM中:JVM为java程序提供并管理所需要的内存空间:"栈"."堆"."方法区"三个区域 ...

  6. 异常:java.io.FileNotFoundException:e:\demo(拒绝访间。)

    禁止向目录中写数据,只能向文件写数据

  7. Semantic Kernel 入门系列:🥑突破提示词的限制

    无尽的上下文 LLM的语言理解和掌握能力在知识内容的解读和总结方面提供了强大的能力. 但是由于训练数据本身来自于公共领域,也就注定了无法在一些小众或者私有的领域能够足够的好的应答. 因此如何给LLM ...

  8. SQL优化(二)-- 慢查询

    1.慢查询日志 MYSQL的慢查询日志是Mysql提供的一种日志记录方式,它主要是用来记录mysql执行语句过程中,响应时间超过阀值的语句,这个阀值可以通过long_query_time去指定,比如说 ...

  9. [OpenCV-Python] 6 OpenCV 中的绘图函数

    文章目录 OpenCV-Python: II OpenCV 中的 Gui 特性 6 OpenCV 中的绘图函数 6.1 画线 6.2 画矩形 6.3 画圆 6.4 画椭圆 6.5 画多边形 6.6 在 ...

  10. springboot升级过程中踩坑定位分析记录 | 京东云技术团队

    作者:京东零售 李文龙 1.背景 " 俗话说:为了修复一个小bug而引入了一个更大bug " 因所负责的系统使用的spring框架版本5.1.5.RELEASE在线上出过一个偶发的 ...