当前位置:   article > 正文

多模态大模型入门指南_多模态模型入门

多模态模型入门

1、引言

1.1 多模态LLMs 的现状

最近,多模态大模型取得重大进展。随着数据集和模型的规模不断扩大,传统的 MM 模型带来了巨大的计算量,尤其是从头开始训练的话。研究人员意识到 MM 的研究重点工作在各个模态的连接上,所以一个合理的方法是利用好现成的训练好的单模态基础模型,尤其是 LLM。这样可以减少多模态训练的费用,提升训练效率。

MM-LLM 利用 LLM为各种 MM 任务提供认知能力。LLM 具有良好的语言生成,zero-shot 和 ICL 的能力。其他模态的基础模型则提供了高质量的表征。考虑到不同模态的模型是分开训练的,如何将不同模态连接起来,实现协同推理,是核心挑战。

这里面的主要工作便是通过多模态预训练和多模态的指令微调,来实现模态之间的对齐,以及模型输出与人类意图的对齐。

1.2 多模态的发展历程

在这里插入图片描述

关于多模态的发展主要有:

  • 最初的发展集中在多模态的内容理解和文本的生成:Flamingo,BLIP-2, Kosmos-1,LLaVA/LLaVA-1.5/LLaVA-1.6,MiniGPT-4,MultiModal-GPT,Video-Chat,VIdeo-LLaMA,IDEFICS,Fuyu-8B,Qwen-Audio

  • 同时实现多模态的输入和输出工作 MM-LMM,探索特定模态的生成,例如 Kosmos-2,Mini-GPT5,以及语音生成的 SpeechGPT

  • 将 LLM 和外部工具继承进来,实现“any-to-any”的 多模态理解和生成。visual-chatgpt,ViperGPT,MM-React,HuggingGPT,AudioGPT

  • 同样,有为了减少级联过程中传播误差的工作,有 NExT-GPT 和 CoDI-2,来开发任意模式的多模态模型

1.3 内容结构:

本文接下来的机构如下所示。第二节讲模型架构,第三节讲训练流程。

第二节模型架构分为五部分,不同模态的编码器 Encoder,输入 Projector,LLM 骨干,输出 Projector,不同模态的生成器。

训练流程包含连个部分,预训练流程和指令微调部分。同时提供了主流的数据集的介绍。

第四节,讨论 26 个最先进的多模态模型。

2.模型结构

在这里插入图片描述
如图 2 所示,这里包含了通用多模态模型结构的五个组件部分,以及每个组件部分的常用选择。多模态理解主要是前三个部分。(模态对齐)训练期间,encoder,LLM Backbone 和 generator 一般保持冻结。主要优化输出和输出的 projector。由于Projector 是轻量级的模块,MM-LLMs 中可以训练的参数比例和总参数相比非常小(2% 左右),模型的总体参数规模取决于LLM 部分。

这里对论文的内容进行更正,目前有的多模态大模型,也会对 Encoder,甚至 LLM 进行训练,来提升整体的模型的能力。

2.1 Modality Encoder

模态编码器主要是对来自不同模态的输入进行编码,来获得相应的特征:

F X =ME X (I X )

存在各种预训练的编码器来处理不同的模态,模态可以是图像,视频,音频,3D 等。

视觉模态:

对于图像,一般有四个可选的编码器,NFNet-F6,ViT,CLIP VIT,EVA-CLIP ViT。

  • NFNet-F6:是一个无归一化的 ResNet 网络,可以在增强过的数据集上获得 SOTA 的图像识别的性能。

  • VIT:采用 transformer 模型,将 image 变成 patch,然后对图像进行处理。然后经过线性投影flatten,然后经过多个 transformer 模块。

  • CLIP-VIT:利用大量的文本-图像快,通过对比学习来优化 ViT,将成对的文本图像视为正样本,其他的文本和图像视为负样本。

  • EVA-CLIP:对大规模的 CLIP 训练稳定了训练过程和优化过程。

对于视频,可以统一采样 5 帧,进行与图像同样的处理。

音频模态:

通常使用 C-Former,HuBERT,BEATs 和 Whisper 等进行编码。

  • C-Former:使用了 CIF 对齐机制来实现序列的转换,并且使用一个 Transformer 来提取音频特征。

  • HuBERT:是一个自监督的语音表征徐诶框架,基于 BERT。通过离散hidden units 的mask 预测来实现。

  • BEAT 是:是一个迭代的音频预训练框架,使用音频 Transformer 来学习双向编码表示。

2.2 输入 Projector

输出projector 的任务是将其他模态的编码特征 F X与文本特征空间的特征T进行对齐。对齐后的特征作为prompts P x联通文本特征 F T输入到 LLM Backbone 内。给定 X 模态-text数据集 {I X,t} ,目标是最小化生成损失。

输入 Projecor 可以通MLP 或者多层 MLP 来实现。也有复杂的实现,比如 Cross-Attention,Q-Former,P-Former 等。Cross-Attention 使用一系列的可训练的 query 和编码特征 F X作为 key 来压缩特征序列到固定的长度。将压缩的表示特征输给 LLM。

2.3 LLM Backbone

LLM作为核心智能体,MM-LLMs 可以继承一些显着的属性,如零样本泛化(zero-shot)、少样本 ICL、思想链 (CoT) 和指令遵循。LLM 主干处理来自各种模态的表示,参与有关输入的语义理解、推理和决策。它产生 (1) 直接文本输出 t,以及 (2) 来自其他模式(如果有)的信号token S x 。这些信号token充当指导生成器是否生成 MM 内容的指令,如果是,则指定要生成的内容:
t,S X=LLM(P X,F T )

上式中,其他模态P_X的对齐后的表征,可以认为是软 prompt-tuning,输给 LLM Backbone。发而且一些研究工作引入了 PEFT 的方法,例如 Prefix-tuning,Adapter 和 LoRA。这些 case 里面,希望更少的参数可以被训练,甚至少于 0.1% 的 LLM 的参数参与训练。

通常用到的 LLM 模型有 Flan-T5,ChatGLM,UL2,Qwen,Chinchilla,OPT,PaLM,LLaMA ,LLaMA2 ,Vicuna 等。

2.4 Output Projector

输出Projector将 LLM 的输出的 token 表征 S X转变成特征 H X ,然后输给生成器 MG
X 。

给定数据X-text数据集 {I X ,t} ,首先将文本t输给 LLM,生成对应的 S X ,然后映射得到 H X 。模型优化的目标是最小化 H X与 MG X 的条件文本之间的距离。

2.5 模态生成器

模态生成器 MG X一般用于生成不同的模态来输出。当前的工作一般使用现成的扩大模型(Latent diffusion model),例如 Stable Diffusion用于图像生成,Zeroscope用于视频生成,AudioLDM-2 用于音频生成。

输出 Projector 输出的特征 H x作为条件输入,在去噪的过程中,用于生成 MM 的内容。训练过程中, gt content 首先转换为 latent feature z 0 ,由预训练好的 VQA 模型。然后噪声 ϵ 加到 z 0上,获得 noise latent feature z t ,预训练好的 UNet 用于计算条件损失,通过最小化 loss 来优化参数。

3.训练过程

3.1 预训练阶段

在预训练阶段,通常利用 X-Text 的数据集,来训练输入,输出的 Projector。通过优化损失函数来实现不同模态的对齐。PEFT 有时候用于 LLM Backbone。

X-文本数据集包含图像-文本、视频-文本和音频-文本,其中图像-文本有两种类型:图像-文本对(即)和交错图像-文本语料库(即,txt1>)。这些 X-Text 数据集的详细统计数据如附录 F 的表 3 所示。

在这里插入图片描述
3.2 多模态微调

多模态微调是对满足指令微调格式的一系列数据集对预训练好的多模态大模型进行微调。

通过这种微调,MM-LLM 是可以遵循新的指令泛化到没有见过的任务,增强 zero-shot 的能力。这个简单而有影响力的概念促进了 NLP 领域后续努力的成功,例如,InstructGPT、OPT-IML、InstructBLIP。

MM IT 包括监督微调(SFT)和 RLHF 两部分,目的是为了使得模型符合人类的意图或者偏好,并且增强 MMLLMs 的交互能力。

SFT 将 PT 阶段的额数据转换为指令-aware 的格式,使用 QA 任务作为例子。可以采用各种模板,例如:

(1) {Question} A short answer to the question is;

(2) Examine the image and respond to the following question with a brief answer: {Question}. Answer:

优化目标和预训练是相同的,SFT 数据可以构造为单论的 QA 或者多伦的 QA。

常用的 SFT 和 RLHF 的数据集见表 4。

在这里插入图片描述

4.多模态大模型总结

4.1 26 个多模态大模型全面比较

在这里插入图片描述
如表1所示,对26 SOTA MM-LLMs的架构和训练数据集规模进行了全面比较。随后,简要介绍这些模型的核心贡献并总结了它们的发展趋势。

(1) Flamingo。代表了一系列视觉语言 (VL) 模型,旨在处理交错的视觉数据和文本,生成自由格式的文本作为输出。

(2) BLIP-2 引入了一个资源效率更高的框架,包括用于弥补模态差距的轻量级 Q-Former ,实现对冻结 LLMs 的充分利用。利用 LLMs,BLIP-2 可以使用自然语言提示进行零样本图像到文本的生成。

(3) LLaVA 率先将 IT 技术应用到 MM 领域。为了解决数据稀缺问题,LLaVA 引入了使用 ChatGPT/GPT-4 创建的新型开源 MM 指令跟踪数据集以及 MM 指令跟踪基准 LLaVA-Bench。

(4) MiniGPT-4 提出了一种简化的方法,仅训练一个线性层即可将预训练的视觉编码器与 LLM 对齐。这种有效的方法能够复制 GPT-4 所展示的功能。

(5) mPLUG-Owl 提出了一种新颖的 MM-LLMs 模块化训练框架,结合了视觉上下文。为了评估不同模型在 MM 任务中的表现,该框架包含一个名为 OwlEval 的教学评估数据集。

(6) X-LLM 陈等人 扩展到包括音频在内的各种模式,并表现出强大的可扩展性。利用Q-Former的语言可迁移性,X-LLM成功应用于汉藏语境。

(7) VideoChat 开创了一种高效的以聊天为中心的 MM-LLM 用于视频理解对话,为该领域的未来研究制定标准,并为学术界和工业界提供协议。

(8)InstructBLIP 基于预训练的BLIP-2模型进行训练,在MM IT期间仅更新Q-Former。通过引入指令感知的视觉特征提取和相应的指令,该模型使得能够提取灵活多样的特征。

(9) PandaGPT 是一种开创性的通用模型,能够理解 6 不同模式的指令并根据指令采取行动:文本、图像/视频、音频、热、深度和惯性测量单位。

(10) PaLI-X 使用混合 VL 目标和单峰目标进行训练,包括前缀完成和屏蔽令牌完成。事实证明,这种方法对于下游任务结果和在微调设置中实现帕累托前沿都是有效的。

(11) Video-LLaMA 引入了多分支跨模式PT框架,使LLMs能够在与人类对话的同时同时处理给定视频的视觉和音频内容。该框架使视觉与语言以及音频与语言保持一致。

(12) Video-ChatGPT 是专门为视频对话设计的模型,能够通过集成时空视觉表示来生成有关视频的讨论。

(13) Shikra 介绍了一种简单且统一的预训练 MM-LLM,专为参考对话(涉及图像中区域和对象的讨论的任务)而定制。该模型展示了值得称赞的泛化能力,可以有效处理看不见的设置。

(14) DLP 提出 P-Former 来预测理想提示,并在单模态句子数据集上进行训练。这展示了单模态训练增强 MM 学习的可行性。

(15) BuboGPT 是通过学习共享语义空间构建的模型,用于全面理解MM内容。它探索图像、文本和音频等不同模式之间的细粒度关系。

(16) ChatSpot 引入了一种简单而有效的方法来微调 MM-LLM 的精确引用指令,促进细粒度的交互。由图像级和区域级指令组成的精确引用指令的结合增强了多粒度 VL 任务描述的集成。

(17) Qwen-VL 是一个多语言MM-LLM,支持英文和中文。Qwen-VL 还允许在训练阶段输入多个图像,提高其理解视觉上下文的能力。

(18) NExT-GPT 是一款端到端、通用的any-to-any MM-LLM,支持图像、视频、音频、文本的自由输入输出。它采用轻量级对齐策略,在编码阶段利用以LLM为中心的对齐方式,在解码阶段利用指令跟随对齐方式。

(19) MiniGPT-5 是一个 MM-LLM,集成了生成 voken 的反演以及与稳定扩散的集成。它擅长为 MM 生成执行交错 VL 输出。在训练阶段加入无分类器指导可以提高生成质量。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(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 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/859778
推荐阅读
相关标签
  

闽ICP备14008679号