多模态大型语言模型(Multimodal Large Language Models,MLLM)的诞生,依托于大型语言模型(Large Language Models,LLM)与大型视觉模型(Large Vision Models,LVM)领域的持续突破。随着LLM在语言理解及推理能力上的逐步强化,指令微调、上下文学习和思维链工具的应用愈发普遍。不过,即便LLM在处理语言任务时表现优异,但其在感知与理解图像等视觉信息方面仍存在显著不足。与之同步的是,LVM在图像分割、目标检测等视觉任务中已取得显著进展,通过语言指令可引导模型执行相关任务,然而其推理能力仍有提升空间。
一、MMLM 的基本结构
预训练的多模态编码器
1、模态编码器的核心功能与选型分析
在多模态大语言模型(MLLM)中,模态编码器的核心作用是将图像、音频等原始多模态信息转化为紧凑的特征表示。实际应用中,相较于从零训练编码器,更多采用预训练模型,尤其是在大规模图像-文本对中预训练的模型。以CLIP的视觉编码器为例,其能有效将图像信息转换为向量表示,并与文本信息实现语义对齐。不同模型在编码器的选型与优化方向上存在显著差异:
EVA-CLIP编码器的技术突破
MiniGPT-4采用的EVA-CLIP编码器在性能上超越标准CLIP,同时具备更低的训练成本,其优势源于三大改进:
- 预训练权重初始化:借助EVA模型的预训练权重初始化图像编码器,提升模型初始性能;
- LAMB优化器应用:该优化器适配大批量训练,通过自适应元素级更新和层级学习率优化,加速模型收敛;
- FLIP技术集成:训练中随机遮蔽50%的图像标记,大幅降低时间复杂度,使批量大小翻倍而不增加内存开销。
此外,EVA模型通过“Mask Image Modeling”任务在更大数据集上训练,将遮蔽图像区域与CLIP对应输出对比,既保留语义学习能力,又强化几何结构理解。这种训练方式支持模型参数扩展至十亿级,并在下游任务中表现优异。
基于卷积的ConvNext-L编码器特性
Osprey选择ConvNext-L编码器,其优势在于利用高分辨率和多层次特征,尤其在开放词汇分割任务中效率突出。若采用ViT模型,受限于计算负担,通常仅支持224×224或336×336分辨率图像;而CNN架构在支持高分辨率输入的同时,能兼顾训练效率与推理速度,不牺牲模型性能。
无编码器架构的创新设计
Fuyu-8b采用纯解码器Transformer架构,将图像块线性投影到Transformer第一层,绕过嵌入查找过程,直接将标准Transformer解码器作为图像转换器。该设计赋予模型对灵活输入分辨率的强适应性。
2、模态编码器的优化策略与技术路径
多模态编码器的选型需综合考虑分辨率、参数规模、预训练语料库等因素。研究表明,高分辨率图像输入可显著提升模型性能,不同模型通过以下策略实现优化:
直接缩放输入分辨率的实现方式
- LLaVA-1.5与Qwen-VL的分块策略:通过将图像分割为更小图块提升输入分辨率。例如,LLaVA-1.5使用CLIP ViT-L-336px编码器,将图像分割为适配视觉编码器训练分辨率的图块,分别编码后组合为大特征图输入LLM,同时结合降采样特征以提供全局上下文,增强对任意分辨率的适应性。
- CogAgent的双编码器机制:通过交叉注意力将高分辨率特征注入低分辨率分支,支持1120×1120分辨率图像输入,且仅需预训练高分辨率交叉模块,无需修改视觉语言模型其他部分,在DOC-VQA等任务中对小文字处理表现优于LLaVA-1.5和Qwen-VL。
分块法的典型应用
Monkey和SPHINX将大图像分块后与降采样高分辨率图像共同输入编码器:
- Monkey支持1344×896分辨率,将图像分为6个448×448图块输入ViT模型;
- SPHINX采用混合视觉编码器,同时编码高分辨率分块与低分辨率全图,兼顾局部与全局特征。
预训练LLM的发展趋势
多数MLLM的语言模型采用Causal Decoder架构(如GPT-3设计),典型模型包括:
- 早期应用:Flan-T5系列(如BLIP-2、InstructBLIP);
- 当前主流:开源LLaMA系列、Vicuna系列,中文场景下Qwen系列支持中英双语;
- 参数规模影响:LLaVA-1.5研究表明,LLM参数从7B增至13B可显著提升多任务性能,34B参数模型在英语多模态数据训练后展现零样本中文能力;
- 轻量化与稀疏架构:MobileVLM系列使用缩小版LLaMA(1.4B/2.7B)实现移动设备高效推理;混合专家(MoE)架构如MM1、MoE-LLaVA通过稀疏激活扩大参数规模,性能超越密集模型。
模态接口的对齐技术
受限于端到端训练成本,当前模型多采用两种模态对齐方法:
- 可学习连接器(Learnable Connector);
- 专家模型转换:将图像信息转为语言形式输入LLM。
常见模态对齐方法总结
- Token级融合
- 通过特征转Token后与文本Token连接,如BLIP-2的Q-Former提取视觉Token并压缩为少量表示向量;LLaVA等模型采用MLP接口投影视觉Token,对齐特征维度与词嵌入。
- 特征级融合
- 深度交互文本与视觉特征,如Flamingo在LLM的Transformer层间插入交叉注意力层,CogVLM在每层插入视觉专家模块实现双向融合。研究表明,Token级融合在VQA任务中性能更优,且实现更简洁。
- 专家模型融合
- 借助预训练模型(如BLIP-2)将图像转为文本描述,如Woodpecker、ChatCaptioner等。该方法虽高效,但存在信息损失风险,未来研究需聚焦减少转换损耗。
以Qwen-VL为例,其Q-Former模块参数仅占总参数的0.08B(<1%),但在模态对齐中起关键作用,凸显轻量级接口的重要性。
二、 MMLM 的训练策略和训练数据
在多模态大型语言模型(MLLMs)的开发过程中,训练策略和数据处理方法对于模型的性能提升至关重要。通常,训练分为三个主要阶段:预训练,指令微调和对齐微调。
1. 预训练
预训练的主要目标是对齐不同模态,同时让模型学习多模态世界中的丰富知识。这个阶段通常需要大规模的文本配对数据(如图像-文本对、音频-文本对),这些数据能够为模型提供广泛的上下文和世界知识。在预训练过程中,常见的输入格式是将一段描述性文本与对应的图像、音频或视频配对,通过交叉熵损失函数进行训练。这种方式确保了模型能够在不同模态之间建立有效的关联。
预训练的方法通常有两种:一种是冻结 LLMs 和视觉编码器,只训练模态接口,这样可以保留模型已有的预训练知识,代表性的模型有 LLaVA、LLaVA-med 和 Detgpt;另一种是开放视觉编码器的参数,在对齐过程中有更多的参数可以进行微调训练,这类方法通常在需要更精确对齐的任务中使用,代表性模型有 Qwen-VL、mPLUG-Owl 和 VisionLLM。
对于训练数据的处理,不同数据集的质量直接影响到模型的训练效果。低质量的数据集(如噪声较大的、简短的描述)通常使用低分辨率(如 224)的图像进行训练,以加快模型的训练进程;而高质量的数据集(如较长且干净的描述)则推荐使用高分辨率(如 448 或以上)的图像进行训练,以减少“幻觉”现象,即模型生成与实际输入不符的内容。例如,ShareGPT4V 的研究发现,在预训练阶段使用高质量的图像标题数据,并且解锁视觉编码器的参数,能够显著提高模型对齐的效果。
2. 指令微调(Instruction-tuning)
指令微调是训练 MLLMs 的另一关键阶段,其目的是让模型更好地理解和执行用户的指令。在这一阶段,模型通过学习如何泛化到未见过的任务,从而提升零样本的性能。与传统的监督微调相比,指令微调更加灵活,能够通过适应多任务提示来提高模型的广泛应用能力。这种训练策略在自然语言处理领域已经取得了成功,推动了如 ChatGPT、InstructGPT 等模型的发展。
2.1 指令微调的数据格式:
多模态指令样本通常包括一个可选的指令和一个输入-输出对。指令通常是一个描述任务的自然语言句子,例如:“详细描述这张图像”。输出是基于输入条件下对指令的回答。指令模板是灵活的,并且取决于人工设计。需要注意的是,指令模板也可以推广到多轮对话的情况。
2.2 指令微调的数据收集方式:
数据收集是训练多模态大型语言模型(MLLMs)过程中至关重要的一环,特别是在指令微调阶段。由于指令数据的格式多样化且任务描述复杂,收集这些数据样本通常更具挑战性且成本较高。目前,主要有三种方法用于大规模获取指令数据集。
数据适配(Data Adaptation)
这种方法利用现有的高质量任务特定数据集,并将其转换为指令格式的数据集。例如,对于 VQA(视觉问答)类数据集,可以将原始格式(图像+问题→答案)转换为指令格式(指令+图像+问题→答案)。许多工作,如 MiniGPT-4、LLaVA-med、InstructBLIP、X-LLM、Multi-instruct 和 M3it,都是通过这种方式来生成多模态指令数据集。具体而言,这些工作通常手动制作一个候选指令池,然后在训练时从中采样指令,以适应不同的任务需求。
自我指令(Self-Instruction)
这种方法通过利用大型语言模型(LLMs)生成指令数据,以应对实际场景中的人类需求。例如,LLaVA 采用自我指令方法,将图像转换为文本描述和边界框信息,然后通过纯文本的 GPT-4 生成新的指令数据,最终构建出一个名为 LLaVA-Instruct-150k 的多模态指令数据集。这种方法有效扩展了模型的指令理解能力,后续如 MiniGPT-4、ChatBridge、GPT4Tools 和 DetGPT 等工作也基于这一思路开发了适用于不同需求的指令数据集。
数据混合(Data Mixture)
除了多模态指令数据之外,一些研究还将纯语言的用户助手对话数据整合到训练过程中,以提升模型的对话能力和指令遵循能力。例如,mPLUG-Owl、Multimodal-gpt 和 LaVIN 直接通过从纯语言和多模态数据中随机采样来构建小批量数据集(minibatch)。MultiInstruct 则探索了单模态和多模态数据融合的不同策略,包括混合指令调优(结合两种类型的数据并随机打乱)和顺序指令调优(先使用文本数据,然后是多模态数据),从而提高了模型的综合表现。
2.3 数据质量
数据质量对于模型的训练效果也有显著影响。研究表明,在一个高质量的小型微调指令集上进行训练,往往比在一个大规模噪声数据集上进行训练效果更好。例如,在 Lynx 的研究中发现,高质量的数据集应包含丰富多样的提示,并涉及更多的推理任务,以充分发挥模型的潜力。
3. 对齐微调
为了提高多模态大型语言模型(MLLMs)在特定场景下的表现,对齐微调(Alignment Tuning)是一项不可忽视的关键步骤。对齐微调的目标是减少模型在生成过程中可能出现的“幻觉”现象,确保生成内容与输入信息保持一致。
在对齐微调中,**强化学习与人类反馈(RLHF)和直接偏好优化(DPO)**是两种常见的方法。
强化学习与人类反馈(RLHF)
RLHF 是一种通过强化学习算法使模型与人类偏好保持一致的技术,它通过监督微调、奖励建模和强化学习三个步骤完成模型的训练。例如,InstructGPT 在 RLHF 框架下,通过人类标注数据进行监督微调,并在训练过程中利用 PPO(Proximal Policy Optimization)算法优化模型的响应质量。
直接偏好优化(DPO)
DPO 则通过使用简单的二元分类损失从人类偏好标签中学习,简化了传统 RLHF 的流程,不需要显式的奖励模型,从而将整个对齐微调过程简化为人类偏好数据收集和偏好学习两个步骤。
在偏好学习中,模型需要基于给定的多个选项,判断哪个选项更受偏好,或者对选项进行偏好排序。通过这种方法,模型能够逐步优化其参数,使其生成的内容更符合人类的预期。这种学习方式不仅在任务中取得了良好的效果,还在应对复杂场景时表现出色。
除了 RLHF 和 DPO,RLHF-V 和 Silkie 也引入了新的技术,通过纠正模型中的幻觉来收集更细粒度的偏好数据。RLHF-V 通过段落级别的幻觉纠正来生成偏好数据对,而 Silkie 则利用 GPT-4V 来收集偏好数据,并通过 DPO 将这些偏好蒸馏到经过指令微调的模型中,从而进一步提高了模型的对齐效果。
对齐微调的数据收集
在对齐微调的数据集方面,LLaVA-RLHF 通过人类反馈收集了 10,000 对偏好数据,主要关注模型响应的诚实性和有用性。RLHF-V 收集了 5,700 条细粒度的人类反馈数据,特别是针对段落级别的幻觉进行纠正。VLFeedback 则利用 AI 来为模型的响应提供反馈,包含超过 380,000 对比较数据,这些对比是由 GPT-4V 根据有用性、忠实度和伦理问题进行评分的。
三、MMLM 的性能评估方法
在多模态大型语言模型(MLLMs)的开发过程中,评估模型性能是确保其应用效果的重要步骤。与传统的多模态模型评估方法相比,MLLMs 的评估具有一些新的特征,主要体现在对模型多功能性的全面评估以及对新兴能力的特别关注。
1. 封闭式问题
封闭式问题的评估通常针对特定任务数据集进行,评估设置可以分为零样本设置和微调设置两种。在零样本设置中,研究者选择涵盖不同任务的数据集,将其分为保留集(held-in)和留出集(held-out),在前者上进行调整后,在后者上评估模型的零样本性能。微调设置则常见于特定领域的任务评估,例如 LLaVA 和 LLaMA-Adapter 在 ScienceQA 上的微调表现,LLaVA-Med 在生物医学 VQA 上的性能等。
为了解决这些方法在少数选定任务或数据集上的局限性,研究者们开发了专门为 MLLMs 设计的新基准。例如,MME 是一个包括 14 个感知和认知任务的综合评估基准,而 MMBench 则通过使用 ChatGPT 将开放式响应与预定义选项进行匹配。对于视频领域的应用,Video-ChatGPT 和 Video-Bench 提供了专注于视频任务的专门基准和评估工具。
1. 开放式问题
开放式问题的评估更为灵活,通常涉及 MLLMs 在聊天机器人角色中的表现。由于开放式问题的回答可以是任意的,评判标准通常分为人工评分、GPT 评分和案例研究三类。
- 人工评分 需要人类评估生成的回答,通常通过手工设计的问题来评估特定方面的能力。例如,mPLUG-Owl 收集了一个视觉相关的评估集,用于判断模型在自然图像理解、图表和流程图理解等方面的能力。
- GPT 评分 则探索了使用 GPT 模型进行自动评分的方法。这种方法通过让 GPT-4 从不同维度(如有用性和准确性)对模型生成的回答进行评分。例如,LLaVA 的评分方法使用 GPT-4 对不同模型生成的答案进行比较,并通过 COCO 验证集中抽样的问题进行评估。
- 案例研究 作为补充评估方法,通过具体案例比较 MLLMs 的不同能力。研究者们通常选择两个或多个高级商用模型进行对比,分析它们在复杂任务中的表现。例如,Yang 等人对 GPT-4V 进行了深入分析,涵盖了从基础技能(如描述和物体计数)到需要世界知识和推理的复杂任务(如理解笑话和室内导航)的评估。
能力扩展
能力扩展 是 MLLMs 研究中的一个重要方向。为了更好地与用户交互,研究者开发了支持更精细粒度控制的模型,从 Image 演变到 Region 级别(如 Shikra、GPT4ROI、Pink),甚至像素级别(如 Osprey、Glamm、Ferret)的输入和输出支持。例如,Shikra 支持用户通过引用图像的特定区域(以边界框表示)进行交互,而 Osprey 则利用分割模型 SAM 支持点输入,实现了对单个实体或其部分的精确定位。
此外,MLLMs 正在被扩展以支持更多的模态输入和输出。例如,ImageBind-LLM 支持编码图像、文本、音频、深度图、热成像和惯性测量单元(IMU)数据,而 Next-gpt 和 Emu 等模型则可以生成多模态响应,如图像、语音和音频。
四、MMLM 的幻觉问题及其缓解方法
在多模态大型语言模型(MLLMs)的生成过程中,幻觉问题(即模型生成的内容与实际输入不符的现象)是一个亟需解决的挑战。幻觉问题主要包括三种类型:存在性幻觉(模型错误地声称图片中存在某些对象)、属性幻觉(模型错误描述对象的某种属性)以及关系幻觉(模型错误描述对象之间的关系,如位置或动作)。这些问题对 MLLMs 的输出质量和可信度造成了严重影响,因此,研究者们提出了多种缓解幻觉的方法。
1. 幻觉评估方法
传统的评估方法,如 BLEU、METEOR、TF-IDF 等,主要基于生成内容与参考描述的相似度,但在处理幻觉问题时显得力不从心。为了更准确地评估幻觉现象,新一类的评估指标应运而生。
CHAIR(Caption Hallucination Assessment with Image Relevance)是一种早期的评估开放式图像描述中幻觉程度的指标,它通过测量句子中包含幻觉对象的比例来判断模型的准确性。
POPE 通过构建多个二元选择的提示,询问图像中是否存在特定对象,以评估模型的鲁棒性。MME 则提供了更全面的评估,涵盖了存在性、数量、位置和颜色等方面的幻觉评估。HaELM 提出了使用纯文本大语言模型(LLMs)作为判断者,自动决定 MLLMs 生成的描述是否与参考描述相符
FaithScore 基于将描述性子句分解并单独评估每个子句的准确性,从而以更细粒度的方式评估生成内容。
2. 幻觉缓解方法
幻觉缓解方法分为预校正、过程中校正和后校正三种策略。
预校正:通过收集专门设计的数据集(包括负面数据)并对模型进行微调,以减少幻觉的产生。例如,LRV-Instruction 引入了一个视觉指令调优数据集,除了常见的正面指令外,还包括不同语义层面的负面指令,以此来鼓励模型生成与图像内容更一致的回应。
过程中校正:这类方法希望通过分析和控制幻觉产生的原因,在生成过程中进行校正。例如,HallE-Switch 通过对比原始视觉输入与扭曲视觉输入的输出分布,来减少模型对统计偏差和语言先验的过度依赖,从而降低幻觉发生的可能性。VCD 则通过设计放大然后对比的解码方案,确保生成内容与视觉输入紧密结合,显著减轻了模型中的幻觉问题。
后校正:这种方法在输出生成后对幻觉进行纠正。Woodpecker 是一个无需训练的通用幻觉校正框架,通过结合专家模型补充图像的上下文信息,逐步纠正生成内容中的幻觉。LURE 则训练了一个专门的校正器,通过遮蔽描述中不确定性高的对象,重新生成更准确的响应。
五、如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。