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

探索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多模态架构中的输出投影器(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" 包括以下几个方面:

  1. 特殊信号令牌(Signal Tokens):为了指示模型生成特定模态的内容,模型使用了特殊格式的信号令牌,例如 "[IMGi]" 用于图像,"[AUDi]" 用于音频,以及 "[VIDi]" 用于视频。这些令牌作为指令,告诉解码器生成相应模态的内容。

  2. 编码器和解码器的对齐:在传统的多模态模型中,解码器(例如扩散模型)通常只根据文本编码器的输出来生成内容。然而,这种以文本为中心的条件限制了模型对非文本模态的理解。为了解决这个问题,NExT-GPT 模型将LLM的模态信号令牌表示作为扩散模型去噪过程中的条件输入,以指导生成适当的图像、视频或音频。

  3. 最小化表示差异:为了加速对齐学习,模型试图最小化信号令牌表示与扩散模型的条件文本表示之间的距离。这有助于确保LLM能够准确地解释指令并生成期望的内容。

  4. 训练过程:在对齐训练阶段,使用来自不同数据集的标题作为输入,并与信号令牌作为输出进行组合。损失函数包括产生信号令牌的负对数似然、LLM产生的信号令牌与扩散模型文本编码器派生的条件文本表示之间的l2距离,以及条件潜在去噪损失。

  5. 冻结的扩散模型:在对齐学习过程中,扩散模型的主干(例如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】,备注不同方向邀请入群!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/387296.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

KVM虚拟化平台

一、概述 KVM 自 Linux 2.6.20 版本后就直接整合到 Linux 内核,它依托 CPU 虚拟化指令集(如InteI-VT、AMD-V)实现高性能的虚拟化支持。由于与 Linux 内核高度整合,因此在性能、安全性、兼容性、稳定性上都有很好的表现。 二、KVM原理简介 广义的 KVM 实…

【CN】Argo 持续集成和交付(二)

7.25.通知 概述 Argo CD 通知持续监控 Argo CD 应用程序,并提供一种灵活的方式来通知用户应用程序状态的重要变化。使用灵活的触发器和模板机制,可以配置何时发送通知以及通知内容。Argo CD 通知包含有用的触发器和模板目录。因此,可以直接…

linux网络配置与管理

目录 前言 查看网络配置 查看网络接口地址:(ifconfig) 查看DNS地址(cat /etc/resolv.conf) 查看网关地址(ip route) 启用,禁用网卡(ifup、ifdown) 查看…

day17(nginx反向代理)

反向代理 安装nginx 1.26.1 平滑升级 负载均衡 1.nginx 反向代理配置 反向代理:⽤户直接访问反向代理服务器就可以获得⽬标服务器 (后端服务器)的资源。 反向代理效果:当访问200主机(web1),&a…

DNS查询服务器的基本流程以及https的加密过程

DNS查询服务器的基本流程,能画出图更好,并说明为什么DNS查询为什么不直接从单一服务器查询ip,而是要经过多次查询,多次查询不会增加开销么(即DNS多级查询的优点)? 用户发起请求:用户…

量化、剪枝、蒸馏,这些大模型黑话到底说了些啥?

扎克伯格说,Llama3-8B还是太大了,不适合放到手机中,有什么办法? 量化、剪枝、蒸馏,如果你经常关注大语言模型,一定会看到这几个词,单看这几个字,我们很难理解它们都干了些什么&…

技术分享!国产ARM + FPGA的SDIO通信开发介绍!

SDIO总线介绍 SDIO(Secure Digital lnput and Output),即安全数字输入输出接口。SDIO总线协议是由SD协议演化而来,它主要是对SD协议进行了一些扩展。 SDIO总线主要是为SDIO卡提供一个高速的I/O能力,并伴随着较低的功耗。SDIO总线不但支持SDIO卡,而且还兼容SD内存卡。支持…

一文搞懂网络IO和java中的IO模型

目录 1.绪论 2.IO分类 3.用户空间和内核空间 4.同步阻塞IO 5.同步非阻塞IO 6.IO多路复用 6.1 基本原理 6.2 linux对IO多路复用的实现方式 6.3.1 select 1.实现原理 2.缺点 6.3.2 poll 1.实现原理 6.3.3 epoll 1.epoll数据结构 2.epoll的函数 3.epoll的优点 4…

JS小应用:从图床获取的html代码中提取IMG标签并提取图片复制到剪贴板

JS小应用:从图床获取的html代码中提取IMG标签并提取图片复制到剪贴板 问题产生 自己做站长,为了节省银子,难免要用到图床。有的图床可以直接给你URL,这当然是最好的情况: 而有的图床,却禁用了鼠标右键&am…

Null Pointer Exception: 如何快速定位和修复?️

Null Pointer Exception: 如何快速定位和修复?💡🛠️ Null Pointer Exception: 如何快速定位和修复?💡🛠️摘要引言正文内容什么是Null Pointer Exception?🤔NPE的常见原因&#x1f…

3D魔方lua核心脚本制作

制作不易,请好好欣赏 U→R→F→D→L→B 废话不多说,上脚本 --魔方基本运行程序 --星空露珠优化脚本lua --主核心来自分享 --666 --[=[ #G4=I 1 # 2-----------2------------1 # | U1(0) U2(1) U3(2) | # …

Java中的集合相关知识汇总

总结 Java集合 从数据结构可以分为:数组、Set、Map、队列、栈;从多线程安全可以分为线程安全与非线程安全的集合从关联关系可以总结如下(不包含多线程安全类): 点线框表示接口; 折线框表示抽象类; 实线框表示实现类…

【只出现一次的数字 III】python刷题记录

R2-位运算专题. 目录 哈希表 位运算 ps: 一眼哈希表啊 哈希表 class Solution:def singleNumber(self, nums: List[int]) -> List[int]:dictdefaultdict(int)ret[]for num in nums:dict[num]1for key in dict.keys():if dict[key]1:ret.append(key)return ret怎么用位…

[C++][STL源码剖析] 详解AVL树的实现

目录 1.概念 2.实现 2.1 初始化 2.2 插入 2.2.1 旋转(重点) 左单旋 右单旋 双旋 2.❗ 双旋后,对平衡因子的处理 2.3 判断测试 完整代码: 拓展:删除 1.概念 二叉搜索树虽可以缩短查找的效率,但…

Jeecgboot仪表盘设计器使用https时访问报错

问题 仪表盘设计器设计好后,Nginx配置域名发送https请求时,/drag/page/queryById、/drag/page/addVisitsNumber仍发送http请求。导致发送下面错误: 原因 仪表盘设计器里设计的页面是由后端生成返回给前端的,后端是根据后端服…

java算法day27

java算法day27 动态规划初步总结509 斐波那契数杨辉三角打家劫舍完全平方数 动态规划初步总结 如果你感觉某个问题有很多重叠子问题,使用动态规划是最有效的。 动态规划的过程就是每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心了。贪心是…

mysql死锁排查

Mysql 查询是否存在锁表有多种方式,这里只介绍一种最常用的 1、查看正在进行中的事务 SELECT * FROM information_schema.INNODB_TRX 2、查看正在锁的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; 3、查看等待锁的事务 SELECT * FROM INFORMATION_SCHEMA.I…

视频VIP收费会员播放帝国CMS模板HTML5自适应手机多种运营模式

采用帝国CMS最新版核心制作,自适应响应式手机平板浏览,手机浏览器非常舒服哦!多种运营模式。用户中心逻辑和页面,都已经制作完整,可以搭建后稍微修改即可使用! 模板特点: 支持多集和单集播放&…

Kafka动态授权认证:利用SASL/SCRAM机制提升安全性

摘要 Apache Kafka是一个流行的分布式流处理平台,其安全性对于保护数据传输至关重要。SASL/SCRAM(Simple Authentication and Security Layer/Salted Challenge Response Authentication Mechanism)是一种认证机制,可以为Kafka集…

从华为出走的工控龙头,豪横收购法国顶尖软件龙头~

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 近日,业界传来震撼消息,华为系企业汇川科技正式宣布,已完成对法国顶尖工业软件企业Irai的全资收购。 这一战略…