MM1: Methods, Analysis Insights from Multimodal LLM Pre-training

news2025/1/9 16:54:01

MM1: Methods, Analysis & Insights from Multimodal LLM Pre-training

相关链接:arxiv
关键字:多模态学习大型语言模型预训练视觉语言连接混合专家模型

摘要

本文讨论了构建高性能的多模态大型语言模型(MLLMs)。特别地,我们研究了各种架构组件和数据选择的重要性。通过对图像编码器、视觉语言连接器以及各种预训练数据选择进行仔细全面的消融实验,我们确定了几个关键的设计经验。例如,我们展示了对于使用精心混合的图像标题、交错的图像文本和纯文本数据进行的大规模多模态预训练,在多个基准测试中实现最先进的(SOTA)少样本结果至关重要,与其他已发布的预训练结果相比。此外,我们展示了图像编码器与图像分辨率和图像标记计数有重大影响,而视觉语言连接器设计的重要性相对较小。通过扩展这些方法,我们构建了MM1,一个多模态模型家族,参数量高达30B,包括密集模型和混合专家(MoE)变体,这些模型在预训练指标上是最先进的,并在一系列已建立的多模态基准测试中经过监督微调后取得了有竞争力的性能。得益于大规模预训练,MM1具有吸引人的特性,如增强的上下文学习能力、多图像推理,使得少样本链式思维提示成为可能。

核心方法

在这里插入图片描述

  1. 图像编码器和视觉语言连接器的设计:我们发现图像分辨率对性能影响最大,其次是模型大小和训练数据组成。而视觉语言连接器的架构设计对最终性能的影响相对较小。
  2. 预训练数据的选择:我们发现交错的图像文本数据和纯文本数据对于少样本和纯文本性能至关重要,而对于零样本性能,标题数据最为重要。
  3. 模型架构和训练过程:我们探索了不同的预训练图像编码器,并研究了如何将视觉特征桥接到LLM空间。我们还详细阐述了如何训练MLLM,包括超参数和训练模型的哪些部分。

实验说明

实验名称数据集指标结果备注
MM1-3B多种数据源准确率73.5包括图像标题、交错图像文本和纯文本数据
MM1-7B多种数据源F1分数61.0同上
MM1-30B多种数据源准确率54.6同上

实验结果表明,MM1模型在多个基准测试中取得了先进的性能,特别是在少样本学习方面。数据来源包括图像标题、交错的图像文本文档和纯文本数据。

结论

通过仔细的建模和数据选择消融实验,我们确定了重要的经验教训,这些经验教训产生了一个在一系列少样本评估中取得SOTA结果的预训练模型。在SFT之后,这个模型家族在广泛的基准测试中产生了有竞争力的性能,同时启用了多图像推理和少样本提示。我们希望这些确定的经验教训能够帮助社区构建强大的模型,超越任何单一的具体模型架构或数据策略。


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

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

相关文章

OPTIONS请求(跨域预检查)

目录 一、什么是OPTIONS请求?二、简单请求、复杂请求三、特定的请求头、响应头 一、什么是OPTIONS请求? OPTIONS 请求方式是 HTTP 协议中的一种,主要用于 从响应头中获取服务器支持的HTTP请求方式。 OPTIONS 请求方式是 浏览级行为&#xf…

【SpringCloud微服务实战02】Ribbon 负载均衡

Ribbon使用 Eureka中已经集成了Ribbon,无需额外引入,通过 @LoadBalanced 注解在请求中使用 Ribbon 负载均衡: @Bean @LoadBalancedpublic RestTemplate restTemplate() {return new RestTemplate(); } Ribbon工作流程图 Ribbon负载均衡策略 修改Ribbon负载均衡策略 方式一…

从0开始启动一个Django的docker服务

本文是从0开始启动一个Django的docker服务,包括构建镜像,uwsgi启动服务 在服务器上安装ssh,git,生成公钥并复制到服务器上 # 安装ssh yum install openssh-clients # 生成sshkey ssh-keygen # 查看公钥 cat /root/.ssh/id_rsa.pubclone一下…

Text-to-SQL 工具Vanna | 查看训练数据、删除训练数据

1.查看训练数据vn.get_training_data vn.get_training_data 源码如下,可以看到返回的是df格式的数据 abstractmethoddef get_training_data(self, **kwargs) -> pd.DataFrame:"""Example:pythonvn.get_training_data()This method is used to ge…

Brute Force 算法介绍

Brute Force 算法介绍 Brute Force 算法:简称为 BF 算法。中文意思是暴力匹配算法,也可以叫做朴素匹配算法。 BF 算法思想:对于给定文本串 T 与模式串 p,从文本串的第一个字符开始与模式串 p 的第一个字符进行比较,如果…

计算机考研|408专业课复习教程+注意事项

408其实把真题琢磨透就已经可以了!其实大部分考研党复习到最后真题都来不及刷完就要上考场 因为在考研后期时间分配真的很困难!特别是数学和408 本人双非科班出身备考408成功上岸,在这里也想给想考408的学弟学妹们一些很中肯的,…

干重活儿的互联网

接女儿放学路过欧尚超市,我说 “十年前我每周末推着小车带你去超市,那时没有这么多送外卖的,什么东西都要自己跑过去买”,“你的意思是要表达科技获得很大进步了吗?” 女儿反问,“不,恰恰相反&a…

FTP协议的工作原理:探索端口21的角色

FTP协议的工作原理:探索端口21的角色 在网络协议的众多家族中,文件传输协议(FTP)以其稳定性和高效性在文件上传和下载领域占有一席之地。FTP的设计允许用户在客户端和服务器之间进行文件传输,而理解其背后的端口机制是…

<JavaEE> 了解网络层协议 -- IP协议

目录 初识IP协议 什么是IP协议? IP协议中的基础概念 IP协议格式 图示 4bit版本号(version) 4bit头部长度(headerlength) 8bit服务类型(TypeOfService) 16bit总长度(total l…

Java面试——SQL 语句题

优质博文:IT-BLOG-CN 一、行转列问题 现有表格A,按照以下格式排列; 姓名收入类型收入金额Tom年奖金5wTom月工资10kJack年奖金8wJack月工资12k 先需要将表格转化为: 姓名月工资年奖金Tom10k50kJack12k80k 方法一:…

C语言-strstr(字符串里查找字符串)

strstr(字符串里查找字符串) 语法格式 库函数实现的逻辑 1,返回一个指向str2在str1中第一次出现的位置,如果str2不是p,则返回一个空指针,函数返回字符串str2在字符串str1中第一次出现的位置) 2&#xf…

SpringBoot3项目框架搭建

注意jdk版本必须17以上才能运行 1、创建Maven工程 2、导入spring-boot-stater-web起步依赖 3、编写Controller 4、提供启动类 5、访问http://localhost:8080/hello

计算机丢失vcruntime140.dll解决办法分享,有效解决vcruntime140.dll丢失问题

vcruntime140.dll是一个属于 Visual C Redistributable for Visual Studio 2015 的动态链接库文件。这个文件是运行那些用 Visual Studio 2015 或相关版本开发的 C 应用程序必不可少的一部分。如果系统中缺少此文件,或文件损坏,则可能会在尝试启动相关软…

[【Hello,PyQt】pyqt5中的QLineEdit控件

PyQt5 是一个强大的Python库,用于创建图形用户界面(GUI)。其中,QLineEdit 控件作为一个简单而实用的组件,经常用于接受用户的单行文本输入,甚至可以用来进行输入格式的限制。这篇博客中将介绍 QLineEdit 控…

react-native使用FireBase实现google登陆

一、前置操作 首先下载这个包 yarn add react-native-google-signin/google-signin 二、Google cloud配置 Google Cloud 去google控制台新建一个android项目,这时候需要用到你自己创建的keystore的sha1值,然后会让你下载一个JSON文件,先保…

【电路笔记】-金属氧化物半导体晶体管(MOSFET)

金属氧化物半导体晶体管(MOSFET) 文章目录 金属氧化物半导体晶体管(MOSFET)1、概述2、MOSFET 基本结构和符号2.1 耗尽型 MOSFET2.2 增强型MOSFET3、MOSFET放大器4、总结1、概述 除了结型场效应晶体管 (JFET) 之外,还有另一种类型的场效应晶体管,其栅极输入与主载流通道电绝缘…

计算机网络—VLAN 配置

目录 1.拓扑图 2.实验环境准备 2.关闭不相关接口,并配置 Trunk 3.创建 VLAN 4.为客户端配置 IP地址 5.检测设备连通性,验证 VLAN 配置结果 6.配置 Hybrid 端口 7.配置文件 1.拓扑图 2.实验环境准备 在S1和S2上创建Eth-Trunk 1并配置该Eth-Trunk…

JVM-5

1.选择垃圾收集器 如果你的堆大小不是很大(比如 100MB ),选择串行收集器一般是效率最高的。 参数: -XX:UseSerialGC 。如果你的应用运行在单核的机器上,或者你的虚拟机核数只有单核,选择串行收集器依然是合…

17-指针(初识)

17-1 内存 内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的。 为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。为了能够有效的访问到内存的每个单元,就给内存单元进行…

GraspNet-baseline复现----Linux-Ubuntu

1.基本环境 Ubuntu 20.04Cuda 11.0 、cuDNN 80.0Python 3.7.16PyTorch 1.7.0 2.环境配置 PyTorch的版本对Cuda和Python的版本都有依赖,所以基本步骤是 确定需要安装的PyTorch版本 —> 通过 网站 确定对应的cuda版本和python版本 —> 创建虚拟环境配置环境。…