大白话讲解:多模态大模型综述,通俗易懂!
多模态大型语言模型(Multimodal Large Language Models, MLLM)的出现是建立在大型语言模型(Large Language Models, LLM)和大型视觉模型(Large Vision Models, LVM)领域不断突破的基础上的。
这里给大家总结了多模态大模型的结构,训练,评估方法以及幻觉问题的解决办法,通俗易懂!!

多模态大型语言模型(Multimodal Large Language Models,MLLM)的出现是建立在大型语言模型(Large Language Models, LLM)和大型视觉模型(Large Vision Models,LVM)领域不断突破的基础上的。随着LLM在语言理解和推理能力上的逐步增强,指令微调、上下文学习和思维链工具的应用愈加广泛。然而,尽管LLM在处理语言任务时表现出色,但在感知和理解图像等视觉信息方面仍然存在明显的短板。与此同时,LVM在视觉任务(如图像分割和目标检测)上取得了显著进展,通过语言指令已能够引导模型执行这些任务,但推理能力仍有待提升。
MMLM的基本结构
典型的多模态大型语言模型(MLLM)通常由三个主要组件构成:预训练的多态编码器、预训练的LLM(大型语言模型)、以及连接这两者的多模态接口。多模态编码器负责处理不同模态的输入信号,比如视觉信号(图像编码器)或语音信号(音频编码器);LLM则负责对这些经过编码处理的信号进行理解和推理。多模态接口则起到桥梁作用,使得不同模态的信息能够在模型中有效对齐。此外,一些MLLM还配备了生成器,能够输出文本之外的其他模态内容,如图像或音频。

预训练的多模态编码器

1.1 模态编码器的功能与选择
模态编码器在MLLM中承担着将原始的多模态信息(如图像或音频)转换为紧凑表示的关键角色。与从零开始训练编码器相比,常见的做法是采用已经预训练的编码器,尤其是那些在大规模图像-文本对上预训练过的模型。例如,CLIP的视觉编码器部分就是一个经典的选择,其能够将图像信息有效转化为向量表示,并与文本信息对齐。不同的模型在编码器的选择和优化上各有侧重。
EVA-CLIP编码器
MiniGPT-4采用了EVA-CLIP编码器,这种编码器在性能上优于标准的CLIP,同时所需的训练成本更任。这主要归功于以下三个改进:首先,EVA-CLIP通过使用EVA模型的预训练权重来
初始化图像编码器,从而提升了起始性能;其次,使用了LAMB优化器,这种优化器特别适用于大批量训练,能够通过自适应元素级更新和层级学习率来提高训练效率并加速模型的收敛;最后,采用了FLIP技术,在训练过程中随机遮蔽50%的图像标记,从而大幅度减少了时间复杂度,使得批量大小可以增加一倍而无需额外的内存开销。
此外,EVA模型还通过一种名为MaskImage Modeling的任务在更大数据集上进行了训练,它将遮蔽部分的图像与CLIP模型对应位置的输出进行比对,从而在保持语义学习的同时,也能让模型学习到几何结构。EVA的这种训练方式证明了其能够有效扩展模型参数至十亿量级,并在广泛的下游任务中展现出色的性能。
基于卷积的ConvNext-L编码器
0sprey选择了基于卷积的ConvNext-L编码器,这种编码器能够利用更高分辨率和多层次特征,特别是在开放词汇分割任务中展现了较高的效率。在原文中提到,0sprey是基于像素级别的任务,如果直接使用ViT模型作为编码器,会受到计算负担的限制,图片大小通常只支持224或336。而基于CNN的编码器能够在支持高分辨率的同时保持较高的训练效率和推理速度,而不会牺牲性能。
无编码器的架构
Fuyu-8b就是采用了纯解码器转换器,图像块被线性投影到转换器的第一层,绕过了嵌入查找的过程,将普通Transformer解码器视为图像转换器。这样的设计使得Fuyu-8b对灵活输入的分辨率具有强大的适应性。
1.2 模态编码器的优化策略
在选择多模态编码器时,研究人员通常会考虑分辨率、参数规模和预训练语料库等因素。研究表明,使用更高分辨率的图像输入能够显著提升模型的表现。为了实现这一点,不同的模型采用了多种策略来优化编码器。
直接缩放输入分辨率
Qwen-VL和LLaVA-1.5都通过将图像分割成更小的图像块来提高模型的输入分辨率。具体而言,LLaVA-1.5使用了CLIPViT-L-336px编码器,并发现高分辨率能够提升模型性能。为了进一步优化,该模型将图像分割成视觉编码器原本训练时分辨率的小图像块,并分别对其进行编码,然后将这些特征图组合成一个大特征图,最终输入到LLM中。这种方式不仅保留了高分辨率的细节,还通过降采样图像的特征与合并后的特征图相结合,提供了全局上下文,从而提高了模型对任意分辨率输入的适应性。
Qwen-VL和LLaVA-1.5都通过将图像分割成更小的图像块来提高模型的输入分辨率。具体而言,LLaVA-1.5使用了CLIPViT-L-336px编码器,并发现高分辨率能够提升模型性能。为了进一步优化,该模型将图像分割成视觉编码器原本训练时分辨率的小图像块,并分别对其进行编码,然后将这些特征图组合成一个大特征图,最终输入到LLM中。这种方式不仅保留了高分辨率的细节,还通过降采样图像的特征与合并后的特征图相结合,提供了全局上下文,从而提高了模型对任意分辨率输入的适应性。



这份《多模志大模型综述》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
PDF书籍: 完整版本链接获取
👉[CSDN大礼包🎁:《
多模志大模型综述》免费分享(安全链接,放心点击)]👈

相关文章:
大白话讲解:多模态大模型综述,通俗易懂!
多模态大型语言模型(Multimodal Large Language Models, MLLM)的出现是建立在大型语言模型(Large Language Models, LLM)和大型视觉模型(Large Vision Models, LVM)领域不…...
大数据-184 Elasticsearch - 原理剖析 - DocValues 机制原理 压缩与禁用
点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…...
Java设计模式:工厂模式详解
引言 1. 工厂模式的定义 2. 工厂模式的类型 2.1 简单工厂模式 2.1.1 结构 2.1.2 示例代码 2.2 工厂方法模式 2.2.1 结构 2.2.2 示例代码 2.3 抽象工厂模式 2.3.1 结构 2.3.2 示例代码 3. 工厂模式的优点 4. 工厂模式的缺点 5. 实际应用场景 6. 总结 引言 工厂模…...
《Python游戏编程入门》注-第3章1
《Python游戏编程入门》的第三章是“I/O、数据和字体:Trivia游戏”,介绍了print()函数、input()函数、异常处理以及文件的输入输出,最后根据以上内容完成了Trivia游戏。 本章的“3.1 了解Trivia游戏”介绍了Trivia游戏的界面和玩法。“3.2 P…...
Java爬虫:获取数据的入门详解
在数字化时代,数据已成为最宝贵的资产之一。无论是市场研究、客户洞察还是产品开发,获取大量数据并从中提取有价值的信息变得至关重要。Java,作为一种成熟且功能强大的编程语言,为编写爬虫提供了强大的支持。Java爬虫可以帮助我们…...
GAMES104:17 游戏引擎的玩法系统:高级AI-学习笔记
文章目录 课前QA一,层次任务网络(Hierarchical Tasks Network,HTN)1.1 HTN Framework1.2 HTN Task Types1.2.1 Primitive Task基本任务1.2.2 Compound Task符合任务 1.3 Planning1.4 Replan1.5 总结 二,目标导向行为规…...
【Unity】Unity中获取网络时间进行每日和每月刷新
直接上代码 using System; using System.Collections; using System.Collections.Generic; using UnityEngine;public class DateChecker : MonoBehaviour {private DateTime lastCheckedDate; //上次刷新日数据的日期private DateTime lastMonthUtc; //上次刷新月数据的日期T…...
微信小程序上传组件封装uploadHelper2.0使用整理
一、uploadHelper2.0使用步骤说明 uploadHelper.js ---上传代码封装库 cos-wx-sdk-v5.min.js---腾讯云,对象存储封装库 第一步,下载组件代码,放置到自己的小程序项目中 第二步、 创建上传对象,执行选择图片/视频 var _this th…...
力扣每日打卡挑战 3184. 构成整天的下标对数目 I
给你一个整数数组 hours,表示以 小时 为单位的时间,返回一个整数,表示满足 i < j 且 hours[i] hours[j] 构成 整天 的下标对 i, j 的数目。 整天 定义为时间持续时间是 24 小时的 整数倍 。 例如,1 天是 24 小时,…...
The First:Starknet如何让以太坊更快更安全?
随着区块链技术需求的持续增长,当前技术在可扩展性和隐私保护方面的局限性愈发凸显,以太坊网络便是其中的典型代表。为有效应对这些挑战,第二层扩展解决方案的重要性日益凸显。这些方案旨在将部分交易处理转移至以太坊主链之外,以…...
【计算机网络 - 基础问题】每日 3 题(五十三)
✍个人博客:https://blog.csdn.net/Newin2020?typeblog 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞…...
便携式移动消防炮:灵活灭火新选择
在当今快速发展的社会中,火灾安全问题一直是公众安全的重要组成部分。无论是家庭、办公场所还是大型工业区,火灾的发生都可能带来不可预测的巨大损失,传统消防固定系统往往无法迅速适应多变的火场环境,特别是对于那些发生在高层建…...
18.VScode写Java项目的教程
VScode写Java项目的教程 1.首先必选先安装Java解释器2.安装插件Java Extension Pack3.创建项目创建项目结构选择项目类型 4.测试结果源码内容 今天用一台老式笔记本写代码,IDEA跑不动就准备用VScode突然间就蒙了,怎么创建项目啊?于是就有了这…...
本地生活便民信息服务小程序源码系统 PHP+MySQL组合开发 带完整的安装代码包以及搭建部署教程
系统概述 地方门户分类信息网站源码系统是一个基于PHP和MySQL开发的强大平台,旨在帮助用户轻松搭建地方性的分类信息网站。该系统集成了众多实用功能,支持用户自由发帖、浏览和搜索各类信息,如二手交易、求职招聘、房屋租售、生活服务、商家…...
Java项目实战II基于微信小程序的原创音乐平台{UNIAPP+SSM+MySQL+Vue}(开发文档+数据库+源码)
目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在数字音乐…...
【个人同步与备份】电脑(Windows)与手机/平板(Android)之间文件同步
文章目录 1. syncthing软件下载2. syncthing的使用2.1. 添加设备2.1.1. syncthing具备设备发现功能,因此安装好软件,只需确认设备信息是否对应即可2.1.2. 如果没有发现到,可以通过设备ID连接2.1.3. 设置GUI身份验证用户,让无关设备…...
代码随想录算法训练营第46期Day37,38,39,41
这几天晚上看比赛,就把刷题耽误了。还好是开新章节,前面的题都比较简单。 然后周天做完了又忘记发了 动态规划 确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数 Day37前两道题太简单…...
点跟踪论文—RAFT: Recurrent All-Pairs Field Transforms for Optical Flow-递归的全对场光流变换
点目标跟踪论文—RAFT: Recurrent All-Pairs Field Transforms for Optical Flow-递归的全对场光流变换 读论文RAFT密集光流跟踪的笔记 RAFT是一种新的光流深度网络结构,由于需要基于点去做目标的跟踪,因此也是阅读了像素级别跟踪的一篇ECCV 2020的经典…...
jmeter学习(6)逻辑控制器-循环
循环执行 1、循环读取csv文件的值 2、foreach 读取变量,变量数字后缀有序递增,通过counter实现 ${__V(typeId${typeIdNum})} beansell断言 String typeIdNum vars.get("typeIdNum"); String response prev.getResponseDataAsString(); …...
unity学习笔记-安装与部署
unity学习笔记-安装与部署 unity & visual studio下载unityvisual studio 创建工程项目内的布局介绍初始化项目各目录介绍1. 场景视图(Scene)2. 游戏视图(Game)3. 层次结构视图(Hierarchy)4. 检查器视图…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
CSS 工具对比:UnoCSS vs Tailwind CSS,谁是你的菜?
在现代前端开发中,Utility-First (功能优先) CSS 框架已经成为主流。其中,Tailwind CSS 无疑是市场的领导者和标杆。然而,一个名为 UnoCSS 的新星正以其惊人的性能和极致的灵活性迅速崛起。 这篇文章将深入探讨这两款工具的核心理念、技术差…...
Neo4j 完全指南:从入门到精通
第1章:Neo4j简介与图数据库基础 1.1 图数据库概述 传统关系型数据库与图数据库的对比图数据库的核心优势图数据库的应用场景 1.2 Neo4j的发展历史 Neo4j的起源与演进Neo4j的版本迭代Neo4j在图数据库领域的地位 1.3 图数据库的基本概念 节点(Node)与关系(Relat…...
