VLM 系列——Llava1.6——论文解读

一、概述

1、是什么

    Llava1.6 是llava1.5 的升级暂时还没有论文等,是一个多模态视觉-文本大语言模型,可以完成:图像描述、视觉问答、根据图片写代码(HTML、JS、CSS),潜在可以完成单个目标的视觉定位、名画名人等识别(问答、描述)。支持单幅图片输入(可以作为第一个或第二个输入),多轮文本对话。

    本文基于CLIP的视觉编码器,以及多个版本语言解码器,使用最简单的两层FC构成MLP映射视觉特征到文本长度,构建了一个大规模的多模态模型,并且将该模型在指令视觉-语言数据上进行了微调。最大的区别是仿照monkey这篇论文也将图片分割成几个部分然后拼接送入LLM,不同是他们有使用query这种降维方式。

2、亮点

    作者认为的亮点:

    *对比开源模型CogVLM o、 Yi-VL获得更好的性能,赶超商用模型 Gemini Pro 、Qwen-VL-Plus。

    *强大的中文zero-shot能力,虽然训练数据多为英文,但是在MMBench-CN上取得SoTA结果。

    *很低的训消耗:32 GPUs 训练约一天,总共仅仅需要 1.3M数据. 计算和数据消耗仅仅是其他模型的 100-1000分之一。

    *将输入图像分辨率提升4 倍,支持三种宽高比,最高可达 672x672、336x1344、1344x336 分辨率。这使得 LLaVA-1.6 能够掌握更多的视觉细节。

    *通过改进的视觉指令调整数据混合,LLaVA-1.6 获得了更好的视觉推理和 OCR 能力。

    *更好的视觉对话,更多场景,覆盖不同应用。LLaVA-1.6 掌握了更多世界知识,具备更好的逻辑推理能力。

    *使用 SGLang 进行高效部署和推理。

PS

    目前论文、代码、数据、模型还没开源,作者承诺开源,筹备中。后续需要继续更新。

二、模型

    1、模型结构

    主体结构还是lava系,如第一张图,区别在于对于高分辨率图像的处理,如第二章图,将图片分割成几个部分然后拼接送入LLM。

    *图像编码器:CLIP-ViT-L -336px。

    *MLP 投射层:复用LLava1.5权重。

    *文本解码器:Vicuna-1.5-7B、Mistral-7B、Vicuna-1.5-13B、Nous-Hermes-2-Yi-34B。

    

    

    2、模型亮点

    仿照monkey,将高分辨率图像进行拆分拼接,提高高分辨率图像的识别降低幻觉。

    PS

    *这种暴力拼接会导致图片的token比较长,是不是下一步就变成monkey的结构了。

    *现在还没有论文和代码,这里面的分割方式672x672、336x1344、1344x336和 {2×2,1×{2,3,4},{2,3,4}×1}不太一样,最后看是最终怎么实现吧。

三、数据

    1、数据标签

    数据的label构成,主要会涉及到loss计算。

    2、数据构成

     train stage1

    暂时看不到第一阶段数据。

     train stage2

    *高质量的用户指令数据。LAION-GPT-V、ShareGPT-4V和私有数据1.5K。

    *多模态文档 / 图表数据。DocVQA 和 SynDog-EN 替换了 TextCap。添加ChartQA、DVQA 和 AI2D。

    3、数据清洗

     train stage1

    暂时看不到第一阶段数据。

     train stage2

    *高质量的用户指令数据。两个主要标准:首先,任务指令的多样性,确保充分代表现实场景中可能遇到的广泛用户意图,特别是在模型部署阶段。其次,响应的优先级至关重要,旨在征求有利的用户反馈。因此,考虑了两个数据源:现有的 GPT-V 数据 (LAION-GPT-V 和 ShareGPT-4V);为了进一步促进更多场景下更好的视觉对话,研究团队收集了一个涵盖不同应用的小型 15K 视觉指令调优数据集,仔细过滤了可能存在隐私问题或可能有害的样本,并使用 GPT-4V 生成响应。

    *多模态文档 / 图表数据。(1) 从训练数据中删除 TextCap,因为研究团队意识到 TextCap 使用与 TextVQA 相同的训练图像集。这使得研究团队能够在评估 TextVQA 时更好地了解模型的零样本 OCR 能力。为了保持并进一步提高模型的 OCR 能力,该研究用 DocVQA 和 SynDog-EN 替换了 TextCap。(2) 借助 Qwen-VL-7B-Chat,该研究进一步添加了 ChartQA、DVQA 和 AI2D,以更好地理解图和图表。

四、策略

    1、训练过程

两阶段训练。      

    2、推理过程

    推理的时候是不是有后处理等等

五、结果

1、多维度对比。

    与 CogVLM 或 Yi-VL 等开源 LMM 相比,LLaVA-1.6 实现了 SOTA 性能。与商用产品相比,LLaVA-1.6 在选定的基准测试中可以媲美 Gemini Pro,并且优于 Qwen-VL-Plus。

    

2、消融实验

暂无

六、使用方法

暂无

七、待解决

等论文、代码、模型更新。

八、参考链接

赶超Gemini Pro,提升推理、OCR能力的LLaVA-1.6太强了

LLaVA-1.6: Improved reasoning, OCR, and world knowledge | LLaVA

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

这一年让我印象深刻的bug --外部接口请求失败问题

1 业务场景 我们有个需求是外部客户需要在我们系统创建一个账号。业务流程如下 但是我们运行一段时间后发现一个问题,有客户反创建客户账号时,提示账号已经存在,但是我们系统却查不到单号 2 问题分析 经分析报错来源于权限系统,我…

学习Spring的第十五天

spring aop动态代理开发 一、什么是动态代理 动态代理就是,在程序运行期,创建目标对象的代理对象,并对目标对象中的方法进行功能性增强的一种技术。在生成代理对象的过程中,目标对象不变,代理对象中的方法是目标对象…

基于JavaWeb开发的火车售票系统[附源码]

基于JavaWeb开发的火车售票系统[附源码] 🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制系统 &#x1f4dd…

XCTF:3-1[WriteUP]

从题目中获取文件 使用file命令查看文件类型 修改后缀为.rar后进行解压缩 再次使用file命令查询该文件的类型 再次修改后缀为.pcap或者.pcapng 使用wireshark打开,直接搜索flag字样 在多个数据包里发现了flag.rar、flag.txt等文件 尝试使用http导出文件 有一个fl…

Sui上TVL突破5亿美元,位列DeFi榜单前十名和最活跃链前五名

2023年Sui上DeFi协议迅速增长,2024年这一势头仍在继续,根据DeFiLlama报告Sui上TVL近期超过5亿美元。在不到一年的时间里就达到这个金额,得益于Sui的突破性指标,比如其峰值TPS接近6,000。 Sui TVL突破5亿美元,登上DeFi…

超多制作模板的姓氏头像生成器微信小程序源码

超多制作模板的姓氏头像生成器微信小程序源码,这是一款姓氏头像制作小工具,内含丰富多样的模板提供制作。 以前的基本是固定位置生成,这款制作支持拖拽调整位置,自定义颜色,阴影等等。

第三百零八回

文章目录 1. 概念介绍2. 实现方法2.1 文字信息2.2 红色边框 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何实现密码输入框"相关的内容,本章回中将介绍如何在在输入框中提示错误.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们…

【 buuctf-另外一个世界】

flag 就隐藏在这一串二进制数中,可以利用在线工具转换得到 flag,本次讲一下用代码怎么转换。将二进制数转换成 ascii 字母,手写的话两种思路: 1.将二进制数四位一组先转成十六进制数,再将十六进制数两位一组&#xff…

L1-023 输出GPLT-java

输入样例: pcTclnGloRgLrtLhgljkLhGFauPewSKgt输出样例: GPLTGPLTGLTGLGLL 思路 设置一个GPLT的计数器 然后遍历的时候每次对计数器的个数减一 import java.io.*;public class Main {public static void main(String[] args) throws IOException {B…

ele-h5项目使用vue3+vite+vant4开发:第三节、自定义hooks-useToggle实现搜索页展示切换

需求分析 点击首页搜索框,出现搜索页点击搜索页,隐藏搜索页,展示首页新建搜索页组件实现效果 hooks介绍 理解 hooks 就是将去改变一个参数值时,页面也会更新对应的值的想法、抽象,用代码实现的地方 如何实现一个hooks 在src(sour…

c++阶梯之类与对象(中)

目录 1.类的6个默认成员函数 2. 构造函数 2.1 构造函数概念的引出 2.2 构造函数的特性 3. 析构函数 3.1 析构函数的概念 3.2 特性 未使用构造与析构的版本 使用了构造与析构函数的版本 4. 拷贝构造函数 4.1 拷贝构造函数的概念 4.2 特性 结语 本节我们来认识…

Vue中keep-alive的作用、原理及应用场景

在进行Vue开发的过程中,我们经常会遇到需要进行组件缓存的场景,这时候Vue提供的keep-alive组件就派上了用场。keep-alive组件是Vue内置的一个抽象组件,它可以将其包裹的组件进行缓存,提高组件的性能,同时也可以节省服务…

Python学习路线 - Python高阶技巧 - 拓展

Python学习路线 - Python高阶技巧 - 拓展 闭包闭包注意事项 装饰器装饰器的一般写法(闭包写法)装饰器的语法糖写法 设计模式单例模式工厂模式 多线程进程、线程并行执行多线程编程threading模块 网络编程Socket客户端和服务端Socket服务端编程实现服务端并结合客户端进行测试 S…

使用Java实现HTTP持久连接:一次与网络的“长聊“

大家都知道,传统的HTTP连接就像是一次性的餐具,每发送一个请求,就得重新建立一个连接,然后快速用完就扔。这对于网络资源来说,简直就是一场"大肆挥霍"的派对。但幸好,我们有HTTP持久连接&#xf…

【字符串】字典树

字典树就是利用一个这样的树状结构&#xff0c;可以记录字符串有没有出现过 放个板子 int nxt[100000][26], cnt; bool st[100000]; // 该结点结尾的字符串是否存在 void insert(string s, int l) // 插入字符串&#xff0c;l是字符串长度 { int p 0;for (int i 0; i < …

BGP邻居故障检测

第一种情况:如果AR2和AR4采用直连建立邻居,则排查步骤如下: 1)在AR2和AR4上使用ping x.x.x.x命令检查AR2和AR4用于建立EBGP邻居关系的直连地址连通性是否正常。如果不能ping通。则需要使用二分法从网络层向下层逐层进行排查,首先检查接口地址及路由的可达性,修改完成后,如…

Architecture Lab:Part C【流水线通用原理/Y86-64的流水线实现/实现IIADDQ指令】

目录 任务描述 知识回顾 流水线通用原理 Y86-64流水线实现&#xff08;PIPE-与PIPE&#xff09; 开始实验 IIADDQ指令的添加 优化 ncopy.ys 仅用第四章知识&#xff0c;CEP11.55 8x1展开&#xff0c;CPE9.35 8x1展开2x1展开消除气泡&#xff0c;CPE8.10 流水线化通过…

中小学信息学奥赛CSP-J认证 CCF非专业级别软件能力认证-入门组初赛模拟题一解析(选择题)

CSP-J入门组初赛模拟题一&#xff08;选择题&#xff09; 1、以下与电子邮件无关的网络协议是 A、SMTP B、POP3 C、MIME D、FTP 答案&#xff1a;D 考点分析&#xff1a;主要考查小朋友们网络相关知识的储备&#xff0c;FTP是文件传输协议和电子邮件无关&#xff0c;所以…

vscode debug无法直接查看eigen变量的问题(解决方法)

主要是给gdb添加一个Eigen相关的printer即可, 网上其他教程都搞太复杂了, 我整理成了一个仓库, 把仓库克隆下来直接运行 ./setup.sh脚本即可配置好 git clone gitgithub.com:fandesfyf/EigenGdb.git cd EigenGdb ./setup.sh 然后在vscode中重新debug即可。 效果 …

2.2-学成在线内容管理之课程分类查询+新增课程

文章目录 内容管理模块4 课程分类查询4.1 需求分析4.2 接口定义4.3 接口开发4.3.1 树型表查询4.3.2 开发Mapper 4.4 接口测试4.4.1 接口层代码完善4.4.2 测试接口 5 新增课程5.1 需求分析5.1.1 业务流程4.1.2 数据模型 5.2 接口定义5.3 接口开发5.3.1 保存课程基本信息5.3.2 保…