LLM - 理解 多模态大语言模型 (MLLM) 的发展与相关技术 (一)

news2024/12/21 20:10:54

欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://spike.blog.csdn.net/article/details/142063880

免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。


多模态大语言模型 (Multimodal Large Language Models, MLLM),例如 GPT-4V,使用 大语言模型 (LLM) 作为内核,执行多模态任务。常见多模态任务,包括看图讲故事、不需要 OCR 的数学推理等,同时,需要注意多模态 幻觉 (Hallucination) 的问题,以及扩展的多模态技术,如 多模态的上下文学习 (In-Context Learning),多模态的思维链 (Chain of Thought),大语言模型辅助的视觉推理 (LLM-Aided Visual Reasoning) 等。MLLM 的核心概念,即网络架构 (Architecture)、训练策略 (Training Strategy)、数据 (Data)、评估 (Evaluation),关注大模型的涌现能力 (Emergent Ability),以及融合大语言模型与大视觉模型 (Large Vision Models, LVM) 的方法。其中,常见的视觉任务包括:

分割任务 (Segmentation),相关技术:

  • SAM: Segment Anything
  • SAM2: SAM 2: Segment Anything in Images and Videos

检测任务 (Detection),相关技术:

  • DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection,2022-6-11,香港科技大学

  • Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection

    • DINO: DETR with Improved deNoising anchOr boxes
    • DETR: DEtection TRansformer
  • DINOv2: Learning Robust Visual Features without Supervision

目前 CV 任务主要分为 2 类,即判别式 (Discriminative) 和 生成式 (Generative),判别式参考 CLIP 相关模型,生成式参考 OFA 相关模型。

  • CLIP: Learning Transferable Visual Models From Natural Language Supervision
  • OFA: Unifying Architectures, Tasks, and Modalities Through a Simple Sequence-to-Sequence Learning Framework, ICML-2022

同样的,MLLM 也属于生成式的模型,但是,与传统的模型相比,表现出 2 个代表性特征,即:

  1. MLLM 基于具有 十亿规模 (Billion-Scale) 参数的 LLM,这在以前的模型中没有使用,可以更好的执行推理任务。
  2. MLLM 使用新的训练范式来释放其全部潜力,例如使用 多模态指令微调 (Multimodal Instruction Tuning),以鼓励模型遵循新的指令。

其中,多模态指令微调 (Multimodal Instruction Tuning) 的相关技术,如下:

  • LLM 指令微调,参考 FLAN: Finetuned Language Models Are Zero-Shot Learners - ICLR-2022 Google Research
  • 多模态的 LLM 指令微调,参考 LLaVA (Large Language and Vision Assistant) : Visual Instruction Tuning - NeurIPS-2023 Microsoft Research

MLLM 的一些研究方向,包括:

  1. 更好的 颗粒度(Granularity) 支持,开发对于用户提示的更精细控制,通过方框或点击,支持特定区域或对象。
  2. 增强对输入和输出模态的支持,如图像、视频、音频和点云。除了多模态的输入,例如 NExT-GPT 项目,进一步支持多模态的输出。
  3. 改进语言支持,努力将 MLLMs 的成功延伸到其他语言,例如中文,尽管训练语料相对有限。
  4. 扩展到更多领域和使用场景,将 MLLMs 的强大能力转移到其他领域,如医学图像理解和文档解析。

医学领域的相关进展:

  • Llava-med: Training a large language-and-vision assistant for biomedicine in one day, 2023.6.1
  • Med-flamingo: a multi-modal medical few-shot learner, 2023.6.27
  • Pmc-vqa: Visual instruction tuning for medical visual question answering, 2023.5.29

MLLM 发展的时间线 (至 2024 年):

MLLM

SAM 系列 1~2

Paper:

  • SAM: Segment Anything
  • SAM2: SAM 2: Segment Anything in Images and Videos

SAM 模型 (Model) 包括 3 个部分:

  1. 任务:具有提示的分割任务
  2. 模型:分割模型:支持数据标注,以及,通过提示词工程 Zero-Shot 迁移至一系列任务。
  3. 数据:数据引擎 (SA-1B):收集超过10 亿个 Mask。

参考:

SAM

SAM 架构 (Architecture): 重量级 (Heavy Weight) 的图像编码器,输出图像嵌入编码,通过多种输入提示词,进行高效查询,以实时速度生成目标 Mask。多于一个目标的模糊提示,SAM 可以输出多个有效 Mask 及其关联的置信度分数。参考:

SAM

轻量级的掩码解码器 (Lightweight Mask Decoder):

  1. 通过 2 层解码器,通过交叉注意力,更新图像嵌入和提示 Token。
  2. 图像嵌入被放大,更新后的输出 Token,用于动态预测 Mask。
  3. 为保持图示清晰:在每个注意力层中,位置编码被添加到图像嵌入中,整个初始提示 Token (包括位置编码) 重新添加到 Token 的 Query 和 Key中。

LMD

SAM2 模型:

  1. 任务:具有提示的视觉分割任务。
  2. 模型:SAM2 通过已存储先前提示和预测结果的 流式记忆(Streaming Memory),交互式地在一个或多个视频帧上,通过提示,如点击、Box 或Mask,分割区域。
  3. 数据集:大规模 SA-V 数据集 (50.9K Videos)。

如图:

SAM2

SAM2 架构:对于给定帧,分割预测依赖于当前提示或先前观察的记忆。视频以流式方式处理,图像编码器一次处理一帧,与之前帧中目标对象的记忆,进行 交叉注意(Cross-Attended)。Mask 解码器,可选的也接受输入提示词,预测该帧的分割 Mask。最后,记忆编码器,转换预测和图像编码器的嵌入,用于在未来帧中使用。如图:

SAM2

记忆 Attention (Memory Attention:除了正弦绝对位置嵌入外,在自注意力和交叉注意力层中,使用二维空间旋转位置嵌入 (RoPE)。目标指针 Token 不使用 RoPE,因为没有特定的空间对应关系。默认情况下,记忆注意力使用 L = 4 层。

Mask 解码器架构:设计与 SAM 相似,并且在上采样过程中,额外包括来自图像编码器的 stride 4 和 8 的特征 (引入多尺度特征)。同时,使用与输出 Mask 相应的 Mask Token,作为对象指针,并且生成遮挡评分,以指示感兴趣的目标,在当前帧中是否可见。

MD

DINO 系列

Paper:

  • DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection,2022-6-11,香港科技大学

  • Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection

    • DINO: DETR with Improved deNoising anchOr boxes
    • DETR: DEtection TRansformer
  • DINOv2: Learning Robust Visual Features without Supervision

Grounding DINO (定位 DINO): 开放集检测 (Open-Set Detection) 的关键,在于引入语言信息以实现对未见物体的泛化。大多数现有的开放集检测器,都是通过将封闭集检测器,扩展到带有语言信息的开放集场景来开发的。特征融合可能发生在以下三个阶段中:Neck (Phase A)、Query Initialization (Phase B) 和 Head (Phase C)。举例来说,GLIP 选择了Phase A,而 OV-SETR 选择在 Phase B 进行模型融合。封闭集检测器通常有三个重要模块:

  1. 用于特征提取的主干网络 (Backbone)
  2. 用于特征增强的颈部 (Neck) 网络
  3. 用于区域细化或框预测的头部 (Head) 网络。

封闭集检测器可以通过学习语言感知的区域嵌入,泛化检测新物体,使得每个区域,都可以在语言感知的语义空间中被分类到新的类别中。实现这一目标的关键是,在颈部或头部输出中,计算 区域输出(Region Outputs) 与 语言特征(Language Features) 之间的对比损失。

DINO

Grounding DINO 架构,不同的特征融合方式,分别应用在 3 个阶段:

  • Phasa A:设计结合 Self-Attention、Text-to-Image Cross-Attention、Image-to-Text Attention 的特征 Enhancer 应用在 Neck 中。
  • Phasa B:设计 Language-Guided Query Selection 用于初始化 Head 的 Query。
  • Phasa C:设计跨模态的 Decoder 用于 Head 部分,从而增强 Query 特征表达。

即:

DINO

OFA (早期的视觉多模态)

Paper: OFA: Unifying Architectures, Tasks, and Modalities Through a Simple Sequence-to-Sequence Learning Framework, ICML-2022

OFA,One For All,融合视觉文本任务、视觉任务、语言任务的预训练任务,包括视觉定位 (Visual Grounding)、定位描述 (Grounded Captioning)、图文匹配 (Image-Text Matching)、图像描述 (Image Captioning)、视觉问答 (VQA)、目标检测 (Object Detection)、图像填充 (Image Infilling) 以及文本填充 (Text Infilling),即:

OFA

指令微调 (Instruction Tuning)

Paper:

  • LLM 指令微调,参考 FLAN: Finetuned Language Models Are Zero-Shot Learners - ICLR-2022 Google Research
  • 多模态的 LLM 指令微调,参考 LLaVA (Large Language and Vision Assistant) : Visual Instruction Tuning - NeurIPS-2023 Microsoft Research

FLAN 示例:

FLAN

FLAN 与其他模式的对比:

FLAN

视觉指令微调 LLaVA 网络架构:

LLaVA

参考:

  • 知乎 - 十分钟解读Grounding DINO-根据文字提示检测任意目标
  • GitHub - Awesome-Multimodal-Large-Language-Models

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

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

相关文章

揭秘世界上那些同时横跨两大洲的国家

我们在《世界人口过亿的一级行政区分布》盘点全球是那些人口过亿的一级行政区。 现在我们介绍五个横跨两州的国家,并整理七大洲和这些国家的KML矢量数据分析分享给大家,如果你需要这些数据,请在文末查看领取方式。 世界上横跨两大洲的国家 …

【Python报错已解决】SyntaxError: positional argument follows keyword argument

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路 二、解决方法2.1 方法一:调整参数顺序2.2 步骤二…

excel分列

Excel中有这么几列,希望将每一列内容再分出3列: 可以通过以下步骤在 Excel 表格中将 B 到 F 列的内容拆分为每列的 3 列,分别为 pred_label、pred_score 和 pred_class: 确定数据结构:假设 B 列到 F 列中的内容都是按类…

洛谷 P10798 「CZOI-R1」消除威胁

题目来源于&#xff1a;洛谷 题目本质&#xff1a;贪心&#xff0c;st表&#xff0c;单调栈 解题思路&#xff1a;由于昨天联练习了平衡树&#xff0c;我就用平衡树STL打了个暴力&#xff0c;超时得了30分 这是暴力代码&#xff1a; #include<bits/stdc.h> using name…

小琳AI课堂:多模态模型的训练与应用

引言 大家好&#xff0c;这里是小琳AI课堂。今天我们将探讨一个热门且前沿的话题——多模态模型的训练与应用。让我们一起走进这个复杂而精致的艺术创作过程&#xff01; 训练关键步骤 1. 数据收集与预处理 准备工作&#xff1a;从多种来源和模态收集数据&#xff0c;如文…

苍穹外卖()

day1 软件开发整体介绍 软件开发流程&#xff1a;需求分析&#xff08;需求规格说明书、产品原型&#xff09;->设计&#xff08;UI设计、数据库设计、接口设计&#xff09;->编码&#xff08;项目代码&#xff0c;单元测试&#xff09;->测试&#xff08;测试用例、…

C++:入门篇(补充C语言中的不足)

前言 这篇文章是C的第一篇文章&#xff0c;主要是补充C语言中存在的不足而扩展的一些新的语法&#xff0c;有了这篇文章作为杂序&#xff0c;后面再介绍其他内容就要清晰地多 C&#xff1a;入门篇 一、namespace 命名空间&#xff08;一&#xff09;域的概念&#xff08;二&…

【深度学习讲解笔记】第1章-机器学习基础(2)

模型与函数构造 之前讲到&#xff0c;模型是由机器学习决定参数值的函数&#xff0c;通过训练&#xff0c;机器可以找出最好的一组参数使得函数的输出最优。常见的模型有线性模型&#xff0c;指数模型&#xff0c;对数模型等。在线性模型中&#xff0c;w和b是可学习的参数&…

【Hadoop|HDFS篇】DataNode概述

1. DataNode的工作机制 1&#xff09;一个数据块在DataNode上以文件形式存储在磁盘上&#xff0c;包括两个文件&#xff0c;一个是数据本身&#xff0c;一个是元数据包括数据块的长度&#xff0c;块数据的校验和&#xff0c;以及时间戳。 2&#xff09;DataNode启动后向NameNod…

象过河在线进销存软件——简单、高效、智能,让生意更简单!

仓库管理&#xff0c;曾是我心中的一大“乱麻”——库存不清、数据混乱、出入库效率低... 但自从邂逅了【象过河在线进销存软件】&#xff0c;一切都变得那么简单、高效、智能&#xff01; 象过河在线进销存软件优势&#xff1a; 1、界面简洁&#xff0c;流程简单 作为亲身体…

【时时三省】(C语言基础)指针进阶 例题4

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 strlen是求字符串长度 这个需要算上&#xff3c;0 第一个arr 是打印6 因为它加上&#xff3c;0是有六个元素 第二个arr0 数组名相当于首元素的地址 a的地址加0还是a的地址 所以这个地方还是…

Linux日志-kdump日志

作者介绍&#xff1a;简历上没有一个精通的运维工程师。希望大家多多关注作者&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 Linux 系统中的日志是记录系统活动和事件的重要工具&#xff0c;它们可以帮助管理员监视系统状态、调查问题以及了解系统运行…

IDEA Maven 源修改为国内阿里云镜像的正确方式

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storm…

RT-Thread Nano版本在STM32F103RB上的快速移植

目录 概述 1 RT-Thread Nano 1.1 Nano版本介绍 1.2 RT-Thread Nano的特点 2 STM32Cube 创建工程 2.1 STM32Cub配置板卡参数 2.2 项目程序架构 3 移植RT-Thread 3.1 Keil IDE加载RT-Thread 3.2 解决上面两个ERROR 3.2.1 ERROR-1: 3.2.2 ERROR-2 3.3 移植FINSH 3.4…

数据结构与算法-morris遍历

morris遍历的优点在于节省空间&#xff0c;因为不需要递归。 public class MorrisTraversal {public static void main(String[] args) {Node head new Node(4);head.left new Node(2);head.right new Node(6);head.left.left new Node(1);head.left.right new Node(3);h…

实验二 局域网与互联网的连接

一、实验目的 1.掌握网络工程中网络拓扑设计与设备选型 2.掌握局域网与互联网的连接技术。 3.掌握访问控制规则的设置方法。 二、实验描述 某中学校园网网络初步规划如下&#xff1a;学生机房使用192.168.10.0/24网段&#xff1b;办公主机使用192.168.20.64/29网段&#x…

基于JAVA+SpringBoot+Vue的企业级工位管理系统

基于JAVASpringBootVue的企业级工位管理系统 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末附源码下载链接&#x1f345; …

C++之运算符

除法 / 结果的数据类型与除数 被除数 保持一致 &#xff08;除数即分母 不能为0&#xff09; 取模取余数 % &#xff08;除数即分母 不能为0&#xff09; a a 赋值运算符 逻辑运算符&#xff1a;非 与 或 非&#xff1a; 与&#xff1a;同真为真&#xff0c;其余为假 或&am…

大模型背后的秘密武器:向量数据库引领数据革命

在探讨为何向量数据库会成为大模型热潮中的基础设施之前,我们首先需要深入理解非结构化数据的本质、其迅猛增长的动因,以及这一趋势如何驱动了数据存储与检索技术的革新。随着人工智能(AI)技术的飞速发展,特别是在自然语言处理(NLP)、计算机视觉(CV)等领域的突破性进展…

.net 调用海康SDK实现NVR录像视频的下载

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,最近一直被测试拿捏,痛苦的挣扎中… 我们面对的不仅仅是技术还有人心,人心不可测,海水不可量,唯有技术,才是深沉黑夜中的一座闪烁的灯…