Mini-Gemini: 探索多模态视觉语言模型的新境界

news2024/12/29 7:56:32

一、背景

        在数字化时代,人工智能的发展正以前所未有的速度推进。特别是在多模态学习领域,结合视觉和语言的能力已成为研究的热点。最近,一篇名为“Mini-Gemini: Mining the Potential of Multi-modality Vision Language Models”的文章在arXiv上发表,为我们展示了一个简单而有效的框架,旨在提升多模态视觉语言模型(VLMs)的性能。它即能直接提升图像感知能力,也能作为多模态环境下图像生成任务的前置prompt生成器。主要探索了如何增强图像全局感受野,以及探索了如何融合现有ocr工具来增强图像中文本感知能力。

论文:https://arxiv.org/pdf/2403.18814.pdf

代码:https://github.com/dvlab-research/MiniGemini

二、原理

本文的核心训练逻辑围绕Mini-Gemini框架的三个关键方面展开:高效的高分辨率解决方案、高质量数据和扩展应用。以下是这些方面的具体训练逻辑:

  1. 高效的高分辨率解决方案

    • 利用ConvNet作为HR视觉编码器,以高效地生成高分辨率候选图像,同时保持LLMs的视觉标记数量不变。
    • 通过双编码器系统(LR和HR)和注意力机制,使得在推理时,LR编码器生成视觉查询,而HR编码器提供候选键和值,从而在不增加计算负担的情况下增强视觉细节。
  2. 高质量数据

    • 通过整合来自不同公共资源的高质量数据集,确保数据的基础丰富多样。
    • 收集和生成基于公共资源的更多数据,包括高质量的响应、面向任务的指令和与生成相关的数据,以提高整体性能并扩展模型的能力。
  3. 扩展应用

    • 采用任何到任何(any-to-any)的范式,处理图像和文本作为输入和输出。
    • 集成最新的LLMs和生成模型,提升VLM性能和用户体验。
    • 支持并行图像和文本生成,通过无缝集成VLM与先进的生成模型,利用VLM指导图像生成,提供LLMs生成的文本。

训练过程

  • 实现Mini-Gemini时,使用CLIP预训练的ViTL作为LR视觉编码器,使用LAION预训练的ConvNext-L作为HR视觉编码器。
  • 为了高效训练,保持两个视觉编码器固定,并优化所有阶段的补丁信息挖掘投影器。
  • 在指令调整阶段,只优化LLM。
  • 使用AdamW优化器和余弦学习率调度策略进行模型优化,通常设置学习率为1e−3(模态对齐)和2e−5(指令调整),对于较大的模型(如Mixtral-8×7B和Hermes-2-Yi-34B),调整学习率以确保稳定的指令调整。
  • 训练在标准的机器配置上进行,对于最大的模型,使用DeepSpeed Zero3策略在4天内完成优化。

数据集

  • 模型优化使用的数据集主要包括1.2M图像标题对用于模态对齐,以及1.5M单轮或多轮对话用于指令调整。
  • 在多个零样本图像基准数据集上报告结果,包括VQAT、MMB、MME、MM-Vet、MMMU和MathVista等。

通过这种核心训练逻辑,Mini-Gemini框架能够有效地提升VLMs的性能,并在各种设置中实现先进的多模态任务处理能力。

三、效果

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

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

相关文章

[已解决]react打包部署

react打包部署 问题 npm install 命令无反应 思路 换成 yarn install 安装完hadoop的环境后,使用node的yarn会报错: 我们在cmd使用where yarn,如下: 看你想保留哪一个,我平时node用的多,就把hadoop的y…

飞书API(5):查看多维表 28 种数据类型的数据结构

一、引入 前面我们用于测试的数据集其实都是比较常用的数据,比如说文本、数字、单选等,但飞书多维表并不仅仅只有这些数据,截止发文,飞书多维表应用上支持28种数据类型,在数据层面飞书官方只提供了23种数据类型&#…

Cadence软件安装

Cadence软件 iscape 用于安装cadence家的安装软件 解压缩安装包tar -xvf IScape04.23.tar.gz运行bash IScape/iscape/bin/iscape.sh 设置默认安装路径(可选)IC618 这里使用的是IC618.320版本作为示例,其他版本安装过程差不多 安装 首先安装终端模拟器,不然安装之后会失败…

【前端】校园二手书交易系统javascript+css+html (源码)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

Vnode是如何产生的?

源码 流程图 源码解读 Vue.js2.0中有两种生成方式:第一种是直接在Vue对象的option中添加render字段;第二种是像Vue.js 1.x版本那样写一个模板或者指定一个el根元素,它会首先转换成模板,经过HTMI语法解析器生成一个 ast 抽象语法树…

JAVAEE——IP协议

文章目录 IP协议IP协议报头格式IP协议报头的各个区段四位版本四位首部长度八位服务类型16位总长度16位标识,3位标志,13位片偏移八位生存时间八位协议 地址管理IP地址解决提议1:动态分配Ip地址解决提议2:NAT机制 IP协议 IP协议报头…

【新手入门必看】从零开始学指针

我使用VS CODEMSYS2的编译环境进行学习&#xff0c;想使用VS CODE进行C/C代码编写的小伙伴参考这篇文章进行环境配置VS Code 配置 C/C 编程运行环境&#xff08;保姆级教程&#xff09; 一、指针的引入 指针地址 #include <stdio.h>int main() {int a 10;printf(&quo…

编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。

本文收录于专栏:算法之翼 https://blog.csdn.net/weixin_52908342/category_10943144.html 订阅后本专栏全部文章可见。 本文含有题目的题干、解题思路、解题思路、解题代码、代码解析。本文分别包含C语言、C++、Java、Python四种语言的解法完整代码和详细的解析。 题干 编写…

Java:二叉树(1)

从现在开始&#xff0c;我们进入二叉树的学习&#xff0c;二叉树是数据结构的重点部分&#xff0c;在了解这个结构之前&#xff0c;我们先来了解一下什么是树型结构吧&#xff01; 一、树型结构 1、树型结构简介 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>…

深度学习系列64:数字人openHeygen详解

1. 主流程分析 从inference.py函数进入&#xff0c;主要流程包括&#xff1a; 1&#xff09; 使用cv2获取视频中所有帧的列表&#xff0c;如下&#xff1a; 2&#xff09;定义Croper。核心代码为69行&#xff1a;full_frames_RGB, crop, quad croper.crop(full_frames_RGB)。…

openobserve-filebeat配置

优势 rustgolang开发的日志工具组合&#xff0c;自带日志数据存储&#xff0c;简化部署和管理。日志数据可配置保留x天。从日志文件中采集&#xff0c;做到非侵入式日志集中管理。 可从日志内容中提取信息进行报警等二次开发。 下载 openobserve-v0.10.1-windows-amd64 fil…

VL02N交货单清除字段:VLSTK(分配状态)

VL02N交货单清除字段&#xff1a;VLSTK(分配状态) 通过查找增强对应的BADI&#xff1a;LE_SHP_DELIVERY_PROC 修改方法&#xff1a;IF_EX_LE_SHP_DELIVERY_PROC~CHANGE_DELIVERY_HEADER&#xff0c;代码如下&#xff1a;

JSS作业

JSS作业&#xff1a; 1: <script>var cnt parseInt(window.prompt("请输入打印的行数&#xff1a;"));for (var i 1; i < cnt; i){for (var j 1; j < i; j){document.write("*")}document.write("<br>")} </script>…

XTuner 微调 LLM:1.8B、多模态、Agent

两种微调范式&#xff1a;增量预训练和指令微调 在大语言模型下游应用中&#xff0c;主要有两种微调范式&#xff1a;增量预训练和指令微调。增量预训练旨在让模型学习特定领域的常识&#xff0c;而不需要有监督标注的数据&#xff1b;指令微调则是通过高质量的对话数据训练模型…

C语言中, 文件包含处理,#include< > 与 #include ““的区别

文件包含处理 指一个源文件可以将另外一个文件的全部内容包含进来 &#xff23;语言提供了#include命令用来实现文件包含的操作 #include< > 与 #include ""的区别 <> 表示系统直接按系统指定的目录检索 "" 表示系统先在 "" 指定…

vulfocus靶场couchdb 权限绕过 (CVE-2017-12635)

Apache CouchDB是一个开源数据库&#xff0c;专注于易用性和成为"完全拥抱web的数据库"。它是一个使用JSON作为存储格式&#xff0c;JavaScript作为查询语言&#xff0c;MapReduce和HTTP作为API的NoSQL数据库。应用广泛&#xff0c;如BBC用在其动态内容展示平台&…

动态内存管理 柔性数组

文章目录 动态内存函数 malloc freecallocrealloc 重新开辟空间realloc 也可以第一个参数为NULL&#xff0c;则是直接开辟内存&#xff0c;类似于malloc用法 常见的动态内存错误对空指针进行解引用操作对开辟的内存越界访问对非动态开辟的内存使用free释放使用free释放动态开辟…

《Linux运维总结:Kylin V10+ARM架构CPU基于docker-compose一键离线部署redis6.2.8之容器版哨兵集群》

总结&#xff1a;整理不易&#xff0c;如果对你有帮助&#xff0c;可否点赞关注一下&#xff1f; 更多详细内容请参考&#xff1a;《Linux运维篇&#xff1a;Linux系统运维指南》 一、部署背景 由于业务系统的特殊性&#xff0c;我们需要面向不通的客户安装我们的业务系统&…

停更这大半年-我去考了个研

解释一下2023年我几乎没有更新文章 还有私信也没有回&#xff0c;因为我几乎没有登陆过csdn了 我从2023年3月份开学就开始准备考研了 其实3月28号就出结果了&#xff0c;后面有事情就给忘了&#xff0c;给我的粉丝解释一下&#xff08;虽然粉丝也不多&#xff09;。后面应该会…

【GPTs分享】GPTs分享之 AskYourPDF Research Assistant​

一、简介 AskYourPDF Research Assistant 是一款高级人工智能研究助手&#xff0c;专门设计用于帮助用户高效从PDF文件和文章中提取信息。它结合了深度学习技术和自然语言处理能力&#xff0c;以便用户能够快速地查询、总结及处理文档内容&#xff0c;并能够生成与文章内容相关…