〔探索AI的无限可能,微信关注“AIGCmagic”公众号,让AIGC科技点亮生活〕
本文作者:AIGCmagic社区 刘一手
前言
AI多模态大模型发展至今,每年都有非常优秀的工作产出,按照当前模型设计思路,多模态大模型的架构主要包括以下几个部分:
-
模态编码器(Modality Encoder):负责将不同模态的输入编码成特征。常见的编码器包括图像的NFNet-F6、ViT、CLIP ViT等,音频的Whisper、CLAP等,视频编码器等。
-
输入投影器(Input Projector):负责将其他模态的特征投影到文本特征空间,并与文本特征一起输入给语言模型。常用的投影器包括线性投影器、MLP、交叉注意力等。
-
语言模型骨架(LLM Backbone):利用预训练的语言模型,负责处理各种模态的特征,进行语义理解、推理和决策。常用的语言模型包括ChatGLM、Qwen、LLaMA等。
-
输出投影器(Output Projector):负责将语言模型输出的信号转换成其他模态的特征,以供后续模态生成器使用。常用的投影器包括Tiny Transformer、MLP等。
-
模态生成器(Modality Generator):负责生成其他模态的输出。常用的生成器包括图像的Stable Diffusion、视频的Zeroscope、音频的AudioLDM等。
在本文中,刘一手将详细解读AI多模态架构中的输出投影器(Output Projector),并以NExT-GPT为例,阐述输出投影器的工作原理!持续更新,欢迎关注!
一、输出投影器的引入
在前期多模态架构系列文章中,我们说到大语言模型在多模态任务中负责处理各种模态的特征,进行语义理解、推理和决策。那么一旦大型语言模型(LLM)完成了生成任务,我们就需要将编码后的数据转换回所需的格式或所需的模态,即输出投影器接收LLM的输出,并将其转换回目标任务所需的格式。例如,如果任务是图像描述,那么它将把LLM的输出转换成描述图像的单词序列。输出投影器也可以像模态编码器一样以不同的模态输出。常见的输出投影器包括Tiny Transformer、MLP等,其实做的工作即是做数据空间的转换。
二、NExT-GPT中的输出投影器
2.1 NExT-GPT简介
NExT-GPT是一个先进的多模态大型语言模型(Multimodal Large Language Model,简称MM-LLM),它具备从任意模态到任意模态(Any-to-Any)的转换能力。这种模型能够理解和生成多种类型的数据,包括但不限于文本、图像、音频和视频,实现了跨模态的理解和表达。结构图如下所示:
从图上可以看出,NExT-GPT的输出映射器包括三类:Image Output Projection、Audio Output Projection、Video Output Projection,在NExT-GPT论文中,这三类任务统一称为Instruction-following Alignment(中文译为:指令跟随对齐)。
2.2 指令跟随对齐
"Instruction-following Alignment"(指令跟随对齐)是用于训练多模态大型语言模型(MM-LLM)的一个关键概念,特别是在模型的解码阶段。这个概念的目的是确保模型能够正确理解和执行来自用户的指令,并且能够在适当的模态中生成内容。
具体来说,"Instruction-following Alignment" 包括以下几个方面:
-
特殊信号令牌(Signal Tokens):为了指示模型生成特定模态的内容,模型使用了特殊格式的信号令牌,例如
"[IMGi]"
用于图像,"[AUDi]"
用于音频,以及"[VIDi]"
用于视频。这些令牌作为指令,告诉解码器生成相应模态的内容。 -
编码器和解码器的对齐:在传统的多模态模型中,解码器(例如扩散模型)通常只根据文本编码器的输出来生成内容。然而,这种以文本为中心的条件限制了模型对非文本模态的理解。为了解决这个问题,NExT-GPT 模型将LLM的模态信号令牌表示作为扩散模型去噪过程中的条件输入,以指导生成适当的图像、视频或音频。
-
最小化表示差异:为了加速对齐学习,模型试图最小化信号令牌表示与扩散模型的条件文本表示之间的距离。这有助于确保LLM能够准确地解释指令并生成期望的内容。
-
训练过程:在对齐训练阶段,使用来自不同数据集的标题作为输入,并与信号令牌作为输出进行组合。损失函数包括产生信号令牌的负对数似然、LLM产生的信号令牌与扩散模型文本编码器派生的条件文本表示之间的l2距离,以及条件潜在去噪损失。
-
冻结的扩散模型:在对齐学习过程中,扩散模型的主干(例如U-Net)是冻结的,这意味着只有输入和输出投影层的参数在训练中进行更新,从而实现高效的训练。
Instruction-following Alignment一般使用轻量级的Transformer模型具体实现,其参数量仅为31M~32M:
Instruction-following Alignment包括三个步骤:
信号令牌的生成与处理 --> 特征转换与条件扩散模型 -- > 端到端训练与优化
下面具体阐述不同模态输出投影器的具体内容。
2.3 图像输出投影
(1)信号令牌的生成与处理
在 "Image Output Projection" 的初始阶段,NExT-GPT 模型首先接收来自语言模型(LLM)的输出,这包括直接生成的文本回复和特定模态的信号令牌,如图像信号令牌 "[IMGi]"
。这些信号令牌充当指令,指示模型需要生成图像内容。接着,这些信号令牌会通过一个可训练的投影层,该层负责将LLM的输出转换成图像解码器能够理解的特征表示。
(2)特征转换与条件扩散模型
特征转换是 "Image Output Projection" 的核心步骤。在这里,信号令牌通过 Transformer 架构的输出投影层进行处理,该层由多个编码器和解码器层组成,具备隐藏层大小为 512,4 个注意力头,以及 dropout 比率设置为 0.1。这使得模型能够将信号令牌的语义信息转化为适合图像生成的条件特征。随后,这些特征被送入条件扩散模型,如 Stable Diffusion,该模型根据接收到的条件特征生成图像内容。
(3)端到端训练与优化
在 "Image Output Projection" 的最后阶段,模型进行端到端的训练,以确保图像生成的质量和与LLM输出的一致性。这包括对输出投影层的参数进行微调,使用损失函数来衡量生成的图像与预期输出之间的差异,并据此更新参数。训练过程中,除了输出投影层之外,大部分的编码器和解码器参数保持冻结状态,以利用预训练模型的稳定性和效率。通过这种方式,模型学习如何更准确地生成与LLM输出相匹配的图像,实现了从文本到图像的有效转换。
2.4 视频输出投影
(1)视频信号令牌的生成与处理
在"Video Output Projection"的实现过程中,首先,NExT-GPT模型接收到来自语言模型(LLM)的输出,这包括文本回复和视频信号令牌(例如"[VIDi]"
)。这些视频信号令牌是模型生成视频内容的关键指令。随后,这些令牌通过一个专门的视频输出投影层,该层负责将LLM的输出转换成适合视频解码器的特征表示。视频输出投影层是可训练的,并且在模型的微调过程中会更新其参数,以更好地适应视频内容的生成需求。
(2)特征转换与条件扩散模型
特征转换是"Video Output Projection"中至关重要的一步。视频信号令牌通过一个基于Transformer的架构进行处理,这个架构可能包括多个编码器和解码器层,以及适当的隐藏层大小和注意力头数量,类似于图像输出投影的配置。这样的设计允许模型深入理解信号令牌中的语义信息,并将其转化为能够指导视频生成的条件特征。接着,这些特征被送入一个条件扩散模型,例如Zeroscope,该模型能够根据提供的条件特征生成视频内容。
(3)端到端训练与优化
在"Video Output Projection"的最后阶段,模型通过端到端的训练进行优化。这包括对视频输出投影层的参数进行微调,以确保生成的视频内容与LLM的输出信号令牌相匹配。训练过程中,模型使用特定的损失函数来衡量生成的视频与预期输出之间的一致性,并据此调整参数。与图像输出投影类似,大部分预训练的视频编码器和解码器参数在训练中保持冻结,以利用它们的稳定性和效率。通过端到端的训练,NExT-GPT模型学习如何准确地生成与LLM输出相对应的视频,实现了文本到视频的有效转换,并提高了多模态交互的准确性和自然性。
2.5 音频输出投影
(1)音频信号令牌的生成与处理
"Audio Output Projection" 的实现首先依赖于语言模型(LLM)生成的音频信号令牌,如 "[AUDi]"
。这些令牌是指示模型生成音频内容的关键。LLM 在理解输入信息后,不仅生成文本回复,还产生特定模态的信号令牌。这些音频信号令牌随后被送入音频输出投影层,该层的目的是将LLM的输出转换成音频解码器能够理解的特征表示。音频输出投影层是模型的一个可训练部分,在微调过程中会更新其参数,以更好地适应音频内容的生成。
(2)特征转换与条件扩散模型
特征转换是"Audio Output Projection"中的核心步骤。在这里,音频信号令牌通过基于Transformer的架构进行处理,这个架构可能包含多个层,每个层都有助于提取和转换信号令牌中的语义信息。处理后的输出特征包含了生成音频所需的详细指令和内容信息。这些特征随后被送入条件扩散模型,例如AudioLDM,该模型能够根据接收到的条件特征生成音频内容。条件扩散模型是专为音频合成设计的,能够根据文本描述或其他条件生成连续的音频信号。
(3)端到端训练与优化
在"Audio Output Projection"的最后阶段,模型进行端到端的训练,以确保音频生成的质量和与LLM输出的一致性。这包括对音频输出投影层的参数进行微调,使用损失函数来衡量生成的音频与预期输出之间的差异,并据此更新参数。在训练过程中,除了音频输出投影层之外,大部分的编码器和解码器参数保持冻结状态,以利用预训练模型的稳定性和效率。通过这种方式,NExT-GPT模型学习如何更准确地生成与LLM输出相匹配的音频
下图展示了 "Decoding-side Instruction-following Alignment"(解码端指令跟随对齐)的过程,其一一对应每个模态输出映射的三个步骤。这是 NExT-GPT 模型中用于确保模型能够根据语言模型(LLM)的输出指令生成相应模态内容的关键技术。
三、总结
3.1. 功能与目的
"Output Projection" 的主要功能是将语言模型(LLM)产生的信号令牌转换成适合不同模态解码器的表示形式。这些信号令牌包含了生成文本、图像、视频和音频等内容的指令。"Output Projection" 的目的是确保LLM的输出能够准确无误地传递给相应的模态生成模块,从而实现多模态内容的生成。
3.2. 实现细节
- 架构设计:"Output Projection" 采用基于 Transformer 的架构,具备多个编码器和解码器层,以及特定的隐藏层大小和注意力头数量。
- 特殊信号令牌:使用如
[IMGi]
、[AUDi]
和[VIDi]
的特殊令牌来指示不同模态的生成。 - 条件扩散模型:将转换后的特征输入到条件扩散模型中,如 Stable Diffusion(图像)、Zeroscope(视频)和 AudioLDM(音频),这些模型根据条件生成相应模态的内容。
- 端到端训练:通过端到端的训练方法,微调输入和输出投影层的参数,同时保持大部分预训练编码器和解码器参数的冻结状态。
3.3. 训练与优化
- 损失函数:使用综合损失函数,包括负对数似然、标题对齐损失和条件潜在去噪损失,以优化信号令牌的生成和内容的对齐。
- 对齐学习:通过最小化信号令牌表示与扩散模型条件文本表示之间的距离,加速模型对用户指令的理解和执行。
- 效率与效果:"Output Projection" 通过轻量级的训练实现了高效的参数调整,同时保持了生成内容的高质量和对用户指令的忠实度。
总结来说,"Output Projection" 是 NExT-GPT 模型中实现多模态内容生成的重要环节,它通过精细的设计与训练,确保了模型能够根据 LLM 的输出在多种模态之间进行无缝转换和高效生成。这一机制不仅提高了模型的多模态理解能力,也为构建更接近人类交流方式的 AI 系统铺平了道路。
推荐阅读:
《AIGCmagic星球》,五大AIGC方向正式上线!让我们在AIGC时代携手同行!限量活动
《三年面试五年模拟》版本更新白皮书,迎接AIGC时代
AIGC |「多模态模型」系列之OneChart:端到端图表理解信息提取模型
AI多模态模型架构之模态编码器:图像编码、音频编码、视频编码
AI多模态模型架构之输入投影器:LP、MLP和Cross-Attention
AI多模态模型架构之LLM主干(1):ChatGLM系列
AI多模态模型架构之LLM主干(2):Qwen系列
AI多模态模型架构之LLM主干(3):Llama系列
AI多模态教程:从0到1搭建VisualGLM图文大模型案例
AI多模态教程:Mini-InternVL1.5多模态大模型实践指南
AI多模态教程:Qwen-VL多模态大模型实践指南
AI多模态实战教程:面壁智能MiniCPM-V多模态大模型问答交互、llama.cpp模型量化和推理
智谱推出创新AI模型GLM-4-9B:国家队开源生态的新里程碑
技术交流:
加入「AIGCmagic社区」群聊,一起交流讨论,涉及 「AI视频、AI绘画、Sora技术拆解、数字人、多模态、大模型、传统深度学习、自动驾驶」等多个不同方向,可私信或添加微信号:【lzz9527288】,备注不同方向邀请入群!!