【多模态】36、ShareGPT4V | 借助 GPT4V 的能够来生成更丰富的 caption 用于提升 LMM 模型的能力

news2025/2/22 10:17:19

在这里插入图片描述

文章目录

    • 一、背景
    • 二、方法
      • 2.1 ShareGPT4V 数据集构建
      • 2.2 ShareGPT4V-PT 数据生成
      • 2.3 ShareGPT4V-7B Model
    • 三、效果
      • 3.1 benchmark
      • 3.2 定量分析
      • 3.3 多模态对话
    • 四、一些例子

论文:ShareGPT4V: Improving Large Multi-Modal Models with Better Captions

代码:https://sharegpt4v.github.io/

出处:中国科学技术大学 | 上海 AI Lab

时间:2023.11

贡献:

  • 指出了目前 LMM 模型没有发挥最大能力的问题:没有高质量的 image-text pairs 数据集,低质量的数据集不利于 vision 和 language 模型的对齐
  • 构建了 ShareGPT4V 数据集,包含了 100k 高质量描述 caption(GPT-4V生成),1.2M 高质量描述(caption model 生成)
  • 提出了 ShareGPT4V-7B 模型,超越其他同量级 7B 模型的效果

一、背景

虽然近来 LMM 模型取得了很大的突破,但作者认为目前 LMM 模型并没有被激发出最优的能力,主要原因在于缺少高质量的 image-text pairs

图像一般包括非常丰富的信息和细粒度的语义,但这些细节信息和细粒度的语音通常并没有在主流的 image-text dataset 中体现出来,这些主流数据的 caption 一般都是对图像中主要目标的简短描述,这样会丢失掉很多内容,没法很好的进行不同模态的信息对齐

为了证明这个观点,作者替换了几个模型在 SFT 阶段中使用的图像的 caption,使用 GPT-4V 进行了优化和丰富,如图 2 所示。在LLaVA-1.5中,只替换了SFT(Supervised Fine-Tuning)阶段使用的图像-文本对数据中的 3.5%,而没有全部替换,即使这样,模型都得到了性能提升。

所以,作者进一步扩大了生成 caption 的范围:

  • 第一阶段:作者收集了约 10 万图像,然后使用 GPT-4V 生成高质量的描述文字,这些文字平均长度为 942 个字符,涵盖了丰富的图像信息,例如世界知识、物体属性、空间关系、美学评价等
  • 第二阶段:利用这些描述构建了一个描述模型,使用第一阶段的数据来训练该模型,能够给图像生成全面的描述

经过上面两个步骤,就得到了 ShareGPT4V 数据集,包括两部分:

  • 100k GPT4V 生成的 caption
  • 1.2M 使用 caption model 得到的 caption

作者使用 ShareGPT4V 构建了一个大型 LMM 模型:ShareGPT4V-7B,图 1 b 展示了 ShareGPT4V-7B 在 11 个 benchmark 上超越了其他 7B 量级的 LMM

在这里插入图片描述

二、方法

2.1 ShareGPT4V 数据集构建

数据源:为了丰富数据,作者从检测、分割、text-containing、web、landmark、celebrities 等数据集中抽取了 100k 数据

  • COCO [29] 的 50K 张图像
  • ‘LCS’(即 LAION [48]、CC-3M [50] 和 SBU [41] 的缩写)的 30K 张图像
  • SAM [21] 的 20K 张图像
  • TextCaps [51] 的 500 张图像
  • WikiArt [47] 的 500 张图像
  • 从网络爬取的数据中获取的 1K 张图像

在这里插入图片描述
prompt:

  • 为了确保描述质量和稳定性,作者设计了一个 base prompt,base prompt 的作用是让 GPT-4V 描述图像的基本信息,如图 3 所示

在这里插入图片描述

prompt:

在这里插入图片描述

quality verification:

  • 作者还判断了生成的 caption 的质量
  • 证明了使用高质量、详细的字幕可以显著提升多模态模型在监督微调阶段的表现,从而强调了获取更多高质量数据的重要性。

在这里插入图片描述

2.2 ShareGPT4V-PT 数据生成

为了构建 pretrain 阶段的数据集,作者使用这生成的 100k 个高质量的 caption 微调了一个 caption model,叫做 Share-Captioner,能够生成高质量的内容丰富的描述

数据来源:

  • 预训练的 Share-Captioner 来生成预训练数据集。
  • 该数据集由从现有公开数据集中选择的 1.2M 张图像子集组成
  • 这些图像包括来自 COCO [29] 的 118K 张图像
  • SAM [21] 的 570K 张图像
  • LLaVA-1.5 预训练数据 [30] 的 558K 张图像。

为了收集大量高质量的图像-文本对,我们从现有的公共数据集中选择了120万张图像(更多细节见补充材料),并使用预训练的 Share-Captioner 进行 caption 生成。整个 caption 生成过程大约需要 44 个 A100 GPU天,这部分数据命名为ShareGPT4V-PT。

定性分析:

图 4 对比了不同来源的 caption

在这里插入图片描述

定量分析:作者使用 gpt-4v 和 share-captioner 生成了 100 个 caption,10 个人选择了其各自认为最好的描述

在这里插入图片描述

图7展示了由GPT4-Vision和Share-Captioner生成的字幕中根名词-动词对的可视化。从中可以清楚地看到,Share-Captioner生成的字幕在多样性和语言表达上与GPT4-Vision相当。

在这里插入图片描述

分析了由GPT4-Vision和Share-Captioner生成的字幕的词汇组成,结果如表7所示。分析显示,我们的Share-Captioner生成的字幕包含的信息量与GPT4-Vision生成的字幕相当。

在这里插入图片描述

2.3 ShareGPT4V-7B Model

模型结构借鉴 LLava-1.5,包括三个模块:

  • vision encoder:clip-large model,分辨率为 336x336,patch size=14,输入图像被转换为 576 个 token
  • projector:两层 MLP
  • LLM:vicuna-v1.5

预训练:

  • 数据集:ShareGPT4V 中的 pretrain 数据集,也就是 ShareGPT4V-PT
  • 因为使用了高质量的 caption,只微调 MLP 已经不能很好的开发模型的潜力了(之前的 LMM 模型只微调这部分),所以,作者会同时微调编码器、投影器和大型语言模型,用于让大语言模型理解细致的视觉embedding,嵌入更细节的信息。
  • 此外,作者还发现仅仅微调 vision encoder 的后半部分层也可以达到很好的效果,且训练效率会更高
  • 学习率:2e-5
  • batch size:256
  • steps:4700

微调:

  • 本文的目标不是为了实现 sota 模型,而是为了研究高质量 caption 在实现多模态模型中更好的模态对齐上是不是有效
  • 因此,作者使用 LLava-1.5 中的 665k 微调数据,然后使用 ShareGPT4V 替换了其中一部分。具体的替换是 23k详细描述数据
  • 冻结了视觉编码器,专注于微调投影器和大型语言模型。学习率设定为2e-5,批量大小为128,总优化过程大约持续了5200步。

三、效果

3.1 benchmark

使用了 11 个常见的 benchmark

3.2 定量分析

ShareGPT4V-7B 在 9/11 个数据集中取得了很好的效果

在这里插入图片描述

3.3 多模态对话

在这里插入图片描述

四、一些例子

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

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

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

相关文章

Python logging 模块详解

Python 的 logging 模块提供了一个强大而灵活的日志系统。它是 Python 标准库的一部分,因此可以在任何 Python 程序中使用。logging 模块提供了许多有用的功能,包括日志消息的级别设置、日志消息的格式设置、将日志消息输出到不同的目标,以及…

【机器学习】GLM4-9B-Chat大模型/GLM-4V-9B多模态大模型概述、原理及推理实战

​​​​​​​ 目录 一、引言 二、模型简介 2.1 GLM4-9B 模型概述 2.2 GLM4-9B 模型架构 三、模型推理 3.1 GLM4-9B-Chat 语言模型 3.1.1 model.generate 3.1.2 model.chat 3.2 GLM-4V-9B 多模态模型 3.2.1 多模态模型概述 3.2.2 多模态模型实践 四、总结 一、引言…

《精通ChatGPT:从入门到大师的Prompt指南》大纲目录

第一部分:入门指南 第1章:认识ChatGPT 1.1 ChatGPT是什么 1.2 ChatGPT的应用领域 1.3 为什么需要了解Prompt 第2章:Prompt的基本概念 2.1 什么是Prompt 2.2 好Prompt的特征 2.3 常见的Prompt类型 第二部分:Prompt设计技巧 第…

SOA的发展历史

1.SOA的发展历程 回顾SOA发展历程,我们把其大致分为了三个阶段,下面将分别介绍每个阶段的重要标准和规范。 1.1.萌芽阶段 这一阶段以XML技术为标志,时间大致从20世纪90年代末到21世纪初。XML系W3C所建,源自流行的标准通用标记语…

多表连接查询和子查询

一、连接查询 连接查询是SQL语言最强大的功能之一,它可以执行查询时动态的将表连接起来,然后从中查询数据。 1.1、连接两表的方法 在SQL中连接两表可以有两种方法,一种是无连接规则连接,另一种是有连接规则连接。 无连接规则连…

多卡聚合智能融合通信设备在无人机无线视频传输应用

无人驾驶飞机简称“无人机”,是利用(无线电)遥控设备和自备的程序控制装置操纵的不载人飞行器,现今无人机在航拍、农业、快递运输、测绘、新闻报道多个领域中都有深度的应用。 无人机无线视频传输保证地面人员利用承载的高灵敏度照相机可以进行不间断的画…

Accelerate 笔记:保存与加载文件

保存和加载模型、优化器、随机数生成器和 GradScaler 使用 save_state() 将上述所有内容保存到一个文件夹位置使用 load_state() 加载之前通过 save_state() 保存的状态通过使用 register_for_checkpointing(),可以注册自定义对象以便自动从前两个函数中存储或加载 …

【推荐】用scss循环zoom缩放比例,解决可视化大屏在不同分辨率屏幕下的适配问题

方法1: 指定几种常规屏幕宽度(用这种方式就必须要强制用户全屏查看页面,在固定的宽度下才能达到比较不错的显示效果) // 适配不同分辨率的页面---------------------------------------- html {overflow: hidden;width: 1920px;…

AR眼镜定制开发_在AR眼镜中实现ChatGPT功能

AR眼镜定制方案中,需要考虑到强大的算力、轻巧的设计和更长的续航时间等基本要求。然而,AR眼镜的设计方案不仅仅需要在硬件和显示技术方面取得突破,还要在用户体验方面有所进展。 过去,由于造价较高,AR眼镜的普及和商业…

搜维尔科技:「案例」Faceware电影中面部动画的演变历程

面部动画是电影中角色表演的一个重要方面,尤其是在严重依赖电子动画、化妆效果和动作捕捉系统的奇幻电影中。在《龙与地下城:盗贼荣誉》电影中,龙裔角色的面部动画是一个复杂的系统,使该生物在大屏幕上栩栩如生。该系统依赖于一种…

逻辑回归及python实现

概述 logistic回归是一种广义线性回归(generalized linear model),因此与多重线性回归分析有很多相同之处。它们的模型形式基本上相同,都具有 w‘xb,其中w和b是待求参数,其区别在于他们的因变量不同&#x…

zeppelin 未授权任意命令执行漏洞复现

一、命令执行复现 访问http://ip:8080,打开zeppelin页面,(zeppelin默认监听端口在8080) 点击Notebook->create new note创建新笔记 在创建笔记的时候选择Default Interpreter为sh,即可执行sh命令 如下图&#x…

2024 Q1企业级SSD市场暴涨,国产努力追赶!

在2024年第一季度,由于对高容量存储需求的激增,企业级固态硬盘(SSD)市场的收入实现了显著增长,达到了37.58亿美元,与上一季度相比增长了62.9%。这一增长主要得益于供应商减产导致的高容量订单需求未得到满足…

基础篇01——SQL的基本语法和分类

MySQL数据库安装与基本使用 安装教程参见:通过zip安装MySQL 通过命令行启动和停止MySQL服务命令 前提:安装MySQL成功之后 启动服务:net start mysql 停止服务:net stop mysql 通过命令行连接mysql 可以通过mysql的客户端命令行…

GPT、Claude、Perplexity等AI集体宕机罢工,全球打工人崩溃了

就在昨天!一个看似平常的周三上午,三大顶尖AI居然集体罢工了! 首先,网友们发现OpenAI的ChatGPT崩了,接着Claude和Perplexity也接连陷入崩溃状态。而Gemini也出现了短暂下线问题,整整三个小时,这…

【MySQL】sql语句之表操作(上)

序言 在上一篇的数据库操作的内容中,学习了两种属性和常用的七种操作,学习是循序渐进的,库的操作学完了,就要开始学习表的操作了,而表可与数据强相关,比如DDL,即数据定义语言,DML&am…

SIMBA方法解读

目录 预处理scRNA-seqscATAC-seq 图构建(5种场景)scRNA-seq分析scATAC-seq分析多模态分析批次整合多模态整合 图学习SIMBA空间中查询实体识别TF-target genes 预处理 scRNA-seq 过滤掉在少于三个细胞中表达的基因。原始计数按文库大小标准化&#xff0…

【2024】零基础Python 快速入门篇

2023年是AI的元年,AI的爆火不仅推动了科技领域的进步,更让 Python 语言成为了这一变革中的关键角色。 Python 语言简单易懂,语法清晰明了,懂一点英语的都能学得会。很适合在职场摸爬滚打多年的前端组长作为捅破天花板的语言&…

引用(C++)和内联函数

前言&#xff1a;本文主要讲解C语法中引用如何使用和使用时的一些技巧 基本语法 引用就是取别名 #include <iostream> using namespace std; int main() {int a 10;int& b a;//给a取别名为bcout << a << endl;cout << b << endl;return 0…

后端开发面经系列 -- 华为C++一面面经

HUAWEI – C一面面经 公众号&#xff1a;阿Q技术站 来源&#xff1a;https://www.nowcoder.com/feed/main/detail/b8113ff340d7444985b32a73c207c826 1、计网的协议分几层&#xff1f;分别叫什么&#xff1f; OSI七层模型 物理层 (Physical Layer): 负责物理设备之间的原始比…