大白话讲解:多模态大模型综述,通俗易懂!
多模态大型语言模型(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. 检查器视图…...
轻量级嵌入式按键驱动库:BartOS-button设计与多平台实践
1. BartOS-button 库概述BartOS-button 是为 BartOS 嵌入式实时操作系统项目配套开发的轻量级按键驱动库,专为资源受限的 IoT 终端设备设计。该库不依赖特定硬件抽象层(HAL),采用纯 C 实现,支持裸机(Bare-m…...
pmap命令隐藏玩法:用-XX参数挖出Linux进程的所有内存秘密
pmap命令隐藏玩法:用-XX参数挖出Linux进程的所有内存秘密 当系统性能出现瓶颈时,开发者和运维工程师往往需要深入分析进程的内存使用情况。虽然常见的pmap -x命令能提供基本的内存映射信息,但真正的高手都知道,-XX选项才是揭开内…...
VIBE革命性视频人体姿态估计:CVPR2020获奖论文完整实现解析
VIBE革命性视频人体姿态估计:CVPR2020获奖论文完整实现解析 【免费下载链接】VIBE Official implementation of CVPR2020 paper "VIBE: Video Inference for Human Body Pose and Shape Estimation" 项目地址: https://gitcode.com/gh_mirrors/vi/VIBE …...
OpenClaw技能开发入门:为Qwen3.5-4B-Claude定制数学解题模块
OpenClaw技能开发入门:为Qwen3.5-4B-Claude定制数学解题模块 1. 为什么需要数学解题模块 去年辅导侄女做几何证明题时,我发现市面上大多数AI工具要么只能给出最终答案,要么解题步骤过于简略。作为一个喜欢折腾技术的程序员,我决…...
Virtuoso-DFF:从原理图到功能测试的全面解析
1. Virtuoso-DFF设计原理全解析 在数字电路设计中,D触发器(DFF)是最基础也最重要的存储单元之一。Virtuoso作为业界领先的集成电路设计工具,其DFF实现方式具有典型性和参考价值。我们先从最基础的结构说起。 一个标准的DFF通常由传…...
SpringBoot+Vue实战:手把手教你搭建苍穹外卖后台管理系统(含Nginx配置避坑指南)
SpringBootVue全栈实战:从零构建外卖管理系统与Nginx部署精要 每次打开招聘网站,看到"要求有完整项目经验"的字样时,你是否也感到一阵心虚?作为全栈开发的学习者,我们往往陷入一个怪圈:学了很多碎…...
手把手教你用春联生成模型中文base:网页界面操作,无需代码生成专业春联
手把手教你用春联生成模型中文base:网页界面操作,无需代码生成专业春联 春节将至,贴春联是中国家庭的传统习俗。但你是否遇到过这样的困扰:想写一副原创春联却缺乏灵感,上网搜索又发现千篇一律?现在&#…...
Fortran模块编译避坑指南:为什么你的.mod文件总是找不到?
Fortran模块编译避坑指南:为什么你的.mod文件总是找不到? 当你第一次尝试在Fortran项目中使用模块(module)时,很可能会遇到那个令人困惑的错误信息:"Cant open module file xxx.mod for reading"。这个看似简单的问题背…...
RAG-SQL Router实战:让AI智能判断文档与数据库查询,小白也能轻松搭建收藏版
本文介绍RAG-SQL Router系统,解决AI问答时判断信息来源(文档或数据库)的困境。通过LlamaIndex框架和OpenAI模型,实现智能路由决策,支持非结构化和结构化数据查询。提供完整代码和实战步骤,帮助开发者快速搭…...
告别环境混乱:Python3.9镜像实战教程,独立环境管理如此简单
告别环境混乱:Python3.9镜像实战教程,独立环境管理如此简单 1. 为什么需要Python3.9镜像 在Python开发中,最令人头疼的问题莫过于环境冲突。想象一下这样的场景:你正在开发一个需要TensorFlow 2.4的项目,但同时还要维…...
