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

前言

  • 设计的模型叫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这个模型效果真的可以。不错的工作。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络——网络层(四)

前言: 前面我们已经对物理层和数据链路层有了一个简单的认识与了解,现在我们需要对数据链路层再往上的一个层,网络层进行一个简单的学习与认识,网络层有着极其重要的作用,让我们对网络层进行一个简单的认识与学习吧 目…

加强-jdbc与连接池的关系,连接池有哪些

0驱动什么是数据库驱动 开发人员编写好应用程序之后想要操作数据库,平常就了解到有很多种数据库如oracle\mysql\sql server,代码已经写好了是一套总不能在使用不同的数据库技术的时候代码就要写不同方式连接来连接数据库吧,所以开发商在开发数…

什么是公网IP和弹性公网IP

目录 公网IP 弹性公网IP 公网IP 公网IP是由公共网络运营商分配且具有独立性、全球唯一性和全球可达性等特点,可让用户通过互联网与其他用户实现数据交流和信息传递。 用户会使用网站的域名访问网站,而域名会通过DNS域名解析服务解析为公网IP地址&…

本地登陆页面:对本地搜索词进行排名的策略

位置着陆页没有得到足够的尊重。 你用你的姓名、地址、电话号码和工作时间来设置它们。也许您嵌入了用于行车路线的 Google 地图。 也许你写了一些没人会读的副本,如果你有多个位置,你在每一页上重复相同的副本,只是更改位置名称。 如果你…

【Unity6.0+AI】Sentis加载模型识别手写数字案例实现

按照国际惯例,看效果: 素材准备: 自己在PS中绘制黑底白字手写字体,导出jpg,尺寸28*28! 素材设置 基本步骤 准备工作:从 ONNX Model Zoo 下载手写识别 ONNX 模型文件 【下载模型】MNIST 手写数字识别模型 mnist-12.onnx,并将其拖入项目窗口的 Assets 文件夹。 【下载模…

组织框架概念澄清及表设计

组织 企业组织 企业组织就是企业正式编制,以单独的编制,是个人在企业所在的长久的家,类似于所说的考编,在企业体制内的位置,可能一个人在组织有不同的岗位,也可能有不同的项目组,但是&#xf…

百度POI分类 20231227记录

open | 百度地图API SDK (baidu.com) 2023.12.27记录

SpringBoot单点登录认证系统MaxKey(附开源项目地址)

1 项目介绍 MaxKey 单点登录认证系统,谐音马克思的钥匙寓意是最大钥匙,支持 OAuth 2.x/OpenID Connect、SAML 2.0、JWT、CAS、SCIM 等标准协议,提供简单、标准、安全和开放的用户身份管理(IDM)、身份认证(AM)、单点登录(SSO)、RBAC 权限管理…

三菱人机交互GT Designer的使用(二,开关,指示灯,数值显示,数值输入)

今天也开始每日一学,内容为开关,指示灯,数值显示,数值输入,以为这篇文章比较长,所有小编决分为3篇内容写完,谢谢大家阅读,不足之处,欢迎指正。 目录 开关 位&#xff0c…

【记录问题排查系列】记录CPU飙高问题排查过程篇(1)

CPU飙高问题排查 ✔️问题排查与解决✔️总结与思考 🍁前段时间我们新上了一个新的应用,因为流量一直不大,集群OPS大概只有5左右,写接口的t在30ms左右。 因为最近接入了新的业务,业务方给出的数据是日常QPS可以达到20…

染色法判定二分图算法总结

知识概览 一个图是二分图当且仅当图中不含奇数环(奇数环是边数为奇数的环)。图中不含奇数环,染色过程中一定没有矛盾。染色法判定二分图算法时间复杂度O(n m)。 例题展示 题目链接 860. 染色法判定二分图 - AcWing题库https://www.acwing.…

django项目中配置debug_toolbar

背景 在django项目中为了好调试本地代码和定位问题,实话说django项目中的有问题提示相当明显,在复杂的项目中,还想查看sql的执行情况和执行过程。debug_toolbar是django项目中值得选择的调试工具。 配置 pip install debug_toolbar 修改s…

机器学习部分相关概念

数据集(Data Set)即数据的集合,每一条单独的数据被称为样本(Sample)。 对于每个样本,它通常具有一些属性(Attribute)或者特征(Feature), 特征所具体取得值被称为特征值(Feature Value)。 西瓜数据集 色泽根蒂纹理青绿稍蜷模糊乌黑蜷缩清晰 …

【JAVA】使用OPENGL

从这个网址下载对应的库: LWJGL - Lightweight Java Game Libraryhttps://www.lwjgl.org/browse/release/3.3.3下载这个压缩包(实际上有很多版本3.3.3是比较新的版本:LWJGL - Lightweight Java Game Library): https…

在ASP.NET MVC下限制同一个IP地址单位时间间隔内的请求次数

在ASP.NET MVC下限制同一个IP地址单位时间间隔内的请求次数 有时候,当用户请求一个Controller下的Action,我们希望,在单位时间间隔内,比如每秒,每分钟,每小时,每天,每星期&#xf…

VS配置PCO相机SDK环境

VS配置PCO相机SDK环境 概述:最近要用到一款PCO相机,需要协调其他部件实现一些独特的功能。因此需要用到PCO相机的SDK,并正确配置环境。良好的环境是成功的一半。其SDK可以在官网下载,选择对应版本的安装即可。这里用的是pco.cpp.1.2.0 Windows,VS 2022 专业版。 链接: P…

软件测试/测试开发丨Pytest学习笔记

Pytest 格式要求 文件: 以 test_ 开头或以 _test 结尾类: 以 Test 开头方法/函数: 以 _test 开头测试类中不可以添加构造函数, 若添加构造函数将导致Pytest无法识别类下的测试方法 断言 与Unittest不同, 在Pytest中我们需要使用python自带的 assert 关键字进行断言 assert…

CGAL中三角形曲面网格近似

1、介绍 此软件包实现了变分形状近似(VSA)方法,通过更简单的表面三角形网格来近似输入表面网格。该算法的输入必须是: 三角形分割;组合2流形 输出是一个三角形汤,可以构建成多边形曲面网格。 给定一个输入曲…

【GNSS】LAMBDA 模糊度搜索 MATLAB 工具箱使用笔记

文章目录 Part.I IntroductionChap.I 传送门Chap.II 工具箱下载 Part.II LAMBDA 3.0 工具箱Chap.I 文件结构Chap.II 简单使用 Part.III Ps-LAMBDA 1.0 工具箱Chap.I 文件结构Chap.II 简单使用 Part.IV 待解决的问题Reference Part.I Introduction 最近进行模糊度搜索方面的研究…

TensorFlow的实战(详细代码)

1 TensorFlow基础 1.1 TensorFlow概要 TensorFlow使用数据流式图规划计算流程,它可以将计算映射到不同的硬件和操作系统平台。 1.2 TensorFlow编程模型简介 TensorFlow中的计算可表示为一个有向图(计算图),其中每个运算操作为一个节点,每个…