LLaVa大模型关键技术及在线演示

LLaVA,一种新的大型多模态模型,称为“大型语言和视觉助手”,旨在开发一种通用视觉助手,可以遵循语言和图像指令来完成各种现实世界的任务。 这个想法是将 GPT-4 等大型语言模型 (LLM) 的强大功能与 CLIP 等视觉编码器相结合,创建一个经过端到端训练的神经助手,可以理解多模态指令并根据多模态指令采取行动。

在这里插入图片描述

推荐:用 NSDT编辑器 快速搭建可编程3D场景

在人工智能领域,目标是创建一个多功能助手,能够基于视觉和语言输入理解和执行任务。 当前的方法通常依赖于独立解决任务的大型视觉模型,语言仅用于描述图像内容。 虽然有效,但这些模型具有固定的界面,交互性和对用户指令的适应性有限。

另一方面,大型语言模型(LLM)已显示出作为通用助手的通用接口的前景。 通过用语言显式地表示各种任务指令,可以引导这些模型切换和解决不同的任务。 ChatGPT 和 GPT-4 等显著成功证明了对齐的LLM在遵循人类指令方面的力量,并刺激了 LLaMA 等开源LLM的发展。

为了将这种能力扩展到多模态领域,本文引入了“视觉指令调整”,这是一种构建通用视觉助手的新颖方法。 这涉及使用 ChatGPT/GPT-4 将图像文本对转换为适当的指令跟踪数据,因为目前缺乏视觉语言指令跟踪数据。

1、GPT 辅助视觉指令数据生成

为了创建遵循指令的数据,他们从图像文本对(Xv,Xc)开始,并生成一组问题(Xq)来指导助手描述图像内容。 他们使用 GPT-4 提出诸如“简洁地描述图像”、“提供给定图像的简短描述”、“对所呈现的图片提供简洁的解释”和“总结图像的视觉内容”等问题。 这种简单的方法将原始图像-文本对扩展为其遵循指令的版本。

Human : Xq Xv<STOP>\n Assistant : Xc<STOP>\n.

尽管构建成本低廉,但这个简单的扩展版本在指令和响应中缺乏多样性和深入的推理。

为了解决这个问题,他们使用纯语言 GPT-4 或 ChatGPT 作为强大的教师,仅接受文本作为输入,以生成涉及视觉内容的指令跟踪数据。 他们使用两种符号表示将图像编码为视觉特征:标题(从不同角度描述视觉场景)和边界框(定位场景中的对象并编码其概念和空间位置)。 对于给定图像的示例如下所示:
在这里插入图片描述

2、视觉指令调整

主要目标是利用预训练模型和视觉模型的功能:

在这里插入图片描述

对于输入图像 Xv,它考虑预先训练的 CLIP 视觉编码器 ViT-L/14 ,它提供视觉特征 Zv = g(Xv)。 实验中考虑了最后一个 Transformer 层之前和之后的网格特征。 它考虑一个简单的线性层将图像特征连接到词嵌入空间。 具体来说,应用可训练的投影矩阵 W 将 Zv 转换为语言嵌入标记 Hq,其与语言模型中的词嵌入空间具有相同的维度:

Hv = W · Zv, with Zv = g(Xv)

因此有一系列视觉标记 Hv。 LLaVa 使用简单的投影矩阵连接预训练的 CLIP ViT-L/14 视觉编码器和大型语言模型 Vicuna。 我们考虑一个两阶段的指令调整过程:

  • 阶段1:特征对齐的预训练。 仅基于 CC3M 的子集更新投影矩阵。
  • 阶段2:端到端微调。投影矩阵和 LLM 均针对两种不同的使用场景进行更新:
  • 可视聊天:LLaVA 针对我们生成的多模式指令跟踪数据进行了微调,用于面向日常用户的应用程序。
  • 科学 QA:LLaVA 在科学领域的多模态推理数据集上进行了微调。

在这里插入图片描述

用于训练模型的输入序列:

  • Xsystem-message =“一个好奇的人类和一个人工智能助手之间的聊天。 助理会针对人类的问题给出有用、详细且礼貌的答案。”
  • <STOP>=###

该模型经过训练来预测辅助答案以及在哪里停止,因此仅使用绿色序列/标记来计算自回归模型中的损失。

结果示例:

在这里插入图片描述
在这里插入图片描述

3、LlaVA在线演示

你可以点击这里尝试官方部署的演示。以下是一些对话的截图。
在这里插入图片描述

  • 询问图片中包含哪些饮料食品

在这里插入图片描述

  • 询问图片中食物的原料和口味
    在这里插入图片描述

  • 询问图片中食物的制作方法
    在这里插入图片描述

4、LLaVA训练

LLaVA详细的训练过程将在下一篇文章中讲解。


原文链接:LLaVa原理及在线演示 — BimAnt

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MATLAB源码-第45期】基于matlab的16APSK调制解调仿真,使用卷积编码软判决。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. 16APSK调制解调 16APSK (16-ary Amplitude Phase Shift Keying) 是一种相位调制技术&#xff0c;其基本思想是在恒定幅度的条件下&#xff0c;改变信号的相位&#xff0c;从而传送信息。 - 调制&#xff1a;在16APSK中&am…

Transformer预测 | Pytorch实现基于Transformer的锂电池寿命预测(NASA数据集)

文章目录 效果一览文章概述模型描述程序设计参考资料效果一览 文章概述 Pytorch实现基于Transformer 的锂电池寿命预测,环境为pytorch 1.8.0,pandas 0.24.2 随着充放电次数的增加,锂电池的性能逐渐下降。电池的性能可以用容量来表示,故寿命预测 (RUL) 可以定义如下: SOH(t…

golang gin——controller 模型绑定与参数校验

controller 模型绑定与参数校验 gin框架提供了多种方法可以将请求体的内容绑定到对应struct上&#xff0c;并且提供了一些预置的参数校验 绑定方法 根据数据源和类型的不同&#xff0c;gin提供了不同的绑定方法 Bind, shouldBind: 从form表单中去绑定对象BindJSON, shouldB…

CTR特征建模:ContextNet MaskNet(Twitter在用的排序模型)

在之前的文章中 FiBiNet&FiBiNet模型&#xff0c;阐述了微博在CTR特征(Embedding)重要性建模方面的一些实践方向&#xff0c;今天再来学习下这个方面的两个相关研究&#xff1a;致力于特征和特征交互精炼(refine)的ContextNet和MaskNet&#xff0c;其中MaskNet也是Twitter(…

Unity 捕鱼游戏开发教程与源码

效果图展示 项目分析 主要功能点&#xff1a; 鱼的移动路线 这里使用简单移动的方式&#xff1a;随机位置然后随机鱼直线或者每帧更新鱼的角度实现走圆形。枪随着鼠标或点击位置移动 这个用坐标转换参考代码 private void Update(){Vector3 mousePos; // 鼠标位置// RectTra…

代码随想录Day15 二叉树 LeetCodeT513 找树左下角的值 T112路径总和 T106 从中序和后序遍历构造二叉树

以上思路来自于:代码随想录 (programmercarl.com) LeetCode T513 找树左下角的值 题目思路: 本题思路:这题我们使用递归法和迭代法解决问题 注意:左下角的值不一定就是一直向左遍历的叶子结点的值,首先可以确定是最后一行的第一个叶子结点的值,也就是最大深度的叶子结点的值 定…

【JavaEE】多线程(五)- 基础知识完结篇

多线程&#xff08;五&#xff09; 文章目录 多线程&#xff08;五&#xff09;volatile关键字保证内存可见性JMM&#xff08;Java Memory Model&#xff09; 不保证原子性 wait 和 notifywait()notify()线程饿死 上文我们主要讲了 synchronized以及线程安全的一些话题 可重入…

Unity设计模式——装饰模式

装饰模式&#xff08;Decorator&#xff09;&#xff0c;动态地给一个对象添加一些额外的职责&#xff0c;就增加功能来说&#xff0c;装饰模式比生成子类更为灵活。 Component类&#xff1a; abstract class Component : MonoBehaviour {public abstract void Operation(); …

网络层协议—IP协议

网络层协议—IP协议 文章目录 网络层协议—IP协议网络层简介IP协议简介IP协议文格式IP协议报头实现网络互联的使用设备 网段划分IP地址划分子网掩码IP地址的特点特殊的IP地址IP地址的数量限制私有IP地址和公网IP地址NAT技术 路由报文的分片与组装IP地址和硬件地址 网络层简介 …

Spring 统一处理(JavaEE进阶系列6)

目录 前言&#xff1a; 1.用户登录权限的校验 2.Spring拦截器 2.1自定义拦截器 2.2将自定义拦截器加入到系统配置 2.3拦截器练习 2.4拦截器的实现原理 3.统一异常处理 4.统一数据的返回格式 结束语&#xff1a; 前言&#xff1a; 接下来就是Spring Boot中的统一功能…

对于使用win32 API获取性能计数器的理解

微软提供了获取性能计数器的接口&#xff0c;如下 LSTATUS RegQueryValueExA([in] HKEY hKey,[in, optional] LPCSTR lpValueName,LPDWORD lpReserved,[out, optional] LPDWORD lpType,[out, optional] LPBYTE lpData,[in, out, optional] L…

mysql面试题30:什么是数据库连接池、应用程序和数据库建立连接的过程、为什么需要数据库连接池、你知道哪些数据库连接池

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:什么是数据库连接池? 数据库连接池是一种用于管理和复用数据库连接的技术。它是在应用程序和数据库之间建立一组数据库连接,并以池的形式存储起…

Kubernetes革命:云原生时代的应用编排和自动化

文章目录 什么是Kubernetes以及为何它备受欢迎&#xff1f;云原生应用和K8s的关系Kubernetes的核心概念&#xff1a;Pods、Services、ReplicaSets等部署、扩展和管理应用程序的自动化容器编排的演进&#xff1a;Docker到Kubernetes实际用例&#xff1a;企业如何受益于K8s的应用…

winform窗体控件太多显示不过来,怎么实现滚动条

winform窗体控件太多显示不过来&#xff0c;怎么实现滚动条 Winform Panel实现滚动条 一、创建panel 在界面上拖拽一个父级Panel1&#xff0c;然后在Panel1里面拖拽一个子级Panel2 设置父级Panel1的AutoScroll属性为True 属性设置好后&#xff0c;当子级高度或者宽度大于父…

LED灯实验--汇编

asm-led.S .text .global _start _start: /* 1. led灯的初始化 *//* 1.1 使能GPIOE、DPIOF外设控制器的时钟 */ldr r0, 0x50000A28ldr r1, [r0]orr r1, r1, #(0x3 << 4)str r1, [r0]/* 1.2 设置PE10、PE8、PF10引脚为输出模式 */ldr r0, 0x50006000ldr r1, [r0]bic r1,…

jenkins工具系列 —— 插件 使用Changelog获取commit记录

文章目录 安装changelog插件重启jenkins配置 ChangelogExecute shell 使用 changelog邮件中html格式也可以使用构建测试&#xff08;查看构建项 -> 控制台输出&#xff09; 安装changelog插件 插件文件可通过 V 获取 点击 左侧的 Manage Jenkins —> Plugins ——> …

虹科方案 | 汽车CAN/LIN总线数据采集解决方案

全文导读&#xff1a;现代汽车配备了复杂的电子系统&#xff0c;CAN和LIN总线已成为这些系统之间实现通信的标准协议&#xff0c;为了开发和优化汽车的电子功能&#xff0c;汽车制造商和工程师需要可靠的数据采集解决方案。基于PCAN和PLIN设备&#xff0c;虹科提供了一种高效、…

基于SSM的个人博客系统

实现内容 本系统为用户提供实现了以下功能&#xff1a; 1.登录功能&#xff1a; 系统为单用户系统&#xff0c;为用户分配了用户名和密码。用户必须先登录&#xff0c;进入操作界面。用户输入ID和密码&#xff0c;通过服务器验证方可运行&#xff0c;否则显示消息提示。 2.…

鸿蒙手表开发之使用adb命令安装线上包

#国庆发生的那些事儿# 鸿蒙手表开发之使用adb命令安装线上包 前言&#xff1a; 由于之前的哥们匆忙离职了&#xff0c;所以鸿蒙手表项目的新版本我临时接过来打包发布&#xff0c;基本上之前没有啥鸿蒙经验&#xff0c;但是一直是做Android开发的&#xff0c;在工作人员的指…