AI多模态模型架构之模态生成器:Modality Generator

探索AI的无限可能,微信关注“AIGCmagic”公众号,让AIGC科技点亮生活

本文作者:AIGCmagic社区   刘一手

前言

AI多模态大模型发展至今,每年都有非常优秀的工作产出,按照当前模型设计思路,多模态大模型的架构主要包括以下几个部分:

  1. 模态编码器(Modality Encoder):负责将不同模态的输入编码成特征。常见的编码器包括图像的NFNet-F6、ViT、CLIP ViT等,音频的Whisper、CLAP等,视频编码器等。

  2. 输入投影器(Input Projector):负责将其他模态的特征投影到文本特征空间,并与文本特征一起输入给语言模型。常用的投影器包括线性投影器、MLP、交叉注意力等。

  3. 语言模型骨架(LLM Backbone):利用预训练的语言模型,负责处理各种模态的特征,进行语义理解、推理和决策。常用的语言模型包括ChatGLM、Qwen、LLaMA等。

  4. 输出投影器(Output Projector):负责将语言模型输出的信号转换成其他模态的特征,以供后续模态生成器使用。常用的投影器包括Tiny Transformer、MLP等。

  5. 模态生成器(Modality Generator):负责生成其他模态的输出。常用的生成器包括图像的Stable Diffusion、视频的Zeroscope、音频的AudioLDM等。

在本文中,刘一手将详细解读AI多模态架构中的最后一个组件:模态生成器(Modality Generator,简称MG),并结合主流方案,阐述模态生成器的工作原理!持续更新,欢迎关注! 

模态生成器的引入

在前期多模态架构系列文章中,我们说到输出投影器接收LLM的输出,并将其转换回目标任务所需的格式。那么在格式转换完成之后,最后一句就是根据我们任务的最终目的,生成图像、视频或者音频,本文中模态生成器就是来做这个事情:

模态生成器MG的任务是产生不同模态的输出。在现有的工作中,通常使用潜在扩散模型(Latent Diffusion Models,LDMs) 实现,例如非常有名的用于图像生成的 Stable Diffusion,以及用于视频合成的 Zeroscope、用于音频生成的 AudioLDM-2 等。

输出投影器映射得到的特征$H_{X}$作为去噪过程中的条件输入,用以生成多模态内容。在训练过程中,真实的地面内容首先通过预训练的变分自编码器(VAE)转换成潜在特征$z_{0}$。接着,向$z_{0}$中加入噪声$\epsilon$,得到含噪声的潜在特征$z_{t}$。然后,使用预训练的U-Net$\epsilon_{X}$来计算条件LDM损失${\mathcal{L}}_{\mathrm{X-g e n}}$,其公式如下:

这个公式的意思是,对于服从标准正态分布的噪声$\epsilon$和某个时间步长t,计算实际噪声$\epsilon$与通过U-Net生成的预测噪声$\epsilon_{X} ( z_{t}, t, \boldsymbol{H}_{X} )$之间的均方误差(MSE)。通过最小化这个损失函数${\mathcal{L}}_{\mathrm{X-g e n}}$,可以优化参数$\Theta_{X \to T}$$\Theta_{T \to X}$,从而提高生成内容的准确性和质量。

多模态大模型经典架构,红框为Generator模块

模态生成器的类别

1. Text Generation

Text Generation 是指利用自然语言处理技术,特别是大型语言模型(LLM)来自动产生人类可读的文本。在现代人工智能领域,LLM 已经成为文本生成任务中的核心工具,它们通过学习大量的文本数据来理解语言的结构和语义,从而能够生成连贯、有意义的文本。

LLM 本身就天然支持直接生成文本,这一能力主要得益于其内部的学习机制和训练目标。在生成文本时,LLM 可以采用多种解码策略,其中两种常见的方法是 BPE decoding 和 Beam search。

BPE decoding(Byte Pair Encoding decoding)是一种中间步骤,它将文本分割成子词序列,这样可以更好地处理罕见词汇和未知词汇。在生成文本时,LLM 会根据概率分布预测下一个子词,然后将这些子词拼接起来形成完整的句子。这种方法有助于提高生成文本的多样性和准确性。

Beam search 则是一种搜索算法,用于在生成文本的过程中找到最有可能的序列。与简单的贪婪搜索不同,Beam search 在每一步都会保留多个候选序列,并根据它们的概率进行排序。最终,它会选择概率最高的序列作为输出结果。这种方法可以在保证生成文本质量的同时,减少生成时间。

除了这两种方法,LLM 还可以采用其他解码策略,如 Top-K sampling 和 Top-p (nucleus) sampling,这些策略可以在一定程度上控制生成文本的多样性和创造性。


2.Generation via Diffusion Models

Generation via Diffusion Models 是一种基于扩散过程的生成模型,它在图像、视频和音频等多个模态的生成任务中展现出了强大的能力。与传统的生成对抗网络(GANs)和变分自编码器(VAEs)相比,扩散模型通过模拟数据的扩散过程来学习数据的分布,从而能够生成更加逼真和多样的数据样本。

2.1 图像生成

图像生成是扩散模型应用最为广泛的领域之一。潜在扩散模型(Latent Diffusion Models, LDMs),如 Stable Diffusion,已经成为生成高质量图像的重要工具。这些模型通常首先将图像编码到一个潜在空间中,然后在潜在空间中进行扩散和去噪过程。通过这种方式,LDMs 能够生成分辨率高、细节丰富的图像,并且可以很容易地与其他图像处理技术结合,如风格迁移。

Stable Diffusion 在2022年发表,一种基于Latent Diffusion Models的新兴机器学习技术。它基于扩散过程,利用数学模型将机器学习中的高维度数据降低到低维度空间,并在该空间中进行训练。Stable Diffusion的原理涉及到以下三个组件:

  1. Text Encoder 文字特征化:为了输入文字的内容,我们要先有一个powerful的文字特征萃取器,可以是GPT、BERT等常见的主流Transformer model,总之能把文字特征做得好,就好的是Encoder 。

  2. Diffusion Model 扩散模型:透过降躁过程,将一个潜在空间Latent Space的图像,逐步转回真实图像的技术,里面用到U-Net架构及Attenation技术,来提高模型表现,与传统的Diffusion略有不同。

  3. VAE (Variational Autoencoder):变分自编码器,负责图像在潜在空间的压缩与重建,压缩后的图像能让模型学得更快更好。

以功能来切,大概可以这样理解:

图片

以模型的学习与训练来看,可以这样理解:

图片

将高维特征压缩到低维,然后在低维空间上进行操作的方法具有泛用性,可以很容易推广到文本、音频、影像等数据。

图片

Stable Diffusion模型中,有几种不同的sampling方法可以用来生成数据,以下是一些常见的sampling方法:

  1. Gaussian sampling:是Stable Diffusion中最常用的一种sampling方法。它通过将高斯噪声添加到数据中来生成新的样本。这种方法可以帮助模型更好地理解数据的分布和特征。

  2. Langevin sampling:一种基于随机梯度下降的sampling方法。它通过将随机噪声添加到梯度中来生成新的样本。这种方法可以帮助模型更好地处理高度非线性的数据。

  3. Metropolis-Hastings sampling:一种Markov Chain Monte Carlo(MCMC)方法,它可以生成一个序列来表示数据的分布。这种方法可以帮助模型更好地理解数据的复杂性和不确定性。

  4. Hamiltonian Monte Carlo sampling:一种MCMC方法,它可以利用动态系统的特性来生成数据样本。这种方法可以帮助模型更好地理解数据中的隐含结构和特征。

  5. Diffusion Process Model:DPM是基于扩散过程的理论原理,通过对数据样本中的噪声进行建模,可以帮助消除数据中的噪声和偏差,提高模型的准确性和泛化能力。

这些方法在Stable Diffusion的参数中都可以调整,其中Sampling step更会影响图片生成的运算时间及效果,原则上会根据采样方法不同而有所差异。

2.2 视频生成

视频生成是一个更为复杂的任务,因为它不仅要考虑单个帧的质量,还要保证帧间的连贯性。Zeroscope 是一个基于扩散模型的视频合成工具,它通过逐帧生成视频内容并确保相邻帧之间的平滑过渡来实现视频的生成。这种方法可以生成连续、流畅的视频,尽管计算成本较高,但在生成高质量视频内容方面具有巨大潜力。

Zeroscope源于Modelscope,这是一个具有17亿个参数的多级文本到视频扩散模型。它根据文本描述生成视频内容。

Zeroscope完善了这一概念,提供了更高的分辨率,没有Shutterstock水印,并且更接近16:9的纵横逼比。

Zeroscope具有两个组件:Zeroscope_v2 567w,旨在以576×320像素的分辨率快速创建内容,以探索视频概念。然后可以使用zeroscope_v2 XL将高质量的视频升级到1024×576的“高清”分辨率。

对于视频生成,该模型需要 7.9 GB 的 VRam,分辨率为 576×320 像素,帧速率为 30 帧/秒,15.3 GB 的 VRam,分辨率为 1024×576 像素,相同帧速率。因此,较小的型号应在许多标准图形卡上运行。

除了24 帧(1024 x 576 分辨率)的9,923 个剪辑和 29,769 个标记帧之外,该模型还根据 ModeScope 的原始权重进行了训练。因此,它创建的输出比 ModelScope 稍好一些。

训练期间的这种噪声引入增强了模型对数据分布的理解。因此,该模型可以生成更多样化的逼真视频,并更有效地解释文本描述中的变体。

2.3 音频生成

音频生成也是扩散模型应用的一个重要方向。AudioLDM 系列是一个专门用于生成音频内容的模型,它可以生成包括音乐、语音在内的各种声音效果。与图像和视频生成类似,音频生成也涉及到信号的扩散和去噪过程。AudioLDM系列 通过学习音频信号的分布特性,能够生成听起来自然且具有丰富情感的音频样本。

下图总结了AudioLDM 2的框架原理:

图片

  1. 给定文本输入,使用了两种文本编码器模型来计算文本嵌入:CLAP的文本分支和Flan-T5的文本编码器。CLAP用于与相应音频样本对齐,而Flan-T5则更好地表示文本的语义。

  2. 以CLAP和Flan-T5嵌入为输入,GPT2被用于生成N个新的嵌入向量的序列。

  3. GPT2生成的嵌入向量和Flan-T5文本嵌入被用作LDM中的交叉注意力条件,通过反向扩散过程去噪一个随机的潜变量。LDM在反向扩散过程中运行总共T个推理步骤;

  4. 去噪的潜变量被传递给VAE解码器,以恢复 Mel spectrogram;

  5. 最终获得输出的音频波形。

主流的 43 个多模态大模型中的Modality Generator技术如下:

图片

NExT-GPT的Modality Generator的方案是:生成图像的Stable Diffusion、视频的Zeroscope、音频的AudioLDM。

图片


3.Generation via Codebooks

在UNIFIED-IO 2模型中,码本(codebooks)的使用为多模态内容的生成提供了一种高效且灵活的方法。码本是一种将连续数据映射到离散空间的技术,它通过预训练的向量集合来表示数据的不同特征。这种方法在处理视觉(图像/视频)和音频等模态的数据时尤为有效。下面将以Visual (Image/Video) Generator 为例,详细介绍这些生成方法。

3.1 VQ-VAE + Codebooks

VQ-VAE(Vector Quantized Variational AutoEncoder)是一种结合了向量量化和变分自编码器的模型。在这种方法中,图像首先被编码成一个嵌入向量序列,然后这些向量通过向量量化技术被映射到码本中的离散表示。码本是由大量预训练的向量组成的集合,每个向量代表视觉空间中的一个特定点。

VQ-VAE 的工作原理是通过最小化重构误差来学习图像的压缩表示。通过选择最接近原始嵌入向量的码本向量,模型可以重建图像的一个近似版本。此外,通过混合和匹配码本中的不同向量,VQ-VA化能够探索图像空间并生成新的图像内容。这种方法不仅能够生成高质量的图像,还能够有效地压缩图像数据。

3.2 VQ-GAN + Codebooks

VQ-GAN(Vector Quantized Generative Adversarial Network)是另一种结合了生成对抗网络(GAN)和向量量化技术的模型。在UNIFIED-IO 2模型中,VQ-GAN用于将图像转换成离散的码本索引。这些索引随后可以被用来生成新的图像。

与VQ-VAE类似,码本在VQ-GAN中也起到了桥接连续图像表示和离散潜在空间的作用。生成器网络尝试生成逼真的图像,而判别器网络则试图区分真实图像和生成图像。通过训练,VQ-GAN能够学习到图像的压缩表示,并且能够通过改变码本索引来生成多样化的图像。

这些基于码本的生成方法使得模型能够处理和生成多种模态的数据,包括图像、视频和音频。码本的离散化表示不仅提高了模型的学习效率,还有助于保持生成内容的多样性和质量。

Unified-IO 2 结构

总结

Text Generation:文本生成技术主要应用于视觉问答(VQA)和图像描述(Caption)任务中。这类技术通过大型语言模型(LLM)直接生成文本,能够快速地提供答案或者描述图像内容。由于其直接性和高效性,文本生成技术在自动化客服、内容创作、教育辅助等多个领域得到了广泛应用。

Generation via Diffusion Models:扩散模型是近年来在图像生成领域取得显著进展的一种方法。它们能够生成高质量的连续数据,尤其是在生成高分辨率和逼真的图像方面表现出色。然而,扩散模型的缺点在于它们通常需要大量的计算资源,并且生成过程相对较慢。因此,扩散模型更适合于那些对图像质量和分辨率要求极高的任务,如高端艺术创作、虚拟现实内容制作等。

Generation via Codebooks:基于码本的生成方法通过使用离散的码本索引来简化生成过程,这不仅可以减少计算复杂性,还可以允许更直接的控制生成过程。因为码本是由有限数量的向量组成的,所以可以通过修改码本中的向量来影响输出结果。不过,码本的大小是有限的,这可能限制了它捕捉数据连续性和细微变化的能力,尤其是在码本较小时可能会引入量化误差。因此,基于码本的生成方法更适合于那些需要快速生成并且对生成过程有一定程度可控性的应用,如实时图像处理、游戏中的动态内容生成等。


 推荐阅读

《三年面试五年模拟》版本更新白皮书,迎接AIGC时代

AI多模态核心架构五部曲:

AI多模态模型架构之模态编码器:图像编码、音频编码、视频编码

AI多模态模型架构之输入投影器:LP、MLP和Cross-Attention

AI多模态模型架构之LLM主干(1):ChatGLM系列

AI多模态模型架构之LLM主干(2):Qwen系列

AI多模态模型架构之LLM主干(3):Llama系列  

AI多模态模型架构之输出映射器:Output Projector  

AI多模态实战教程:

AI多模态教程:从0到1搭建VisualGLM图文大模型案例

AI多模态教程:Mini-InternVL1.5多模态大模型实践指南

AI多模态教程:Qwen-VL多模态大模型实践指南

AI多模态实战教程:面壁智能MiniCPM-V多模态大模型问答交互、llama.cpp模型量化和推理

智谱推出创新AI模型GLM-4-9B:国家队开源生态的新里程碑

<think>我们正在设计一个基于工作流(workflow)的多模态融合生成传记文稿的技术框架。这个框架需要整合文本、图像、音频、视频等多种模态的数据,通过定义清晰的工作流阶段,最终生成结构化的传记文稿。设计目标:1.**多模态数据融合**:能够处理并融合不同模态的输入信息。2.**工作流驱动**:将传记生成过程分解为多个可管理的阶段(例如:数据收集、信息提取、内容融合、文稿生成、质量评估等)。3.**自动化与智能化**:利用自然语言处理(NLP)、计算机视觉(CV)、语音识别(ASR)等技术实现自动化处理。4.**可扩展性**:框架应易于扩展新的处理模块或模态类型。技术架构设计方案:###1.整体架构采用分层架构,分为:-**数据采集层**:负责从不同来源(数据库、网络爬虫、用户上传等)收集多模态数据。-**工作流引擎层**:定义和执行工作流,协调各处理模块。-**处理层**:包含多个处理单元,每个单元负责特定任务(如文本分析、图像识别、语音转文本等)。-**融合层**:将多模态信息融合为统一的表示。-**生成层**:基于融合信息生成传记文稿。-**评估与输出层**:对生成的文稿进行质量评估,并输出最终结果。###2.工作流设计将传记生成过程划分为以下阶段:1.**数据收集与预处理**:-收集与传记人物相关的多模态数据(文本:文章、书籍;图像:照片、图片;音频:访谈录音;视频:纪录片等)。-对每种模态的数据进行预处理(例如,文本清洗、图像裁剪、音频降噪、视频关键帧提取)。2.**特征提取**:-文本:使用NLP技术(如BERT)提取实体、事件、情感等特征。-图像:使用CV技术(如ResNet)进行物体识别、场景识别、人脸识别等。-音频:使用ASR技术转换为文本,再进行文本分析;或直接提取声学特征。-视频:分解为图像和音频,分别处理,并提取时间序列特征。3.**多模态融合**:-将不同模态提取的特征进行对齐和融合。例如,将同一时间或同一事件的文本描述、图像、音频进行关联。-可采用注意力机制(如Transformer)进行跨模态特征融合,形成统一的人物事件表示。4.**内容生成**:-基于融合后的结构化信息,使用自然语言生成(NLG)技术生成传记文稿。可以采用模板填充、序列到序列模型(如T5、GPT)等方法。5.**后处理与评估**:-对生成的文稿进行润色(语法检查、风格统一)。-通过人工评估或自动评估指标(如BLEU、ROUGE)对文稿质量进行评估,必要时进行迭代优化。###3.关键技术-**多模态融合技术**:早期融合(特征级)、晚期融合(决策级)、混合融合。推荐使用基于Transformer的跨模态融合模型(如ViLBERT、LXMERT)。-**自然语言生成**:使用预训练语言模型(如GPT-3)进行生成,结合控制生成(如提示工程)确保内容符合传记要求。-**工作流引擎**:可以使用开源工作流引擎(如ApacheAirflow)或自定义状态机来管理流程。###4.系统实现-**编程语言**:Python为主,便于使用各类AI库。-**框架与工具**:-深度学习框架:PyTorch/TensorFlow-NLP库:HuggingFaceTransformers,spaCy-CV库:OpenCV,PyTorchVision-语音处理:Librosa,SpeechRecognition-工作流管理:ApacheAirflow,Prefect-**存储**:使用关系型数据库(如PostgreSQL)存储结构化信息,非结构化数据(如图像、音频)存储在对象存储(如S3)中。###5.挑战与解决方案-**数据异构性**:定义统一的数据表示格式(如JSONSchema),并在融合层转换为统一表示。-**模态缺失**:设计鲁棒的融合机制,允许某些模态数据缺失。-**生成内容可控性**:使用可控文本生成技术(如条件生成、提示模板)确保生成内容准确且符合要求。该框架通过工作流将复杂的多模态处理流程模块化,便于迭代和维护,同时利用现代AI技术实现高质量传记生成。参考文献:[^1]:多模态融合方法综述:https://arxiv.org/abs/2105.12630[^2]:工作流引擎在AI系统中的应用:https://www.sciencedirect.com/science/article/pii/S095070512100025X§§相关问题§§1.多模态融合有哪些具体方法?它们各有什么优缺点?2.如何评估生成的传记文稿质量?3.在实际部署中,如何优化多模态处理工作流的性能?4.如何解决多模态数据中的噪声和不一致问题?</think>### 基于工作流的多模态融合生成传记文稿的技术架构设计方案 #### 一、整体架构设计 采用**分层工作流引擎+多模态融合层**的架构,核心组件包括: ```mermaid graph TD A[数据采集层] --> B[工作流引擎] B --> C[多模态处理层] C --> D[融合生成层] D --> E[质量评估层] ``` 1. **工作流引擎层** - 采用**有向无环图(DAG)** 定义处理流程,每个节点代表独立处理单元 - 支持动态流程编排:`数据采集 → 模态解析 → 特征融合 → 内容生成 → 人工审核` - 容错机制:自动重试失败节点,记录执行轨迹[^1] 2. **多模态处理层** | 模态类型 | 处理技术 | 输出格式 | |---|---|---| | 文本 | BERT实体识别 | 结构化事件元组 | | 图像 | CLIP视觉特征提取 | 语义向量$V_{img} \in \mathbb{R}^{768}$ | | 音频 | Whisper语音转文本 | 时间戳文本序列 | | 视频 | 3D-CNN动作识别 | 关键帧特征集 | 3. **跨模态融合层** - 融合算法: $$ \text{Fusion}(T,I,A) = \text{Transformer}\Big(\text{Concat}[E_T(T), E_I(I), E_A(A)]\Big) $$ 其中$E_*$为各模态编码器 - 注意力机制实现模态对齐: $$ \alpha_{i,j} = \frac{\exp(\text{sim}(q_i,k_j))}{\sum_j \exp(\text{sim}(q_i,k_j))} $$ #### 二、关键技术创新 1. **动态上下文感知工作流** - 基于传记人物类型自动调整流程: ```python def select_workflow(person_type): if person_type == "艺术家": return ArtWorkflow() # 加强图像/视频处理权重 elif person_type == "科学家": return ScienceWorkflow() # 强化论文文本分析 ``` 2. **渐进式融合机制** - 三级融合策略: ```mermaid graph LR 原始特征 --> 特征级融合 特征级融合 --> 决策级融合 决策级融合 --> 生成级融合 ``` 3. **生成控制模块** - 基于Prompt的约束生成: ``` [人物姓名]:{name} [关键事件]:<event_1>,<event_2> [写作风格]:学术传记 生成要求:包含至少3个重要成就时间点 ``` #### 三、系统实现方案 ```python class BiographyGenerator: def __init__(self): self.workflow_engine = ApacheAirflow() self.fusion_model = MultimodalTransformer() def run_pipeline(self, inputs): # 工作流执行 processed_data = self.workflow_engine.execute( nodes=[TextProcessor(), ImageAnalyzer(), AudioExtractor()], dependencies={...} ) # 跨模态融合 fused_rep = self.fusion_model.fuse( text=processed_data['text_emb'], image=processed_data['image_feats'], audio=processed_data['audio_text'] ) # 文稿生成 return GPT4Generator(fused_rep).generate() ``` #### 四、性能优化策略 1. **异步管道处理** - 图像/视频处理与文本解析并行执行 2. **缓存机制** - 建立人物特征向量数据库:$ \text{DB} = \{ \text{name} \to V_{\text{person}} \} $ 3. **增量生成技术** - 当新增模态数据时,仅重算受影响工作流分支 #### 五、评估指标体系 1. 内容准确率:$$ \text{Acc} = \frac{\text{正确事件数}}{\text{总事件数}} $$ 2. 模态贡献度:$ \gamma_{\text{modality}} = \frac{\partial \text{Quality}}{\partial \text{Modality}} $ 3. 人工评分:通过AMT平台进行可读性/完整性评估[^2] [^1]: 工作流引擎容错设计参考《分布式系统设计模式》, ACM出版社 2022 [^2]: 多模态评估标准参见Multimodal Benchmark (MMB) v1.7
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值