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://xiahunao.cn/news/3280016.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

解析和解决Protobuf数据传输中的字段错位问题

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119@qq.com] 📱个人微信:15279484656 🌐个人导航网站:www.forff.top 💡座右铭:总有人要赢。为什么不能是我呢? 专栏导…

【Linux】全志Tina etc目录下关键文件内容修改

一、文件位置 V:\f1c100s\Evenurs\f1c100s\tina\target\allwinner\c200s-F1C200s\busybox-init-base-files\etc\ssv6x5x-wifi.cfg 二、文件内容 三、介绍 在此目录下,可以修改在etc目录下的文件内容,此处举例修改一个wifi模块的配置文件数据。

【前端 20】Element-UI快速入门

探索Element UI组件库:快速搭建Vue应用的必备工具 在现代Web开发中,Vue.js以其轻量级和灵活性赢得了广泛的关注。而Element UI,作为Vue.js的一个UI组件库,更是为开发者们提供了丰富、易用的前端组件,极大地加速了开发过…

【Spring】——Spring概述、IOC、IOC创建对象的方式、Spring配置、依赖注入(DI)以及自动装配知识

🎼个人主页:【Y小夜】 😎作者简介:一位双非学校的大二学生,编程爱好者, 专注于基础和实战分享,欢迎私信咨询! 🎆入门专栏:🎇【MySQL&#xff0…

前端vue3 巧妙的checkbox 选中框样式

我们 做前端页面交互效果的时候 我们会使用到 checkbox 复选框 做一些交互的效果 我是用的是 nut-ui 组件库中的 checkbox 组件 类似于这样的选中效果 假如 二选一的那种 可以 这样写 交互好看 而不是单纯的 checkbox 框 这里我就不使用 gif 图片了 大家应该都可以看懂的 …

操作系统课程设计:(JAVA)进程管理系统(附源码zip,jdk11,IDEA Ultimate2024 )

一.题目要求描述 本设计的目的是加深对进程概念及进程管理各部分内容的理解;熟悉进程管理中主要数据结构的设计及进程调度算法、进程控制机构、同步机构及通讯机构的实施。要求设计一个允许n个进程并发运行的进程管理模拟系统。 该系统包括有简单的进程控制、同步与…

Spring AOP总结

1、AOP(Aspect-Oriented Programming):面向切面编程让开发更高效。 工作中经常需要处理日志记录、事物管理、安全控制等跨越多个业务模块的公共逻辑。 它是一种编程的范式。它通过将跨多个业务模块的公共逻辑抽取并封装成独立的模块&#xf…

微信小程序云开发订单微信支付与小票和标签打印的完整高效流程

一个字“全”!!! 前言一、流程设定1、如何开通云支付流程2、以订单下单为例的支付流程2.1 业务场景介绍2.2 业务场景流程图 二、代码与代码文件组成1、页面JS2、云函数payPre3、支付回调函数pay_cb3.1 准备条件3.2 必要认知3.3 pay_cb 完整函…

Python使用pytest-benchmark做基准测试

安装pytest-benchmark pip install pytest-benchmark代码编写 导入pytest import pytest我们以“在120以内的正整数中找出和120互质的正整数,并统计个数和求和”为例,比较穷举和使用数学技巧完成该任务的性能。 def coprime_120_1():count 0sum 0f…

Java 8-函数式接口

目录 一、概述 二、 函数式接口作为方法的参数 三、函数式接口作为方法的返回值 四、 常用的函数式接口 简单总结 简单示例 4.1 Consumer接口 简单案例 自我练习 实际应用场景 多线程处理 4.2 Supplier接口 简单案例 自我练习 实际应用场景 配置管理 4.3 Func…

MindIE Service服务化集成部署通义千问Qwen模型

一、昇腾开发者平台申请镜像 登录Ascend官网昇腾社区-官网丨昇腾万里 让智能无所不及 二、登录并下载mindie镜像 #登录docker login -u XXX#密码XXX#下载镜像docker pull XXX 三、下载Qwen的镜像 使用wget命令下载Qwen1.5-0.5B-Chat镜像,放在/mnt/Qwen/Qwen1.5-…

将项目部署到docker容器上

通过docker部署前后端项目 前置条件 需要在docker中拉去jdk镜像、nginx镜像 docker pull openjdk:17 #拉取openjdk17镜像 docker pull nginx #拉取nginx镜像部署后端 1.打包后端项目 点击maven插件下面的Lifecycle的package 对后端项目进行打包 等待打包完成即可 2.将打…

源码搭建国内微短剧系统上架(微信抖音)所需资质全面解析

随着短视频和微短剧市场的持续升温,越来越多的企业和个人开始关注并尝试进入这一领域。微短剧以其短小精悍、内容丰富的特点,吸引了大量用户的关注。对于想要搭建并运营自己的微短剧系统的创业者来说,选择合适的平台以及准备必要的资质成为了…

Linux下文件编译器-GCC/G++

前言 本文介绍了c/c的编译过程以及gcc/g的时使用 一.c/c翻译的本质:将高级语言翻译成二进制 1)程序翻译过程: (1)预处理(头文件展开、宏替换、去注释、条件编译)还是C语言代码 ​ …

ad9361 CTRL_OUT0~7对应能读到的状态

ad9361 CTRL_OUT对应能读到的状态

新手小白如何投放知乎信息流广告推广?

随着越来越多的企业开始寻求更有效的方式来触达目标客户,知乎作为一个集知识分享、社交互动于一体的平台,已经成为众多品牌青睐的广告投放渠道之一。特别是知乎的信息流广告,因其高度融合的内容形式和精准的目标用户定向,成为了品…

《计算机网络》(第8版)第五章 运输层 复习笔记

第五章 运输层 一、运输层协议概述 1 运输层的功能 从通信和信息处理角度讲,传输层向应用层提供服务,是面向通信的最高层,也是面 向用户功能的最底层,它的主要功能有: (1)提供用户进程之间的逻…

HTML基础1-文本级元素

HTML 简介 什么是 HTML? HTML (HyperText Markup Language) 是一种用于创建网页的标准标记语言。它通过使用一系列预定义的元素来描述文档的结构和外观, 您可以使用 HTML 来建立自己的 WEB 站点。 HTML 的作用 HTML 用于定义网页的结构,…

Openwrt接UVC摄像头丢帧分析

Openwrt接UVC摄像头,使用mjpg-streamer,此处默认已经移植成功。这里以Skylab的SKW99为例进行说明,SKW99为高通QCA9531的方案,CPU的频率为650MHz。最近在应用过程中,需求完成后,发现视频码流下降了&#xff…

入门 PyQt6 看过来(案例)16~ 竖状菜单

本文依照上一篇文章进行简单的拓展,做一个竖状的堆栈菜单。效果如下: ​ 首先我们先进行分析以,页面左侧是菜单栏,按照堆栈式列表展示,包含基本信息和编程语言(仔细的你是否发现路老师文字写错了&#xff1…