多模态大语言模型

多模态大语言模型 (MLLM) 是一种深度学习算法,能够理解并生成文本、图像、视频、音频等多种形式的内容。

什么是多模态大语言模型?

MLLM 扩展了传统大语言模型 (LLM) 的能力,后者主要专注于处理和生成文本。通过整合多种类型的数据,MLLM 能够支持更复杂、更多样化的应用,这些应用需要综合和理解文本及非文本信息。

这意味着 MLLM 能够解读多种数据领域,包括:

  • 感知数据:来自运动传感器、GPS 或其他跟踪设备的信息。
  • 3D 模型:用于设计、游戏或仿真的空间数据和 3D 表征。
  • 结构化数据:需要数值或分类说明的数据格式,例如电子表格或数据库。
  • 混合文档:结合了文本、代码、图像和多媒体元素的网页或文档。

MLLM 为何重要?

世界是多模态的,人类与数字内容的交互并不局限于文本。

MLLM 能够摄取、理解和生成多种数据类型,使 AI 交互更加自然、高效,从而体现了这种多样性。

MLLM 非常重要,因为它们可帮助 AI 工具弥合人际交互与技术之间的鸿沟。理解和解读不同模态数据的能力,催生了日常生活中更具影响力和吸引力的应用。例如,医疗机构可以利用 MLLM 辅助评估患者的 X 光影像和医疗档案,进而为患者提供个性化治疗建议或确定可能的诊断。

这些模型的价值远远超出医疗保健范畴。MLLM 能够摄取包含图表、图像等多种数据的复杂文档(如 PDF),从而开辟了从教育到企业等各个领域的应用场景。在这些场景中,员工可以利用聊天机器人优化工作流和提升工作效率。

MLLM 的工作原理如何?

  1. 数据摄取和处理:当 MLLM 接收到输入(例如图表,即说明文字和图像的组合)时,不同模型有各自的数据编码方法。其中之一是进行单模态编码,为每种模态生成嵌入向量。这意味着文本和图像数据将被转换并作为向量嵌入,以便在模型中得到正确处理。
  2. 嵌入、对齐和融合:随后,这些嵌入向量被对齐并融合为统一的多模态表征。此步骤对于准备数据以便利未来跨模态理解至关重要。
  3. 学习跨模态关系:通过在包含不同模态间关联示例的多样化数据集上进行训练,MLLM 学会理解并生成反映文本、图像、音频等数据类型之间复杂互联的内容。
  4. 输出生成:根据任务需求,模型可能使用解码器 (例如,用于生成图像的图像解码器或用于生成文本的语言解码器)来产生期望的输出。例如,输出可以是纯文本、纯视觉内容,也可以是多种模态的组合。

与 LLM 类似,MLLM 也应用自注意力机制(计算注意力分数)来反映输入数据不同部分与其他部分的关联性。在 MLLM 中,自注意力机制使模型能够理解文本中的字符(一种模态)与图像部分(另一种模态)之间的关联。由于自注意力机制无法捕捉序列顺序,因此需要使用位置编码来理解序列中数据 (例如视频数据中的时序序列)的含义。若无此机制,模型将以无序方式解读数据,可能导致数据失去其意义。

由于 MLLM 通常包含参数量达数十亿的大型神经网络,其训练过程可能需要大量的计算资源。为应对这种复杂性,数据和模型并行技术科将计算工作负载分配至不同的 GPU,从而实现高效的训练流程。

拼合不同领域的模态

由于 MLLM 能够处理多种模态,因此需要一种机制将所有这些模态结合起来。编码器有助于实现这种集成。

对于每种模态,采用特定的编码器将该类型的输入数据 (例如文本、图像、音频)转换为共享高维向量空间的嵌入向量。每种模态的嵌入向量被组合到一个联合嵌入空间中,以便轻松实现不同嵌入向量间的转换。

以音频编码器和图像解码器为例说明 MLLM 场景中的编码和解码过程。最简单的办法是,编码器将截取上下文信息并将输入数据转换为嵌入向量,解码器则获取这些嵌入标准并在目标模态中生成内容。音频编码器将录制语音并将其转换为一组嵌入表征该录音的向量空间的特征向量。图像解码器则从联合嵌入空间中提取特定的图像嵌入向量,并生成期望的输出。

LLM 和 MLLM 有何区别?

基于大量文本数据训练的 LLM 推动了生成式 AI 工具的第一波浪潮。这使得 LLM 能够有效地生成文章、电子邮件和代码片段,因为它们能够根据先前见过的响应模式来应对新的查询。

如果说 LLM 提供语言和上下文理解能力的“大脑”,那么 MLLM 则超越了典型 LLM 的现状,因为其能够驱动多种数据模态的生成。

深入探究差异

从传统 LLM 向更先进的多模态模型的演进,不仅意味着能力的扩展,还涉及底层架构、应用场景、训练和微调方法的变化。

  大语言模型 多模态大语言模型
数据处理 纯文本数据:通过文本分词器进行编码 多模态数据:需为每种模态使用独立的编码器
模型架构 单一 Transformer 架构 每种模态使用独立的编码器,后接融合模块,将编码后的表征投影至统一的嵌入空间中
训练目标 语言建模目标,如下一个分词预测 通常采用对比学习目标,旨在对齐不同模态的表征
推理计算复杂度 与输入序列长度成二次方关系 在纯文本 LLM 复杂度的基础上,还需叠加同时编码多模态输入和解码输出的计算开销
模态编码器 仅处理文本数据,故无需模态编码器 将图像、音频等非文本数据转换为反映内容含义的嵌入向量
输入投影器 通常仅处理直接源自文本数据的文本嵌入向量,无需对其他模态对齐 将来自各种模态的编码表征与文本数据对齐,形成语言模型能够处理的统一输入
LLM 骨架网络 处理文本数据 使用预训练知识处理对齐后的多模态输入,以执行推理、理解和内容生成等任务
输出投影器 无需将嵌入向量转换回其他模态 将模型的输出嵌入向量映射回目标模态,以生成非文本输出
模态生成器 模型没有模态生成器,因为它们并非设计用于处理非文本输出 在各模态中生成输出,通常使用潜扩散模型 (LDM)

模型架构

LLM 通常基于单一的 Transformer 架构构建,针对处理序列数据和管理长程文本依赖项进行了优化。这种架构使 LLM 能够熟练理解和生成语言。相比之下,MLLM 采用更为复杂的设计,包括针对每种模态的独立编码器,例如用于文本的 Transformer 和用于图像的卷积神经网络 (CNN)。这些独立的编码器截取并编码每种模态的特定信息。随后,融合模块将这些编码的表征整合到统一的嵌入空间中。该架构使得 MLLM 能够无缝整合来自不同数据类型的特征,促进对多模态输入数据的整体理解。

训练流程

LLM 和 MLLM 训练过程截然不同。作为传统的基于文本的模型,LLM 使用由书籍、文章和网页组成的大规模数据集进行训练。其目标是教会模型预测序列中的下一个词,使其能够生成连贯且与上下文相关的文本。此过程始于数据采集和预处理,以清理数据并为训练准备好数据。Transformer 因其在处理序列数据和长程依赖项方面的有效性,成为 LLM 的首选架构。

另一方面,MLLM (如 GPT-4V) 旨在从图像和文本等多种数据类型中学习。这种训练更为复杂,因为它涉及关联不同的模态,例如将狗的图片与“狗”这个词关联起来,或为经济图表生成描述性文本。MLLM 的训练过程整合了图像处理的 CNN 和用于文本处理的 Transformer 等技术,确保模型能够有效地处理和整合来自这两种模态的特征。

计算需求

由于架构差异,训练 LLM 与 MLLM 的计算需求也有所不同。LLM 需要大量 GPU 资源来管理处理数十亿参数和大量数据集所需的大规模并行计算。Transformer 的自注意力机制因其二次方复杂度进一步增加了这些需求。然而,MLLM 的计算需求更高。除了 Transformer 相关的挑战外,它们还需要额外的处理能力来运行用于图像处理的 CNN。不同模态的集成通常涉及交叉注意力技术,这会增加计算负载。因此,训练 MLLM 通常需要更复杂的硬件配置和模型架构创新,以优化效率。

MLLM 面临哪些挑战?

深入探究 MLLM 的复杂性将揭示一系列挑战,从架构的错综复杂到数据管理和计算需求的细微差别。 

部分关键挑战包括:

  • 模型架构和训练:
    • 创建能够高效处理和生成多模态内容,同时保持可扩展性的模型架构是一项复杂的任务。平衡模型容量、性能和资源需求的权衡是一项重大挑战。
    • 基于多样化多模态数据训练 MLLM 需要大量的计算资源、数据存储和迭代时间,这使得训练过程成本高昂。
  • 数据表征:多模态机器学习的核心挑战之一在于如何以统一形式表征来自多个模态的数据。每种模态都有自己独特的特征、数据格式和底层结构。将这些各不相同的模态整合到一个统一的表征中,使其既能捕捉每种模态的丰富性和复杂性,又能实现跨模态的有效交互,这本身就极其复杂。
  • 数据采集和整理:收集和整理大规模、高质量、多样化的多模态数据集需要大量资源,同时还会带来隐私和伦理方面的挑战。缺乏全面且经过良好标注的多模态数据集阻碍了稳健 MLLM 的训练。
  • 融合:模态融合是指整合来自不同模态的信息,以形成系统可用于生成响应的一致表征的过程。其挑战在于,这种整合必须在保留各模态信息完整性的同时,确保组合后的数据易于理解。交叉注意力机制是实现有效融合的常用方法之一,它通过捕捉跨模态交互,使系统能够生成准确描述不同数据类型相互关系的输出。
  • 事实准确性和偏见:MLLM 可能会产生幻觉,这对于要求高准确性和可靠性的应用而言是一个重大问题。它们也能够继承并放大训练数据和/或基础 LLM 中存在的偏见。
  • 泛化:虽然 MLLM 在其训练或微调过的任务和数据集上表现出色,但要泛化为现实世界场景或未知模态仍具有挑战性。
  • 隐私:处理图像、音频和视频等多种数据类型时会引发隐私担忧,因为 MLLM 可能会无意中泄露训练数据中包含的敏感信息。

MLLM 如何应用?

借助 MLLM 处理多种模态的能力,各行各业涌现出令人惊叹的应用。

  • 医疗保健:MLLM 正在通过整合和分析不同形式的数据提升诊断流程和患者护理水平。例如,它们可以分析来自医疗影像(如 X 光或 MRI)的视觉数据,同时结合文本临床记录和血压或心率趋势等时间序列数据。这些能力有助于医生更准确、更迅速地诊断病情。通过识别人类观察者可能无法立即察觉的模式,MLLM 有助于实现更精准、更及时的诊断,从而改善患者的整体治疗效果。
  • 企业生产力:在企业内部,MLLM 正在被部署用于通过先进的支持系统提升生产力。员工可以与能够理解文本和图表等其他数据形式查询的 AI 助手互动。这些系统可帮助生成报告、总结会议内容,甚至能在演示过程中通过解读和回应多模态数据来提供实时协助。
  • 客户服务:MLLM 正在通过实现更复杂的用户交互来革新客户服务。例如,客户服务 AI 可以分析客户发送的视频或图像,以快速诊断产品问题。此外,它们还能理解客户语音交流中的语气和情感线索,提供不仅上下文恰当,而且在情感上与客户状态共鸣的回复,从而提升客户满意度并更高效地解决问题。

如何开始使用 MLLM

基于仿真

选择合适的开发框架对于使用 MLLM 至关重要。重要的是选择一个不仅支持与具体项目相关的特定模态,还能与现有技术栈和开发实践良好契合的框架。

NVIDIA NeMo™ 是一个用于开发定制生成式 AI 的端到端平台。NeMo 框架提供了一个综合性库,旨在促进跨各种数据模态的 MLLM 的创建和微调。

MLLM 的效果在很大程度上取决于其训练所用的多模态数据的质量和对齐度。这涉及收集包含对齐的不同模态配对或组合的数据集,例如文本-图像对或带字幕的视频。对此类数据进行适当的预处理和归一化对于确保数据能够有效地用于模型训练至关重要。

利用预训练模型可以显著减少对大量计算资源的需求,并提供一个获得有效结果的捷径。基于特定数据集进行微调后,该模型能够适应应用的具体特性和需求,从而提升其性能和相关性。

模型搭建完成后,使用真实世界的数据和场景进行广泛测试非常重要。此测试阶段对于理解模型的性能表现以及识别其可能需要进一步优化的任何领域至关重要。基于性能反馈进行持续迭代,是开发出能够可靠地满足目标的稳健 MLLM 的关键。

MLLM 的部署涉及将其集成到合适的运行环境中,使其能够接收输入并根据需要生成输出。部署后,持续监控模型的性能并根据需要调整其配置,以保持其有效性和效率,这一点至关重要。

后续步骤

探索我们的 LLM 解决方案

了解 NVIDIA 如何通过我们的 LLM 解决方案帮助企业实现大语言模型的普及。

根据需要观看 LLM 视频和教程

从教程和讲解内容,再到案例研究和分步指南,这个免费大语言模型视频的播放列表中包含各种内容。

深化有关 LLM 的技术知识

在 NVIDIA 技术博客上了解有关开发大语言模型的更多信息。