LLaVA:分析图像和文本数据的开源模型

原文地址:analyzing-images-with-llava

2024 年 3 月 20 日

在过去的几个月里,ChatGPT 等各种大型语言模型(LLM)已进入商业市场,许多公司已成功地将 LLM 集成到其产品和服务中,极大地改变了我们与设备和互联网的交互方式。尽管取得了成功,但 LLM 有一个很大的局限性--它们无法摄取和分析图像。

图像是互联网上可用信息的主要组成部分(据估计,在线图像达 7500 亿张)。这些图片蕴含着大量有用的信息,如最新的美食、旅游或时尚趋势,能够从图片中分析和提取洞察力将使我们能够为企业及其客户带来更多价值。在这篇文章中,我们将探讨一个能够同时分析图像和文本数据的开源模型--LLaVA,它于去年 2023 年刚刚发布。

LLaVA LMM 聊天机器人简介

LLaVA 是一个端到端训练有素的大型多模态(LMM)模型,它将 CLIP 视觉编码器与 Vicuna 开源聊天机器人相结合,创建了一个通用的多模态聊天机器人。用户通过输入图像和包含一系列指令的文本提示与 LLaVA 进行交互。然后,LLaVA 将根据指令分析输入的图像,并输出描述图像内容的文本。

LLaVA 的创新研究贡献

LLaVA 论文对 LMM 的发展做出了以下贡献:

  • 数据创建过程后的多模式指导。

高质量的数据是创建高性能模型的关键,而缺乏注释数据则是一大障碍。为了克服这一问题,LLaVA 提出了一种新方法,即使用 GPT-4 创建用于训练 LLaVA 的指令跟随图像-文本对。

  • LMM 模型架构。

LLaVA 将 CLIP 视觉编码器与 Vicuna 聊天机器人相结合,创建了端到端的多模态管道,表明即使是如此相对简单的设置也能产生最先进的结果。

  • LMM 基准。

基准对于验证模型性能至关重要,而具有挑战性的基准更能充分测试模型的能力。LLaVA 引入了两个新的挑战性基准,旨在实现这一目标。

  • 开放源代码。

与最近的其他开发成果不同,LLaVA 是开放源代码的,允许公众研究和审查其内容,并开展进一步的工作!

指令跟随图像文本数据生成

由于目前缺乏指令跟读图像文本数据,LLaVA 建议使用(仅文本)GPT-4 生成训练数据。

4

如上图所示,图像通过两种不同类型的符号表示编码成纯文本提示:

  1. 描述图像中视觉场景的标题、
  2. 指定图像中物体位置的边界框。

然后,将这些包含图像文本描述的标题和边界框输入纯文本 GPT-4,以创建以下三种不同类型的指令跟随数据来训练 LLaVA。

  1. 对话:关于图像内容的简单扼要的陈述。
  2. 详细描述:关于图像内容的详细而冗长的描述。
  3. 复杂推理:关于图像内容的合理且合乎逻辑的理由。这一步最为复杂,要求模型遵循循序渐进的逻辑推理过程。

下图显示了 GPT-4 根据上述图像创建的三种不同指令数据类型的示例。

5

LLaVA 模型架构和训练

LLaVA 通过简单地将视觉编码器与语言模型相结合,创建了端到端的多模态聊天机器人。理论上,只要采取步骤将视觉编码器的标记投射到语言模型的标记空间,任何视觉编码器和语言模型都可以工作。

6

如上图所示,用户通过输入图像和包含指令的文本提示与 LLaVA 进行交互。文本提示直接由语言模型的标记器进行标记,而图像则首先由视觉编码器进行标记,然后将生成的标记投射到语言模型的空间。

在训练过程中,首先对投影矩阵 W 进行微调,同时冻结语言模型的权重,使视觉编码器与语言模型保持一致。然后对模型进行如下端到端训练:

  1. 对于每个输入图像,生成一个包含一系列提示和回复的多轮对话。
  2. 第一个提示包含视觉和文本输入,而随后的提示只包含文本输入。对模型进行训练,使其能够对有关图像的一系列连续文本提示做出响应。

在整个训练过程中,视觉编码器一直处于冻结状态。

LLaVA 与 SOTA 聊天机器人

尽管 LLaVA 只在一个相对较小的数据集上进行过训练,但我们发现它能够提供与 SOTA 模型相媲美的响应,特别是 LLaVA 能够提供与 GPT-4 类似水平的推理能力。

7

LLaVA 与 SOTA 聊天机器人

由于很难定量测量聊天机器人对开放式回答的输出,LLaVA 也在科学 QA 数据集上进行了训练和测试,该数据集包含 21,208 道来自小学和高中科学课的多模式多项选择科学问题。该数据集有明确的答案,可以更好地量化回答的准确性。

8

在科学质量保证数据集上进行微调后,LLaVA 在 GPT-4 判定的文本回复质量方面优于人类和一些 SOTA 模型。此外,当 LLaVA 与 GPT-4 组合在一起时,其性能甚至超过了最好的 SOTA。

在 HuggingFace 上试用 LLaVA

公众可以通过 HuggingFace 空间轻松访问 LLaVA!该空间自带聊天机器人图形用户界面,允许任何人上传图片并开始与 LLaVA 聊天。更令人惊喜的是,该空间由 T4 GPU 驱动,运行时间大大缩短!

举个例子,让我们问问 LLaVA,下面这张上传到 Reddit 的图片有什么奇怪的地方:

9

如下图所示,LLaVa 不仅能描述场景的视觉内容,还能对场景的奇怪之处做出合理的逻辑解释。我认为可以肯定地说,不仅 ChatGPT 是异端邪说,LLaVA 也是异端。

10

LMM 业务使用案例

与 ChatGPT 等 LLM 一样,我们可以期待 LLaVA 等 LMM 改变企业的运营方式。在本节中,我们将提供一些涉及 LLM(如 LLaVA)的可信商业想法。

  1. 教材中充满了图像和文字。我们可以期待 LMM 进一步改善教职员工和学生的生活质量。例如,学生可以将 LLM 用作学习工具,进一步提高视觉推理能力。
  2. 目前,安防系统充分利用计算机视觉模型(如物体检测和跟踪)来监控闭路电视摄像机镜头。然而,这些模型的功能极其有限。LMM 将能够利用安全录像生成安全事件报告,从而改进安全流程。
  3. 社交技术可以帮助无法完全处理周围世界的视障人士(我应该知道--我的一只眼睛部分失明了近两年!)更好地浏览世界。通过在智能手机等智能设备上加载 LLaVA 等 LMM,社交技术公司可以开发导航应用程序和服务,帮助视障人士更好地独立导航和探索世界!
  4. 文件、社交媒体和新闻网站充满了图形和图像。虽然 LLM 已被用于消化和总结文档内容,但却无法处理图像。LMM 能够处理图像,并将提供重大能力更新,使企业能够全面分析文本和图像内容。

总结

尽管 LLaVA 是在由 GPT-4 生成的小型指令图像-文本数据集上进行训练的,并且是由开源视觉编码器与开源语言模型堆叠而成的,但它在作为聊天机器人和科学推理方面都取得了非常可喜的成果。我们可以预见,在训练数据生成和模型架构方面的新发展将进一步将其能力提升到一个全新的水平。LMM 将像 LLM 一样腾飞,我们可以期待这一领域即将取得的各种进展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1411219.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

RocketMQ SpringBoot 3.0不兼容解决方案

很多小伙伴在项目升级到springBoot3.0版本以上之后,整合很多中间件会有很多问题,下面带小伙伴解决springBoot3.0版本以上对于RocketMQ 不兼容问题 报错信息 *************************** APPLICATION FAILED TO START *************************** Des…

【JVM】JMM 内存模型

JMM 概述 内存模型 java[内存模型](Java Memory Model) 和 [内存结构]JMM规定了在多线程下对共享数据的读写时,对数据的原子性 有序性 可见性的规则和保障。 原子性 原子性问题: i和i–不是原子性操作! 所以一个i指令会在执行过程中被另一个线程执行! 问题分…

C++ | Leetcode C++题解之第67题二进制求和

题目&#xff1a; 题解&#xff1a; class Solution { public:string addBinary(string a, string b) {string ans;reverse(a.begin(), a.end());reverse(b.begin(), b.end());int n max(a.size(), b.size()), carry 0;for (size_t i 0; i < n; i) {carry i < a.siz…

最佳实践|Apifox 中通过 CryptoJS 给请求参数进行 AES 加密!

假如现在要在 Apifox 中发送一个「登录」的请求&#xff0c;然后我需要将接口中的 password 参数使用 AES 加密算法加密以后&#xff0c;再传给后台服务&#xff0c;这要怎么做&#xff1f; 要在 Apifox 中使用 AES 加密算法对 password 参数进行加密&#xff0c;你需要在「前置…

4 Spring AOP

目录 AOP 简介 传统开发模式 先来看一个需求 解决方案 AOP 图示 Spring 启用 AspectJ 基于 xml 配置 创建 pom.xml 创建 UserService 借口和 UserServiceImpl实现类 创建 LogAdvice 日志通知 创建 log4j.properties 重点&#xff1a;创建 spring-context-xml.xml 配…

如何让 PDF 书签从杂乱无序整洁到明丽清新

1、拉取书签&#xff08;详细步骤看文末扩展阅读&#xff09; 原状态 —— 杂乱无序 自动整理后的状态 —— 错落有致&#xff0c;但摩肩接踵 2、开始整理 全选自动整理后的书签&#xff0c;剪切 访问中英混排排版优化 - 油条工具箱 https://utils.fun/cn-en 1 粘贴 → 2 …

国科大模版修订模式冲突

定位到 \documentclass[twoside]{Style/ucasthesis}%前添加\PassOptionsToPackage{changes,usenames,dvipsnames,table}{xcolor} 完整如下&#xff1a; \PassOptionsToPackage{changes,usenames,dvipsnames,table}{xcolor} \documentclass[twoside]{Style/ucasthesis}% \us…

Sarcasm detection论文解析 |A2Text-Net:一种用于讽刺检测的新型深度神经网络

论文地址 论文地址&#xff1a;A2Text-Net: A Novel Deep Neural Network for Sarcasm Detection | IEEE Conference Publication | IEEE Xplore github:lliyuan1117/A2Text-Net (github.com) 论文首页 A2Text-Net&#xff1a;一种用于讽刺检测的新型深度神经网络 &#x1f4c5…

QT:label标签/进度条的使用

文章目录 设置不同格式的文本显示图片文本对齐/自动换行/缩进/边距LCDNumber倒计时 ProgressBar进度条 设置不同格式的文本 在文本格式中&#xff0c;存在富文本&#xff0c;makedown格式的文本&#xff0c;还有纯文本&#xff0c;下面就依据这三个进行举例 #include "w…

数据库基础--MySQL多表查询之外键约束

MySQL多表关系 一对一 顾名思义即一个对应一个的关系&#xff0c;例如身份证号对于每个人来说都是唯一的&#xff0c;即个人信息表与身份证号信息表是一对一的关系。车辆信息表与车牌信息表也是属于一对一的关系。 一对多 即一个表当中的一个字段信息&#xff0c;对应另一张…

MLP手写数字识别(1)-MNIST数据集下载与可视化(tensorflow)

1.下载与查看MNIST数据集 from keras.datasets import mnist(x_train_image,y_train_label),(x_test_image,y_test_label) mnist.load_data() print("train images:",x_train_image.shape) print("test images:",x_test_image.shape) print("train …

WAAP动态安全解决方案

随着企业数字化进程不断加速&#xff0c;应用安全面临多重威胁&#xff0c;新型攻击方式层出不穷&#xff0c;常见的攻击形式包括Web应用攻击、DDoS攻击、API攻击、恶意爬虫攻击等。企业正面临严峻的安全防护挑战&#xff0c;需寻找一个可靠、全面的安全解决方案。在此情况下&a…

基于Springboot的校园食堂订餐系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的校园食堂订餐系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构…

P9422 [蓝桥杯 2023 国 B] 合并数列

P9422 [蓝桥杯 2023 国 B] 合并数列 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 用队列即可 当两个队列队首&#xff1a;a b &#xff0c;弹出 当a < b&#xff0c;把a加给其后一个元素&#xff0c;弹出a 当b < a&#xff0c;把b加给其后一个元素&#xff0c;弹出…

亚马逊云科技AWS免费证书-EC2服务器设计(含题库)

亚马逊云AWS官方程序员专属免费证书又来了&#xff01;这次证书是关于AWS EC2实例的设计和搭建&#xff0c;EC2作为AWS服务的核心&#xff0c;是学好AWS的第一步。强推没有任何AWS背景和转码的小伙伴去学&#xff01;学完也能变成AWS开发大神&#xff01; 证书名字叫Getting St…

C++---入门基础

一、命名空间 在C/C中&#xff0c;有大量的函数&#xff0c;变量乃至类&#xff0c;这些函数&#xff0c;变量和类的名称都将作用于全局作用域中&#xff0c;这可能会导致命名冲突。针对这个问题&#xff0c;我们就会使用命名空间&#xff0c;命名空间的目的就是对标识符及名称…

【ESP32之旅】合宙ESP32-C3 使用PlatformIO编译和Debug调试

工程创建 首先打开PIO Home窗口&#xff0c;然后点击New Project来创建新的工程&#xff0c;工程配置选择如下图所示&#xff1a; 注&#xff1a; 选择板子型号的时候需要选择ESP32C3&#xff0c;勾选取消Location可以自定义路径。 修改配置文件 工程创建完毕之后在工程根…

菜鸡学习netty源码(三)—— Reactor 模型

1.概述 我们先进行理解一下Reactor模型&#xff0c;知道什么是Reactor模型&#xff0c;它有什么特别之处。我们先来简单介绍一下这个Reactor模型。 Reactor模型的核心思想&#xff1a; 就是将所关注的I/O事件进行注册到一个多路复用器上&#xff0c;一旦有I/O事件的发生&#…

Redis---------实现商品秒杀业务,包括唯一ID,超卖问题,分布式锁

订单ID必须是唯一 唯一ID构成&#xff1a; 代码生成唯一ID&#xff1a; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Component; import java.time.LocalDateTime; import java.time.ZoneOffset; import java.tim…

云商城系统,无后门,一站式系统Java源码

云商城系统&#xff0c;无后门&#xff0c;一站式系统Java源码&#xff0c;心权益商品数量不限数量 系统对接 手动发货 自动发货 兑 换 码 订单监控 商品监控 对象存储 邮箱提醒 加价模板 密价功能 三方支付 会员体系 财务明细 交易分析 售后服务 技术支持 建议配置&#xf…