最新多模态大模型SOTA - EMU (Generative Multimodal Models are In-Context Learners)

news2024/11/17 23:56:26

前言

  • 设计的模型叫EMU,通过统一的自回归方式(其预测的输出依赖于过去的输出)训练。
  • 参数37B(370亿)。
  • 指标在目前多项视觉(图像,视频)问答的SOTA
    在这里插入图片描述
    tips: 不过这里吐槽一点啊,我看了下几个数据集指标数据跟cogvlm其实拉的不是很大,然后cogvlm的参数只有17B,这篇论文的参数都38B了,这么看的话对比很不公平。

痛点

  • 之前的多模态大模型训练主要依赖于结构化以及大量高质量的监督训练数据,这两者都很难进行规模化。(因此,本文用统一的自回归方式训练多模态大模型,统一这个词很关键,不仅仅是像chatgpt一样只有文本->文本,而是文本对、图像-文本对以及图像-文本-视频对)

模型结构

模型
VisionEVA-02-CLIP-E-plus
project layerlinear
LLMLLaMA-33B
Visual DecoderSDXL

模型结构这块真的狠,语言模型直接上了33B的llama,这一下子就可以劝退了99%的用户了。视觉部分也狠,clip-E差不多有5B的参数,快赶上经典的7B的语言模型了。Visual Decoder这个之前没怎么接触过图像生成,不太了解这个模型,不过这个decode的参数倒是不大。
流程这里论文写的不是很清楚,不过看着大概意思就是,输入一个图像,先用Vision抽图像的patch,然后作者说
在这里插入图片描述
看着是就做了个简单的mean pooling,每个图只用了8*8个patch,我理解应该是视觉模型EVA-02-CLIP-E-plus输出的tensor应该是一个(b, n, d)的形状,然后通过mean pooling后得到一个(b, 64, d)的tensor给到语言模型,就是一张图变成了64个token(这块有比较多的操作,像minigpt4用了个qformer,minigpt4-v2把qformer砍了,直接用linear层映射到文本需要的维度,llava也是直接用linear层,论文说的emu-v1这里用的c-former)。

整个模型结构就介绍了这么多,可以看到,现在的大模型结构创新显得没有那么必要了,反倒是你的训练策略,训练数据的数量和质量,模型的大小才是重中之重。可以说这篇论文的三个核心的模型结构LLM,Vision,Vision decode都是别人的,自己的结构就是加了个linear层把输出能串起来。hhhhh
下面看看原图吧,画的都很简单。

在这里插入图片描述

训练

训练数据

在这里插入图片描述
训练数据真狠啊,几个超大型的数据集都被用上了,看作者后面写的预训练视频一共用了700万,图片一共用了1.62 亿。

训练方式

Step 1

一些设置:

  • 损失函数只用了文本生成的loss
  • 图片大小224 * 224
  • 优化器adam
  • project layer层的学习率:1×10−4
  • LLM的学习率:3×10−5
  • vision的学习率: 5×10−5
    每个batch的图文对6144个,视频文本对768个,一共训了35200个iter,就是243302400条样本(有卡有钱就是任性)。

Step 2

  • 图像尺度扩展到448 * 448。(有钱啊)
  • 在step1的基础上接着训了4000个iters。

Step3

  • 冻结vision部分,仅训练project layer以及LLM。
  • 损失用了文本分类的loss,图片生成的loss。(这里不太理解为啥事文本分类的loss???)
  • 然后又补了点数据,看下图吧。
    在这里插入图片描述- 图片训练尺度还是保持448 * 448,学习率变成了1 × 10−5(准备微调了,降了学习率)
  • 每个batch的图文对12800个,视频文本对6400个, 3,200个image-text and video-text interleaved data(这个interleaved实在不理解是啥东西),800个文本对数据。训了20,350个iters。

Step4

最后单独训了下vision decode,这块没咋做过图像生成先略了看不太懂。原文贴一下吧:
在这里插入图片描述

Step5

最后就是指令微调了,没写啥内容就是用了这些指令微调的数据在这里插入图片描述

一些设置:

  • batchsize是768,训了8000个step
  • 上下文的最大长度限制到2048
  • 图像的尺寸还是448 * 448
  • 视频帧随机用了8,12,16帧。
  • 图像的token从原来的8 * 8(64个token)变成了16 * 16(256个token)。主打就是能大就大啊

效果

其他乱七八糟的就不写了,效果就是六边形战士在这里插入图片描述

总结

整体论文感觉有些地方写的不是很清楚啊,所以只了解了个大概,总体看就是能大就大…真是有钱经得起折腾。哎,想想也很可悲,上班了之后要担心收益,好多事情都不敢放开手脚做,就这论文的工作,给了我流程和数据说实话也不是很敢搞,训练周期长,训练收益不可预期,短平快的节奏真没法搞。

补一句,测了一些case这个模型效果真的可以。不错的工作。

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

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

相关文章

如何搭建Tomcat服务并结合内网穿透实现公网访问本地站点

文章目录 前言1.本地Tomcat网页搭建1.1 Tomcat安装1.2 配置环境变量1.3 环境配置1.4 Tomcat运行测试1.5 Cpolar安装和注册 2.本地网页发布2.1.Cpolar云端设置2.2 Cpolar本地设置 3.公网访问测试4.结语 前言 Tomcat作为一个轻量级的服务器,不仅名字很有趣&#xff0…

SA 接通案例(2)

1.测试卡开通增值业务导致VONR呼叫时延增大 关键字:VONR拉网测试,VONR时延,增值业务 【问题描述】 3月VONR拉网测试呼叫时延增加,2月VONR呼叫时延1.1s,3月VONR呼叫时延1.4s。 【问题分析】 一、2月和3月典型Case对比…

CMMI-项目总体计划模版

目录 1、总体目录结构 2、重点章节概要示例 2.1 第四章 项目管理 2.2 第六章 实施与交付计划 2.3 第七章 运维计划 1、总体目录结构 2、重点章节概要示例 2.1 第四章 项目管理 2.2 第六章 实施与交付计划 2.3 第七章运维计划

最佳实践!Apipost使用指南

自诞生以来,Apipost凭借其简洁直观的用户界面、强大的功能以及简单、易上手的操作,让Apipost成为了开发人员不可或缺的工具。本文将详细介绍Apipost的主要功能和使用方法,帮助大家更好地了解这款优秀的API开发工具。 下载安装 直接进入Apip…

桃红葡萄酒是如何成为当代宠儿的?

在过去的几年里,桃红葡萄酒的质量和受欢迎程度都有了很大的提高。夏天是花园和烧烤聚会的旺季,玫瑰红是许多美食家最喜欢的颜色。桃红葡萄酒满足了味觉的各种需求,它们是三文鱼和烤鸡等各种美食的绝佳伴侣,是任何精致辛辣菜肴的真…

ARM串口通信编程实验

完成:从终端输入选项,完成点灯关灯,打开风扇关闭风扇等操作 #include "gpio.h" int main() {char a;//char buf[128];uart4_config();gpio_config();while(1){//接收一个字符数据a getchar();//发送接收的字符putchar(a);switch(…

MAVEN依赖生成后idea依然爆红问题

以下是对MAVEN依赖生成后idea依然爆红问题的一种猜测 ----- 碰到解决不了可以试一下(也请大佬们指正) 把所有后端服务停了(当微服务项目件存在依赖相互引用的情况时,在install时可能影响到新包的生成,因为存在包占用&…

4. 从零开始学Sqoop大数据框架,这些学习网站助你一臂之力!

介绍:Sqoop是一款开源的工具,主要用于在Hadoop与传统的数据库系统间进行数据的传递。它可以将一个关系型数据库(例如:MySQL、Oracle、Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关…

WPS中如何根据身份证号生成出生日期并排序

1. wps中如何根据身份证号导出出生日期并排序 1.1 wps中建一张表 1.2 使用转日期格式导出出生日期 DATE(VALUE(MID(C2,7,4)),VALUE(MID(C2,11,2)),VALUE(MID(C2,13,2)))MID(C2, 7, 4):这部分从单元格 C2 中提取文本字符串,从第7个字符开始提取长度为4的…

网红是怎样炼成的 数据统计网红的共同特征 利用数据来分析热点问题与事件 如何将软件编程专业能力与直播结合,创造出独特且具有技术优势的直播体验

为了成为一名网红,需要做好一系列的准备工作,同时也要了解网红们通常具备的共同特征。以下是准备步骤和网红的一些共同特征: 准备步骤 明确定位:确定自己的兴趣领域和特长,这将成为你的个人品牌和内容创作的核心。 了…

camera 客观校准 (2)——抓图

#灵感# 延续camera 客观校准 (1)——抓图,继续补充 noise calibration: 1、拍摄灰卡,一个光源(可以参考摄影那种竖着的灯管)垂直照射在灰卡一端,采集的图片亮度要渐变,亮度直方图最…

Echarts图表添加蒙层 (拖拽、拉伸)

图表支持区域拖动和拉伸 文章目录 图表支持区域拖动和拉伸前言背景(个人经历)简单例子的效果图如下(本次大致就是下面的功能) 一、具体代码如下:1. HTML部分如下2. JS部分如下3. 具体效果图如下 二、完善方法和时间可以…

继电保护测试仪的使用寿命有10年吗?

继电器保护测试仪在电力检测行业非常重要。它经常被电力检测工人用来检测各种继电器保护电力设施,从而发现这些设备的潜在问题,这对设备的维护非常重要。然后,随着继电器保护测试仪的使用不断增加,设备的一些性能和使用寿命也会相…

Azure 学习总结

文章目录 1. Azure Function1.1 Azure Function 概念1.2 Azure Function 实现原理1.3 Azure Function 本地调试1.4 Azure Function 云部署 2. Azure API Managment 概念 以及使用2.1 Azure API 概念2.2 Azure API 基本使用 3. Service Bus 应用场景及相关特性4. Azure Monitor相…

欧洲影像学人工智能和影像组学文章审稿指南解读--用于训练/验证AI/影像组学的参考标准是否可靠?

欧洲影像学人工智能和影像组 学文章审稿指南解读 针对人工智能(AI)和影像组学领域的研究文章,欧洲影像学(European Radiology)期刊为审稿人提出了一系列特别的说明和要求。这些要求不仅仅是审稿的准则,更是…

redis cluster判断key属于那个分片。

一、判断阿里云 redis cluster,的key属于那个分片。 阿里云特有的命令info key 可以查看key属于那个slot,那个分片 命令行查看: xxxx:6379> info key xxxx_compressed_xxx slot:4941 node_index:9 xxxx:6379> cluster keyslot xxxx_…

低代码平台在金融银行中的应用场景

随着数字化转型的推进,商业银行越来越重视技术在业务发展中的作用。在这个背景下,白码低代码平台作为一种新型的开发方式,正逐渐受到广大商业银行的关注和应用。白码低代码平台能够快速构建各类应用程序,提高开发效率,…

ArcGIS渔网的多种用法

在ArcGIS中有一个渔网工具,顾名思义,可以用来创建包含由矩形像元所组成网络的要素类。不太起眼,但它的用途却有很多,今天跟大家分享一篇关于渔网的多种用途。 1.马赛克地图制作 2.基于网格的设施密度统计制作马赛克地图 准备材…

创建springboot项目

SpringBoot 就相当于不需要配置文件的SpringSpringMVC。 常用的框架和第三方库都已经配置好了。 maven安装配置 管理项目依赖库的 maven的安装教程网上有很多,这里简单记录一下。 官网下载maven后并解压。 在其目录下添加一个目录repository 然后在conf目录下…