当前位置: 首页 > news >正文

多模态大模型 - MM1

1. 摘要

本文主要通过分析模型结构和数据选择讨论如何构建一个好的多模态大模型(MLLM),并同时提出了MM1模型,包括30B dense版本和64B的MoE版本。
具体贡献:

  • 模型层面:影响效果的重要性排序为:image resolution,visual encoder loss和capacity和visual encoder预训练数据。multimodal预训练数据类型:image caption,interleaved image-text和text-only。
    • 在few-shot和text-only上的表现:interleaved image-text和text-only两种数据最为重要。
    • 在zero-shot上的表现:image caption数据最为重要。

以上两种特性,在SFT阶段也有体现。

  • 通过扩大LLM大小的方式进行scale up。模型大小分别有3B,7B,30B等。

2. 方法和实验

2.1 简介

在这里插入图片描述
这部分主要探索三个(结构,数据和训练步骤)对多模态大模型效果的影响,

  • 模型基础配置:
    • Image Encoder:ViT-L/14模型,训练loss为clip loss,训练数据DFN-5B和VeCap-300M,image size为336*336
    • Vision-Language Connector:C-Abstractor,最大输出144 image token。
    • Pre-training Data:45% image caption数据,45% interleaved image-text数据和10% text-only数据。
    • Language Model: 1.2B transformer decoder-only模型。

2.2 模型结构影响

2.2.1 Image Encoder Pre-training

Image Encoder的选择对多模态大模型的预训练和微调都有很大的影响。
在这里插入图片描述

  • contrastive loss:能让image encoder学习到语义知识。示例模型:CLIP
  • Reconstructive loss:在一些dense prediction上,clip类模型很难达到很好的效果,比如说VQA和caption,这类任务需要对image有很好的理解。示例模型:AIM
  • 小结:
    • Image resoluton最为重要,其次是model size和训练数据组成。从上图中可以看出,增加image resolution效果最为明显,而增加model size和数据效果提升在1%左右。
    • 模型类型:对比学习loss训练的模型比reconstructive loss训练的模型效果要好。但这个结论并不确定,因为AIM模型训练数据较少。

2.2.2 Vision-Language Connector and Image Resolution

  • 配置

    • 使用64或144个token代表每个image,
    • 有两个不同的resolution:224和336.
    • 结构选择:
      • average pooling:对ViT输出结果使用n*n average pooling,然后接上linear projection。(n=[8, 12])
      • attention pooling:使用k learnable queries,通过改变k来改变输出到LLM的image token数。k=[64, 144]
      • Convolutional mapping:C-Abstractor module:ResNet block,through adaptive pooling can change the number of image tokens。
  • 小结:visual token数和image resolution最为重要,VL connector有少量影响。在instruction tuning阶段,这三种结构在不同的分辨率和image token时有着相似的结果。
    在这里插入图片描述

2.3 预训练数据影响

在这里插入图片描述

  • 小结:
    在这里插入图片描述

    • Interleaved data对few-shot和text-only的表现最为重要,captioning data对zero-shot表现比较重要。
    • Text-only数据对few-shot和text-only表现有帮助。
    • 细致的混合image和text数据能够得到最优的多模态性能和好的文本性能。最好的比例为caption:interleaved:text=5:5:1。
    • 合成数据对few-shot有帮助。

2.4 训练步骤

  • 模型参数和学习率关系:
    在这里插入图片描述
    具体关系如下:
    在这里插入图片描述

3. 结论

  • MM1模型预训练参数:
    • Image Encoder:ViT-H,分辨率378*378,训练数据DFN-5B,CLIP objective
    • Vision-Language Connector:VL connection with 144 tokens,选择用C-Abstractor
    • Data:45% interleaved image-text documents, 45% image-text pair documents, and 10% text-only documents.
    • 超参:batch size=512,max sequence lenght=4096,
    • LR schedule:在初始的2000步,linear warmup,然后在2e5训练步数中降到10%。
    • 使用AdamW优化器,在30B模型训练中,加上z-loss。
  • pretrain 效果如下:
    在这里插入图片描述
  • SFT数据配比:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

参考文献

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

http://www.lryc.cn/news/400368.html

相关文章:

  • FPGA设计之跨时钟域(CDC)设计篇(2)----如何科学地设计复位信号?
  • GPS北斗标准时钟同步服务器结构是什么?安徽京准
  • 9.5 栅格图层符号化多波段彩色渲染
  • 力扣第九题
  • 鞭炮插画:成都亚恒丰创教育科技有限公司
  • python 循环
  • 映美精黑白相机IFrameQueueBuffer转halcon的HObject
  • Linux的load(负载)
  • 杜比全景声——空间音频技术
  • C 语言指针进阶
  • SpringBootWeb 篇-入门了解 Swagger 的具体使用
  • Python面试题:如何在 Python 中处理大数据集?
  • C++:入门基础
  • 微信小游戏 彩色试管 倒水游戏 逻辑 (二)
  • 【链表】算法题(一) ---- 力扣 / 牛客
  • Linux系统之部署盖楼小游戏
  • “金山-讯飞”杯2024年武汉理工大学程序设计竞赛 A. Mobiusp败走***(思维题-点双连通分量、连通性)
  • 【机器翻译】基于术语词典干预的机器翻译挑战赛
  • 推荐系统:从协同过滤到深度学习
  • 记录些Spring+题集(1)
  • SpringBoot 解决 getSession().getAttribute() 在负载均衡环境下无法获取session的问题
  • Jmeter常用组件及执行顺序
  • PTrade常见问题系列10
  • 数据结构(4.4)——求next数组
  • 《mysql篇》--JDBC编程
  • android studio 怎么下载 buildTool
  • copy 和 mutableCopy 有点乱
  • sqlalchemy通过查询参数生成query
  • 【JavaScript 算法】二分查找:快速定位目标元素
  • 论文研读:ViT-V-Net—用于无监督3D医学图像配准的Vision Transformer