不同于语言大模型只对文本进行处理,多模态大模型将文本、语音、图像、视频等多模态数据联合起来进行学习。多模态大模型融合了多种感知途径与表达形态,能够同时处理和理解来自不同感知通道(例如视觉、听觉、语言和触觉等)的信息,并以多模态的方式表达输出。
1.1 多模态大模型的技术体系
现有的多模态大模型主要有面向理解任务的、面向生成任务的、兼顾理解和生成的、知识增强的多模态大模型。
1.1.1 面向理解任务的多模态大模型
面向理解任务的多模态大模型,其核心结构通常是 基于Transformer 的编码器。按照模型结构的不同,面向理解任务的多模态大模型又可再分为单流和多流两种结构。单流结构是指不同模态的特征在拼接后由一个共享的 Transformer 网络进行处理;而多流结构中,不同模态则分别由 Transformer 网络进行编码处理,这些网络之间存在有一些特征上的交互融合机制。
多流结构的一个典型代表是图文理解模型 ViLBERT,它采用了一种双流 Transformer 的结构,首先将文本和图像数据分别输入两个独立的 Transformer 编码器,接着使用互注意力 Transformer(Co-Attention Transformer)层将文本和图像特征进行融合,最后所得到文本-图像特征可以被应用到视觉问答、图像描述生成等不同的多模态的任务中。
多流结构的另一个代表是 OpenAI 公司的 CLIP模型,它采用两个独立的编码网络对图像和文本进行特征抽取,并通过对比学习将两者的特征嵌入到共享的语义空间中。CLIP 基于 4 亿图文对进行训练,可以从自然语言监督中有效地学习视觉概念,从而获得泛化性能极强的零样本(zero-shot)分类能力。
另一个与 CLIP 类型的代表性方法ALIGN,使用对比损失训练了一个简单的双编码器模型,利用包含超过10亿个噪声图像-文本对的数据集来扩展视觉和视觉语言表征学习。CLIP 是个图文双流结构,而 VATT则是针对视频-文本-音频数据的多流模型。
与 CLIP 类似,VATT 将每个模态线性投影为特征向量,然后将其分别送到 Transformer 编码器中,并将编码后的特征在语义分层的不同粒度空间中通过对比学习来训练模型。
图 3-1 CLIP模型架构图
单流结构的一个典型代表是 VL-BERT,它将图像的描述文本和关键物体的区域特征拼接后作为 BERT 网络的输入,通过掩码掉部分文本输入和图像输入并预测所缺失的信息来进行模型训练。
此外,另一代表性方法 UNITER ,则采用了一种多任务的多模态预训练方法,相对于其它方法,该模型增加了单词与图像区域的匹配模块,来更进一步建立图像与文本的细粒度关联。
在视频领域,单流结构的代表性方法有 VideoBERT和 ActBERT,其中 VideoBERT 是一个视频-语言模型,它融合了文本和视频作为 BERT 网络的输入;而ActBERT 采用了一种全局-局部关系的建模方法,输入不止包括文本和视频的全局信息,还利用了视频帧中的局部信息来加强对于视频内容的理解。
现有的面向理解任务的多模态大模型大多都以上面两类结构为基础,此外,也有不少方法在预训练任务上进行研究,引入更多的预训练任务或设计统一的架构去训练所有的任务等。例如,其中一个典型方法 Florence,它着重于如何使模型适应各种下游任务,并设计了一个由多模态大模型和适应模型组成的工作流。
具体对于任务适应,该模型使用动态头部适配器将学习到的视觉特征表示从场景扩展到对象,采用 CoSwin 适配器来学习视频表示,并使用 METER 适配器将模型应用到依赖细粒度视觉-语言表示的视觉语言任务。
1.1.2 面向生成任务的多模态大模型
面向生成任务的多模态大模型能够实现文本、图片、视频、音频、3D、分子结构等多种模态内容的生成应用。
目前常用的方法主要是基于序列生成模型和扩散模型(diffusion models)。在序列生成模型中,DALL-E[73]是个典型代表。它是由 OpenAI发布的一个基于 4 亿图文对训练的图像生成模型,通过采用VQVAE图像离散自编码器和 GPT 组合的结构,在以文生图任务上取得了突破性的生成质量和泛化能力,被称作图像版 GPT。
另一典型的图像生成模型是北京智源研究院所的 CogView 模型(如图3-2 所示),它具有与 DALL-E 类似的结构,但是面向中文环境的文本到图像生成,并进一步探索了多模态生成模型在下游任务上精调后的泛化能力。
CogView 在基于文本控制的样式学习、服装设计和图像超分等任务上均取得出色的效果。在文本生成方向上,采用序列生成模型是最主流的方案,例如,典型方法 GIT是一个视觉到文本的多模态大模型,统一了图像/视频的描述和问答等视觉语言任务,它包含有一个图像编码器和一个文本解码器,其文本解码器在视觉编码的基础上,以自回归的方式来生成文本。
图 3-2 CogView 模型架构图
扩散模型的工作原理,是通过连续添加高斯噪声来破坏训练数据,然后通过反转这个噪声过程,来学习恢复数据。扩散模型的一个代表性方法 LDM,它先压缩图像的像素信息来获取图像对应的隐特征表达,再采用扩散模型来建模图像隐特征分布。
另一典型扩散模型Stable Diffusion,它拓展 LDM 至开放领域的文本至图像生成,是当前开源模型的代表方法。除了开源模型之外,闭源的扩散模型中代表性方法有 OpenAI 的 DALL-E2与谷歌的 Imagen。
其中,DALL-E2 首先然练一个扩散解码器来反转 CLIP 图像编码器,然后训练一个独立的映射模型将 CLIP 模型的文本特征映射到图像特征空间,从而实现以文生图的过程,并极大提升了生成图像与输入文本的匹配程度。
而 Imagen 首先将文本进行编码表征,之后使用扩散模型将表征映射成为 64x64 像素的低分辨率的图像,然后会通过两个超分辨率扩散模型来逐渐提高分辨率到 1024x1024 像素,如图 3-3 所示。
此外,与 DALL-E2 不同的是,Imagen 使用了通用语言大模型 T5 模型直接编码文本信息,然后直接用该文本编码来生成图像;同时,Imagen 发现基于 T5 模型提取的文本特征生成的图像比基于 CLIP 模型的图像细节准确度更高。
图 3-3 Imagen 模型架构图
1.1.3 兼顾理解和生成任务的多模态大模型
Transformer 编码器通过双向的注意力机制来学习对数据的理解能力,而解码器通过单向的注意力机制学习生成能力。
为了让模型同时具备这两种能力从而可以在更广泛的下游任务上应用,可以联合Transformer 编码器与解码器,设计能够兼顾理解与生成任务的多模态大模型。
例如,一个典型方法是蒙特利尔大学所的 VL-T5模型,将多个多模态任务统一为文本生成任务。具体地,如图 3-4 所示,该模型由 Transformer 编码器和自回归的解码器组成,其主要创新点在于针对训练任务与数据的不同采用不同的输入文本与输出文本的构造方式,这种将模型结构和目标任务统一的方法可以充分利用不同任务的数据来训练模型,提高模型的泛化性。
这类方法的另一个典型模型 Unified VLP,它的主要特点是编码器和解码器共享同一个Transformer 网络。
该方法通过设置注意力掩码来控制网络为编码器或解码器。
具体地,当使用编码器时,注意力掩码为双向掩码,任一位置都可建模前后两个方向的依赖关系;当使用解码器功能时,注意力掩码设置为单向,每一位置只能建模前文的依赖关系。这种编解码共享的方式能够减少参数量,使网络更加简洁。
图 3-4 VL-T5 模型架构图
此外,还可以将语言大模型的文本生成能力与各类模态编码器的多模态感知能力相结合,以此构建的多模态大模型也能够兼顾理解和生成能力。这类方法以语言大模型为主导来实现多模态的对齐、融合和交互。
这是由于文本有高效的表达效率、能够通过语义描述的方式与其余所有模态建立直接的联系,另外,语言大模型在预训练过程中学习到了非常多的世界知识,有潜在理解多模态信息的能力。
这类模型在结构方面常由单模态编码器、连接器与语言大模型三部分组成,其中单模态编码器和语言大模型的参数可以冻结以减少计算量、提高训练效率;连接器常见的有简单的线性映射层,或者特殊设计的网络模块如 BLIP-2中的 Q-former 结构等(如图 3-5 所示)。
这类模型通常涉及到两个阶段的训练过程。在第一阶段,训练各个模态到语言大模型的语义对齐,通常利用大规模弱关联的跨模态数据(如图像-文本、视频-文本、音频-文本数据等),基于条件文本生成任务进行训练。
在第二阶段进行多模态指令微调以提升零样本多模态能力,此阶段的核心是构造面向多模态任务的指令微调数据,目前常见的多模态指令微调数据类型有多模态对话、多模态详细描述与多模态推理问答等。
图 3-5 BLIP-2 模型架构图
1.1.4 知识增强的多模态大模型
大模型不仅对大规模数据有着卓越的拟合能力,还能够学习到隐式的知识。为了促进更有意义的理解和预测,还需要寻找将隐式知识与显式知识(例如来自知识图谱)联系起来的方法。因此,将知识图谱、场景图、外部知识库等结构化的知识信息注入大模型中,将可增强多模态大模型的知识利用能力。
例如,在场景图知识的利用上的一个典型方法是百度的 ERNIE-ViL模型,如图 3-6 所示,它在视觉-语言模型中引入了由文本解析而来的场景图信息,在预训练过程中通过将场景图中的知识实体和关系进行掩码后要求模型预测所掩码位置的知识信息,以此作为更细的多模态预训练任务,这能够使得模型更能精准把握图像和文本之间细粒度的对齐信息。
在知识图谱的利用上,典型方法有 KRISP,它结合了隐含知识和明确知识的学习,即从无监督语料和有监督的训练数据中学到隐含的知识,从结构化数据知识图谱中学习明确的符号化的知识,这样既可以进行隐式的知识推理,又可以获取符号化的知识表示。
图 3-6 ERNIE-ViL 模型架构图
1.2 多模态大模型的关键技术
多模态大模型的关键技术主要包括预训练数据收集、基础模型构建、自监督学习与模型优化训练、下游任务微调。
1.2.1 多模态大模型的网络结构设计
网络架构在多模态预训练中扮演着关键角色,需要精心设计以适应和理解来自不同源的复杂特征。
例如,在处理图像和文本模态时,通常会采用 Transformer 或卷积神经网络(CNN)来捕捉视觉和语言之间的复杂关系;而对于事件流,脉冲神经网络可能更为适合,因为它们能有效地模拟信息的时序动态。
随着模型规模的增加,大型多模态大模型展示出强大的记忆能力和性能增益。然而,模型复杂度的增加也不可避免地引入了计算效率的挑战,并可能最终遇到性能瓶颈。因此,对于更高效的网络模型结构的设计和探索,比如改进或甚至替代 Transformer,成为了重要的研究方向。
其次,得益于语言大模型涌现出的知识与逻辑推理能力,近期有一系列多模态大模型开始以语言大模型为核心进行构建。其中一个代表性方法是 DeepMind 的 Flamingo视觉语言模型,该模型能够将图像、视频和文本作为提示并输出相关语言回复。
它将视觉编码器与语言大模型的参数冻结并通过可学习的融合模块联系起来,模型采用20 多亿对图片-文本、270 万对视频-文本,与 430 万图文混排的网页数据进行视觉-语言联合训练;Flamingo 具有少样本(few-shot)的多模态序列推理能力,无需额外训练即可完成视觉语义描述、视觉问答等多种任务。另一个代表性模型 KOSMOS-1,它将一个基于Transformer 的语言模型作为通用接口,并将其与视觉感知模块对接,使得模型“能看”和“会说”;该模型具有 16 亿参数量,在大规模多模态语料库上训练,具有遵循指令(即零样本学习)以及在上下文中学习(即少样本学习)能力,能够原生处理视觉对话、视觉问答、图像描述生成、光学字符识别等任务。
此外,近期还有一系列模型尝试将图像、视频等感知模块与 LLaMA等开源的语言大模型对接,从而实现类似 GPT-4 的多模态理解能力。
其中的一个典型模型是ChatBridge,它使用多个并行的感知模块用来处理包括图片、音频、视频的在内特征,然后通过少量预训练参数将这些模态的特征投影至语言大模型的语义空间,使得模型具备灵活感知、理解混合模态信息的能力。
最后,对于多模态预训练,设计与下游任务更高兼容性的网络结构模型显得尤为重要。具体来说,可以通过引入编码器-解码器结构将多模态理解和生成任务统一到一个框架下,从而更好地支持各种多模态任务。这主要涉及到跨模态的注意机制、模态间的对齐和翻译、以及更复杂的特征集成策略。
1.2.2 多模态大模型的自监督学习优化
以视觉-语言数据的联合学习为例,多模态大模型常用的自监督学习任务通常有以下几种类型。
1)掩码语言建模(Masked Language Modeling,MLM):输入文本序列中的某些单词或标记会被替换为特殊的掩码标记[MASK],然后预训练模型被要求根据可见的多模态上下文来预测这些被遮蔽的单词或标记,如图 3-7。
多模态大模型通过执行这种预训练任务,模型能够在大规模文本数据上获取深层次的语言理解,从而更好地执行下游自然语言处理任务,如文本分类、命名实体识别、句子相似性计算等。
图 3-7 掩码语言预测
2)掩码图像建模(Masked Image Modeling,MIM):输入图像中的部分区域会被隐藏或被替换为特殊的掩码标记[MASK],然后预训练模型被要求在仅看到其余图像内容与文本等其他模态信息的情况下,预测或还原被遮蔽的图像区域。
多模态大模型通常使用这种训练方式促使模型学习图像的视觉特征、多模态上下文信息和语义关系,以更好地理解图像内容,如图 3-8。
图 3-8 掩码视觉预测
3)图像-文本匹配(Image-Text Matching,ITM):前面的掩码语言建模和掩码图像建模旨在建立图像与文本的细粒度对齐,而图像-文本匹配任务是旨在实现图像与文本的全局对齐。通常给定图文对作为正样本,随机配对作为负样本对,然后通过二分类方法实现图像和文本的匹配,从而建立图像和文本之间的语义关联,如图 3-9。
图 3-9 图像文本匹配
4)图像-文本对比学习(Image-Text Contrastive Learning, ITC),使用对比学习的方法将图像和文本的相同样本对的向量表示拉近,不同样本对的向量表示推远,从而增强图像和文本之间的语义关联性。这使得模型能够更好地理解图像和文本之间的语义关联,为多模态任务提供更好的表示能力,如图 3-10。
图 3-10 图像-文本对
1.2.3 多模态大模型的下游任务微调适配
多模态大模型的最终目标是适配并提升特定下游任务上的性能表现,因此,需要通过微调适配将预训练大模型的能力迁移到特定数据下的特定任务场景中。目前,多模态大模型的微调适配方式主要有三种:
1)面向特定任务的模型微调适配:多模态大模型的权重被作为初始参数,并在任务特定数据上进行有监督的微调。通过这种微调,模型将学习针对具体任务的细粒度特征和表示,从而适应特定任务的要求。
2)联合提示学习的模型微调适配:设计契合上游预训练任务的模板,挖掘出上游预训练模型的潜力,让上游的预训练模型在尽量不需要标注数据的情况下比较好的完成下游的任务。提示学习允许在不同类型的任务上重复使用预训练模型,只需简单修改提示模版即可适应特定任务,从而节省了训练时间和计算资源。
3)基于适配器网络的模型微调适配:每个任务都有自己独立的适配器层,使得模型可以在不同任务之间共享通用预训练模型的表示,同时在每个任务上进行个性化的调整。适配器层通常由较少的参数组成,因此它们比在整个模型上进行微调更加高效。在训练过程中,预训练模型的参数是固定的,只有适配器层的参数被更新。
现有的预训练大型方法通过特征微调或提示学习用于下游任务,也需要更多研究考虑为多模态大型模型开发增量学习算法。未来,如何将新模态引入到已经预先训练好的多模态模型中具有实际意义,因为新的传感器(模态)将在未来的某个不确定时间出现,设计的多模态大型模型应该足够灵活以应对这种情况。
如何学习大模型 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 的正确特征了。