LLaVA:大型语言和视觉助手,图片识别和理解能力让人惊叹

news2024/9/27 5:49:03

01简介        

视觉指令调整:针对多模式 GPT-4 级别功能而构建的大型语言和视觉助手。

视觉聊天:构建多模式 GPT-4 级聊天机器人66e5b30664fe648bf29e7fd68351e6f6.jpeg构建了包含 30 个未见过的图像的评估数据集:每个图像都与三种类型的指令相关联:对话、详细描述和复杂推理。这导致了 90 个新的语言图像指令,我们在这些指令上测试 LLaVA 和 GPT-4,并使用 GPT-4 对它们的响应进行评分,从 1 到 10 分。报告每种类型的总分和相对分数。总体而言,与 GPT-4 相比,LLaVA 获得了 85.1% 的相对分数,表明所提出的自指导方法在多模态设置中的有效性。

  • Science QA:LLaVA 与 GPT-4 协同作用的新 SoTA

05afcc5649391e9ffa77638c2dab498a.jpeg仅 LLaVA 就达到了 90.92%。我们使用纯文本的 GPT-4 作为判断,根据它自己之前的答案和 LLaVA 答案来预测最终答案。这个“GPT-4 作为判断”方案产生了新的 SOTA 92.53%。

  • 视觉指令跟随示例

OpenAI GPT-4 技术报告中两个示例的视觉推理

41c9e88e03a68cae46e5bdb2bdec0ea3.jpeg

  • 光学字符识别 (OCR)

0abefa3b56ca3429d7e38c397f734e59.jpeg

  • 效果展示

634c19c3f61dd30d6995160ab58507bb.jpeg29d6a10a2f1fead096823ae6d3f9498e.jpeg4e4e6d87135ed1c5558ca3a2c5c11221.jpeg

02安装

  1. 克隆此存储库并导航到 LLaVA 文件夹

git clone https://github.com/haotian-liu/LLaVA.gitcd LLaVA

2. 安装包

conda create -n llava python=3.10 -yconda activate llavapip install --upgrade pip # enable PEP 660 supportpip install -e .

3.安装附加包

pip install ninjapip install flash-attn --no-build-isolation

升级到最新的代码库

git pullpip uninstall transformerspip install -e .


03演示

要运行我们的演示,您需要在本地准备 LLaVA 检查点。请按照此处的说明下载检查点。

  • 渐变网页用户界面

要在本地启动 Gradio 演示,请一一运行以下命令。如果您计划启动多个模型工作人员以在不同检查点之间进行比较,则只需启动控制器和 Web 服务器一次


  • 启动控制器

python -m llava.serve.controller --host 0.0.0.0 --port 10000

启动 gradio Web 服务器。

python -m llava.serve.gradio_web_server --controller http://localhost:10000 --model-list-mode reload您刚刚启动了 Gradio Web 界面。现在,您可以打开 Web 界面,并将 URL 打印在屏幕上。您可能会注意到模型列表中没有模型。别担心,我们还没有推出任何劳模。当您启动模型工作人员时,它将自动更新。这是在 GPU 上执行推理的实际工作程序。每个工作人员负责 中指定的单个模型--model-path。

python -m llava.serve.model_worker --host 0.0.0.0 --controller http://localhost:10000 --port 40000 --worker http://localhost:40000 --model-path liuhaotian/llava-v1.5-13b等到进程完成加载模型,您会看到“Uvicorn running on ...”。

现在,刷新您的 Gradio Web UI,您将在模型列表中看到刚刚启动的模型。您可以根据需要启动任意数量的工作程序,并在同一 Gradio 界面中比较不同模型检查点。请保持不变,并将和--controller修改为每个worker的不同端口号。--port--worker

python -m llava.serve.model_worker --host 0.0.0.0 --controller http://localhost:10000 --port <different from 40000, say 40001> --worker http://localhost:<change accordingly, i.e. 40001> --model-path <ckpt2>


如果您使用的是带有 M1 或 M2 芯片的 Apple 设备,则可以使用标志指定 mps 设备--device:--device mps。

  • 多个 GPU,当 GPU VRAM <= 24GB 时

如果您的 GPU 的 VRA&nbsp;小于 24GB(例如 RTX3090、RTX 4090&nbsp;等),您可以尝试使用多个 GPU 运行它。如果您有多个 GPU,我们最新的代码库将自动尝试使用多个 GPU。您可以指定要使用哪些 GPU CUDA_VISIBLE_DEVICES。下面是使用前两个 GPU 运行的示例。

CUDA_VISIBLE_DEVICES=0,1 python -m llava.serve.model_worker --host 0.0.0.0 --controller http://localhost:10000 --port 40000 --worker http://localhost:40000 --model-path liuhaotian/llava-v1.5-13b

  • (4位、8位推理、量化)

您可以使用量化位(4 位、8 位)启动模型工作线程,这样您就可以在减少 GPU 内存占用的情况下运行推理,从而有可能在具有低至 12GB VRAM 的 GPU 上运行。请注意,使用量化位进行的推理可能不如全精度模型准确。只需将--load-4bit或附加--load-8bit到您正在执行的

模型工作器命令即可。下面是使用 4 位量化运行的示例。python -m llava.serve.model_worker --host 0.0.0.0 --controller http://localhost:10000 --port 40000 --worker http://localhost:40000 --model-path liuhaotian/llava-v1.5-13b --load-4bit

  • (LoRA 权重,未合并)

您可以启动具有 LoRA 权重的模型工作线程,无需将它们与基本检查点合并,以节省磁盘空间。会有额外的加载时间,而推理速度与合并检查点相同。未合并的 LoRA 检查点在型号名称中没有lora-merge,并且通常比合并的检查点小得多(小于 1GB)(7B 为 13G,13B 为 25G)。要加载未合并的 LoRA 权重,您只需传递一个附加参数--model-base,它是用于训练 LoRA 权重的基础 LLM。您可以在模型动物园中检查每个 LoRA 权重的基础 LLM 。

python&nbsp;-m&nbsp;llava.serve.model_worker&nbsp;--host&nbsp;0.0.0.0&nbsp;--controller&nbsp;http://localhost:10000&nbsp;--port&nbsp;40000&nbsp;--worker&nbsp;http://localhost:40000&nbsp;--model-path&nbsp;liuhaotian/llava-v1-0719-336px-lora-vicuna-13b-v1.3&nbsp;--model-base&nbsp;lmsys/vicuna-13b-v1.3


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

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

相关文章

查找浏览器中保存的密码

edge浏览器 谷歌浏览器 设置-》自动填充密码-》点击密码管理工具 后就可以查看到浏览器保存的密码了

PyTorch 入门

一、说明 深度学习是机器学习的一个分支&#xff0c;其中编写的算法模仿人脑的功能。深度学习中最常用的库是 Tensorflow 和 PyTorch。由于有各种可用的深度学习框架&#xff0c;人们可能想知道何时使用 PyTorch。以下是人们更喜欢使用 Pytorch 来完成特定任务的原因。 Pytorch…

LeetCode918 环形子数组最大值

这里写自定义目录标题 题目&#xff1a; 思路&#xff1a; 1、破环成链。 由于是环形数组&#xff0c;则数组的末端会与开头相连呈环状。 只需要将长度为N的数组拷贝一次&#xff0c;拼接在原数组后&#xff0c;即得到长度为2N的数组&#xff0c;该数组即为环形数组。 如&am…

mars3d的api文档关于addDynamicPosition查找使用说明

示例链接&#xff1a;功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技 api地址&#xff1a;Mars3D三维可视化平台 | 火星科技 说明&#xff1a; 1.用户反馈不知道如何搜索这个属性的用法 说明&#xff1a; 1. 示例代码中的graphic.addDynamicPosition()说明这个addDynam…

electron 升级 v22 遇到问题

Electron 漏洞 https://mp.weixin.qq.com/s/5LpSJb_5uV8EIDOl3fz9Tw 由于 23以上不在支持win 7 8 8.1 所以我选择安装 v22.3.24 electron 22.3.24 node-sass 6.0.1 sass-loader 10.4.1 对应的版本 npm i node-sass6.0.1 --sass_binary_sitehttps://npm.taobao.org/mirrors…

vscode安装svn扩展(windows)

一、安装 1.1 环境说明 操作系统 windows 10 1.2 安装过程 1. 安装svn 双击安装程序 点击next 继续next 继续next 点击Install 在弹出框中点击 是 开始安装进度&#xff0c;一会将安装成功 安装结束 右键菜单栏中已经有svn选项&#xff0c;并且能正常拉取以…

一区TOP期刊提出一种植被覆盖度估算新方法

研究背景&#xff1a;光合植被(PV)主要指绿色的叶片&#xff0c;而非光合植被(NPV)包括凋落物和茎等。利用遥感数据估算植被覆盖(FVC)主要有三种方法&#xff1a;1) 回归模型2&#xff09;光谱混合物分析(SMA) 3) 数据驱动的模型。在这三种方法中&#xff0c;回归模型因其简单性…

网络安全--APT技术、密码学

目录 1. 什么是APT&#xff1f; 2. APT 的攻击过程&#xff1f; 3. 详细说明APT的防御技术 4. 什么是对称加密&#xff1f; 5. 什么是非对称加密&#xff1f; 6. 私密性的密码学应用&#xff1f; 7. 非对称加密如何解决身份认证问题&#xff1f; 8. 如何解决公钥身份认…

这篇被吹爆了的职称评审个人专业技术业务工作总结范文模板,不看就是你的损失了

职称评审需要写个人工作总结吗&#xff1f;甘建二告诉你毫无疑问&#xff0c;肯定是必须要的&#xff0c;对于评职称的人来说&#xff0c;准备一篇几千字的工作技术总结&#xff0c;是必不可少的申报材料之一。甚至对于初级职称评审来说&#xff0c;个人专业技术总结决定了一个…

三战时区问题

一、前言 前两天测试向我反馈生产环境挖机进口日期页面上展示的比数据库中存储的早了一天&#xff0c;但在测试环境是正常的&#xff0c;并且其它时间字段都没有任何问题&#xff0c;很是奇怪&#xff0c;安排开发排查没有头绪&#xff0c;然后我自己登录生产环境确认LInux系统…

别再瞎考证了,从事网络安全工作,这五大证书是加分项!

其他行业&#xff0c;对证书的要求可能并不明显&#xff0c;但在信息安全类的岗位中&#xff0c;大部分招聘信息中明确标明持有NISP、CISP等网络安全相关资质证书优先等。因此想要快速进入网络安全行业&#xff0c;通过学习并考取相关证书&#xff0c;是一个很不错的途径。 那么…

flutter开发实战-Universal Links配置及flutter微信分享实现

flutter开发实战-Universal Links配置及flutter微信分享实现 在最近开发中碰到了需要实现微信分享&#xff0c;在iOS端需要配置UniversalLink&#xff0c;在分享使用fluwx插件来实现微信分享功能。 一、配置UniversalLink 1.1、什么是UniversalLink Universal link 是Apple…

Vue中的router路由的介绍(快速入门)

路由的介绍 文章目录 路由的介绍1、VueRouter的介绍2、VueRouter的使用&#xff08;52&#xff09;2.1、5个基础步骤(固定)2.2、两个核心步骤 3、组件存放的目录&#xff08;组件分类&#xff09; 生活中的路由&#xff1a;设备和ip的映射关系&#xff08;路由器&#xff09; V…

管网水位监测仪:井下水位监测的创新者

随着城市化进程的不断推进&#xff0c;城市排水管网系统的完善和安全运行越来越受到社会和政府的关注。近期&#xff0c;国家加大了对城市基础设施建设的投入力度&#xff0c;推动了排水管网系统的升级和改造。在这样的背景下&#xff0c;万宾科技推出了一款全新的产品——管网…

canvas力导布局

老规矩&#xff0c;先上效果图 <html><head><style>* {margin: 0;padding: 0;}canvas {display: block;width: 100%;height: 100%;background: #000;}</style> </head><body><canvas id"network"></canvas> </…

1600*C. k-Tree(DP)

Problem - 431C - Codeforces 解析&#xff1a; #include<bits/stdc.h> using namespace std; #define int long long const int mod1e97,N110; int n,k,d,dp[N][2]; signed main(){scanf("%lld%lld%lld",&n,&k,&d);dp[0][0]1;for(int i1;i<n;…

Elasticsearch基础篇(四):Elasticsearch的基础介绍与索引设置

Elasticsearch的基础介绍与索引设置 一、Elasticsearch概述Elasticsearch简介什么是全文检索引擎Elasticsearch 应用案例 二、索引和文档的概念1. 索引&#xff08;Index&#xff09;2. 文档&#xff08;Document&#xff09; 三、倒排索引&#xff08;Inverted Index&#xff…

2.3 为何使用Pthreads

轻量 和进程相比&#xff0c;系统在创建和管理线程时的开销要小的多&#xff0c;这里通过比较调用fork()创建进程和pthread_create()创建线程时的耗时开销来说明。下表中的耗时为执行了50000次创建操作对应的耗时&#xff0c;单位为秒。 注意&#xff1a;由于是在具有多核的对称…

Pro有Pro的样,但适合是最好的!iPhone 15与15 Pro应该买哪一款

你正在考虑升级到最近发布的iPhone 15系列,但你不确定你应该选择iPhone 15还是iPhone 15 Pro。以下是两款手机的功能以及高级Pro升级功能。 从性能和摄像头功能到设计和定价,我们正在挖掘每一个差异,以便你能够根据自己的需求和预算选择最佳手机。 iPhone 15与iPhone 15 P…

el-form简单封装一个列表页中的搜索栏

父组件如何使用 代码中注释很多, 应该很容易理解 <template><div><wgySearchv-model"searchDefault":fields"searchFields"reset"reset"submit"submit"><!-- 通过 slot 自定义的组件 传啥都行 --><te…