NExT-GPT: Any-to-Any Multimodal LLM论文笔记

2023-09-20 15:21:30
论文https://arxiv.org/pdf/2309.05519.pdf
代码https://github.com/NExT-GPT/NExT-GPT/tree/main

在这里插入图片描述

1. Motivation

  • 现有的多模态大模型大都只是支持输入端的多模态(Text、Image、Video、Audio等),但是输出端都是Text。
  • 也有一些现有的输入输出都是多模态的工作,如CoDi、Visual-ChatGPT、 HuggingGPT等,这一类工作又存在下述问题

在这里插入图片描述

因此,本文提出一种端到端训练的,支持任意模态输入输出MM-LLM(Multimodal Large Language Model)——NExT-GPT。

2. Overall Architecture

在这里插入图片描述

NExT-GPT主要包含三层架构:

  1. Encoder+Input Projection:利用现有的开源编码器(ImageBind)对多模态输入进行编码,随后通过各自的Projection 模块将多模态Embedding对齐到Text Embedding。

  2. LLM:利用开源 的LLM (Vicuna)作为来处理输入多模态Embedding,进行语义理解和推理。LLM 可以直接输出文本,同时其还将输出一种模态信号指令,来决定调用哪个模态的解码器进行解码输出。
    在这里插入图片描述

  3. 对于特定模态的指令,调用对应模态的Projection模块以及相应的开源Diffusion解码器 (Stable Diffusion (SD) for image synthesis, Zeroscope for video synthesis, and AudioLDM for audio synthesis) 生成对应输出。

整个MM-LLM系统中,Encoder、LLM、Diffusion都是现成的开源预训练模型,只有输入端和输出端的Projection模块需要训练,只有1%的参数需要更新。

  • 这样首先避免了难度较大的从头训练人工;
  • 其次,这种模块化的预训练模型拼接方式能够方便集成更多的模态;

3. 输入端和输出端 Projection 模块训练方式

为了解决不同模态输入和输出之间特征对齐问题,本文分别设计了 Encoding-side LLM-centric Multimodal Alignment 和 Decoding-side Instruction-following Alignment 来进行 Projection 模块的训练。

3.1 Encoding-side LLM-centric Multimodal Alignment

在这里插入图片描述

  • 目标:aligning different inputting multimodal features with the text feature space;
  • 做法:prepare the ‘X-caption’ pair (‘X’ stands for image, audio, or video) data from existing corpus and benchmarks. And enforce LLM to produce the caption of each input modality against the gold caption。

3.2 Decoding-side Instruction-following Alignment

在这里插入图片描述

  • 背景:现有的Diffusion Model 大多采用 textual token inputs 作为condition 。
  • 目标:minimizing the distance between the LLM’s modal signal token representations (after each Transformer-based project layer) and the conditional text representations of the diffusion models。

4. Modality-switching Instruction Tuning

尽管讲输入和输出都对齐到了LLM的Embedding 空间,但是为了让模型能够生成用户想要的模态的输出,还要进行指令微调。这需要对整个MM-LLM模型采用 (INPUT, OUTPUT) 对进行训练。采用LoRA对一NeXT-GPT的小部分参数进行更新,同时,Projection 模块也需要有两层也需要进行更新。

在这里插入图片描述

为此,作者还构建了一个 Modality-switching Instruction Tuning (MosIT) 数据集。

这一部分开的还不是很明白,暂时略过。

5. Limitation and Future work

在这里插入图片描述

  1. 模态与任务扩展: 扩展到更多的模态(例如,网页、3D 视觉、热图、表格和图表)和任务(例如,对象检测、分割、定位和跟踪);

  2. 考虑更多基座 LLM: 整合不同大小的 LLM,以及其他 LLM 类型。

  3. 多模态生成策略: 目前版本的 NExT-GPT 系统仅考虑了基于扩散模型的纯输出方式的多模态输出。然而生成模式容易输出错误幻想内容(Hallucination),并且输出内容的质量往往容易受到扩散模型能力的限制。因此,进一步提升扩散模型的性能很关键,这能直接帮助提高多模态内容的输出质量。另外,实际上可以整合基于检索的方法来补充基于生成的过程的弊端,从而提升整体系统的输出可靠性。

  4. MosIT 数据集扩展:目前 NExT-GPT 所使用的 MosIT 数据集规模受限,这也会限制其与用户的交互表现。后续研究可以进一步提升模态切换指令微调学习策略以及数据集。(这个实际使用确实遇到了这种问题,模型在提供很明确的生成图片或者音频的指令情况下无法执行生成任务,只会输出一句话)

更多推荐

大语言模型之十-Byte Pair Encoding

Tokenizer诸如GPT-3/4以及LlaMA/LlaMA2大语言模型都采用了token的作为模型的输入输出,其输入是文本,然后将文本转为token(正整数),然后从一串token(对应于文本)预测下一个token。进入OpenAI官网提供的tokenizer可以看到GPT-3tokenizer采用的方法。这里以H

面试中的数据可视化:如何用数据支持你的观点

🌷🍁博主猫头虎(🐅🐾)带您GotoNewWorld✨🍁🦄博客首页——🐅🐾猫头虎的博客🎐🐳《面试题大全专栏》🦕文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺🌊《IDEA开发秘籍专栏》🐾学会IDEA常用操作,工作效率翻倍~💐🌊《100天精通Golang(基础入门篇)》🐅学会Gol

中小型互联网公司如何搭建自己的技术架构

适用范围本文主要针对中小型互联网公司,特别适用于手机APP或者pc的后台架构,基本可以支撑5万日活本文会对可能用到的相关技术进行技术选型的说明,以及技术的架构介绍,技术架构的介绍课程后面有地址,可以点进去查看。技术指标说一下一些技术指标的计算过程可以作为其他同学的参考QPS,如果是5万日活,使用集中在每天的4小时,每个

记录一个爬虫过程,从基础爬虫到逆向,再到jsrpc,再到selenium,啥都包括了

这篇文章记录一下我跟一个网站的恩怨纠葛,为了爬这个网站,不断学习新知识,不断尝试,水平提高了不少。总算有点成就了,这里做一个记录,当然还是不完美,期待未来可能技术更精进,能有更好的方法吧。这个网站是:aHR0cDovL3NkLmNoaW5hdm9sdW50ZWVyLm1jYS5nb3YuY24vc3Vic2l0ZS9z

掌握Linux服务器管理技巧与容器化应用 - 从软件服务到虚拟化技术全面解析

文章目录一.Linux软件和服务1.软件包管理和软件更新1.1APT(AdvancedPackageTool)的使用1.2Yum包管理器的使用2.操作系统升级2.1Debian/Ubuntu系统的升级2.2RedHat/CentOS系统的升级二.Linux服务的安装和配置1.Apache服务器的安装和配置步骤1:安装A

使用亚马逊云科技Amazon SageMaker,为营销活动制作广告素材

广告公司可以使用生成式人工智能和文字转图像根基模型,制作创新的广告素材和内容。在本篇文案中,将演示如何使用亚马逊云科技AmazonSageMaker从现有的基本图像生成新图像,这是一项完全托管式服务,用于大规模构建、训练和部署机器学习模型。采用此解决方案,企业无论规模如何,都可以比以往更快地制作新的广告素材,而且大幅降

Linux应用编程--IO文件

【正点原子】I.MX6U嵌入式LinuxC应用编程指南V1.1.pdf(gitee.com)1.基本概述1.什么是Linux应用程序(1)整个嵌入式linux核心课程包括5个点,按照学习顺序依次是:裸机,c高级,uboot和系统移植,linux应用编程和网络编程,驱动(2)典型的嵌入式产品就是基于嵌入式linux操作系

从零学习开发一个RISC-V操作系统(二)丨GCC编译器和ELF格式

本篇文章的内容一、GCC(GUNCompilerCollection)1.1GCC的命令格式1.2GCC的主要执行步骤1.3GCC涉及的文件类型二、ELF简介2.1ELF文件格式图2.2ELF文件处理的相关工具2.3练习本系列是博主参考B站课程学习开发一个RISC-V的操作系统的学习笔记,计划从RISC-V的底层汇编指

MySQL多表查询

浅记sql中多表查询的相关语法笛卡尔积单表查询:select*fromtable1;多表查询:select*fromtable1,table2;idnameagestatusgenderiddes1张三221男3禁止1张三221男2受限1张三221男1正常2李四121女3禁止2李四121女2受限2李四121女1正常3王

无需申请专线、无需改动网络,ERP/MES管理系统如何远程访问?

深圳市某模具公司作为一家以设计、制作五金模具、五金冲压、机加工件、加工经营为主的五金企业。为了实现更为高效的生产管理流程,引入了面向钣金/五金行业信息化建设的ERP/MES管理系统及方案,并将其部署在了企业总部的内网服务器。除了总部访问需求外,该企业还在异地设有两座工厂,同样需要使用这套生产管理系统,但是受限于网络,两

typescrip接口 interface详解,以及ts实现多态

ts接口当一个对象类型被多次使用时,一般会使用接口(interface)来描述对象的类型,达到复用的目的示例如下当一个对象类型被多次使用时,可以看到,很明显代码有大量的冗余letpersonTom:{name:string,age?:number,sayHi(name:string):void}={name:'Tom'

热文推荐