多模态AnyGPT——整合图像、语音和文本多模态大规模语言模型算法原理与实践

news2025/1/19 3:12:40

概述

大规模语言模型在理解和生成人类语言方面具有非凡的能力,但迄今为止,它们的能力主要局限于文本处理。然而,现实世界是一个多模式的环境,信息通过视觉、听觉和触觉等多种感官进行交换。融入这种多样性是开发下一代系统的主要目标。具体来说,多模态编码器的加入有望使大规模语言模型能够处理不同模式的信息,并利用其先进的文本处理能力生成一致的响应。然而,这种方法无法产生多模态输出。

Emu (Sun et al., 2023b)、SEED-LaMA (Ge et al., 2023b) 和 SpeechGPT (Zhang et al., 2023a)等开创性工作在实现语言模型中的多模态理解和生成方面取得了重大进展,但这些但这些模型只集成了单一的非文本模态,如图像或音频。虽然将文本与一种额外的模态对齐相对容易,但将多种模态(N ≥ 3)整合到一个框架中并实现它们之间的双向一致性则是一个更大的挑战。

为了应对这一挑战,本文开发了 “AnyGPT”。这是一种新型的多模态大规模语言模型,带有一个多模态标记器,可将图像和语音等原始数据转换为离散的语义标记。这种方法允许大规模语言模型在语义层面以统一的方式执行识别、理解、推理和生成。此外,该模型还可处理多模态输入和输出的任何组合,实验结果表明,其零点性能可与专用模型相媲美。

本文还建立了一个新的以文本为中心的多模态对齐数据集。由于自然语言是最复杂的语义表示模式,而且存在于大多数多模态数据集中,因此该数据集旨在以文本为桥梁,实现所有模态之间的相互对齐。通过这一举措,AnyGPT 促进了多模态对话,并证明了使用离散表示统一多种模态的可行性。

本文提出了一种新的多模态大规模语言模型 AnyGPT,它可以理解和生成多种模态,并开发了一个数据集 AnyInstruct-108k,该数据集遵循多模态交织指令,并使用离散表示法有效地统一了多种模态。在演示中,我们看到了这样做的可能性。这些发展为下一代多模态系统的开发开辟了新的可能性。

AnyGPT

AnyGPT 为每种图像、语音和音乐模式都引入了专用的标记器,从而创建了一种底层技术,使 AnyGPT 的应用更加多样化。

首先,采用 SEED 标记器对图像进行标记。该标记器将 224 x 224 RGB 图像作为输入,ViT 编码器将图像编码为 16 x 16 补丁,然后因果 Q 形成器将补丁特征转换为 32 个因果嵌入。用于量化这些嵌入,并通过 MLP 将其解码为视觉代码。这一过程最终由 UNet 解码器还原为原始图像。这种先进的标记器可以精确标记图像,并将其与 unCLIP 稳定扩散的潜空间对齐。

然后使用编码器-解码器架构 SpeechTokenizer 对音频数据进行标记化。该系统使用分层量化器将音频序列压缩成离散矩阵,同时捕捉语义和语外信息。在 Commonvoice 和 Librispeech 数据集上进行预训练后,标记器能够有效地对语义和语外信息进行建模,并与语音克隆模型结合使用,生成逼真的语音。

然后,Encodec 被用作音乐数据的专用标记器。这种卷积自动编码器使用残差向量量化技术将音乐曲目量化到潜在空间;Encodec 在超过 20,000 首曲目上进行了预先训练,以高分辨率处理音乐数据,并使用四个量化器捕捉音乐的语义元素。标记器与语言模型一起预测音乐片段,彻底改变了音乐的创作和生成。

AnyGPT 大幅扩展了其语言模型的词汇量,使其能够理解和生成多模态数据,不仅包括文本,还包括图像和音频。这种新方法引入了针对每种模式的标记,并相应地扩展了模型的嵌入层和预测层。这些新添加的参数首先被随机初始化,然后进行训练,以整合来自所有模态的标记,形成一个新的词汇表,从而实现共享表征空间的一致性。这种方法使模型能够无缝整合不同类型数据的知识和信息。

为了有效处理多模态数据,AnyGPT 为每种模态配备了专用的标记器,用于将数据转换为离散的标记序列。转换后的数据通过损失函数预测下一个标记,用于训练模型。通过这种一致的学习方法,模型获得了理解和生成所有类型数据的能力,包括文本、图像和音频。主干是 LLaMA-2 7B 模型,该模型已在一个大型文本标记数据集上进行了预训练,并针对新词汇进行了微调。

此外,生成高分辨率图像和高质量音频数据尤其具有挑战性,因为需要处理大量信息。为了高效处理长序列,AnyGPT 采用了两阶段框架。这种方法首先处理语义层面的信息,然后利用这些信息生成高保真多模态内容。

此外,对于视觉内容,使用扩散模型从 SEED 标记生成高质量图像。对于音频,则采用非自回归 SoundStorm 模型从语义标记生成声音标记,然后将其转换为原始音频数据。这一过程能够从短短三秒的音频提示中再现任何说话者的声音。音乐生成使用 Encodec 标记来过滤人类感知不到的细节,并将其重构为高质量的音频数据

因此,AnyGPT 采用了创新方法来处理复杂的多模态数据并生成高质量的内容。这些技术能够深入理解和生成文本、图像和音频模式。

AnyInstruct-108k

AnyGPT 预训练数据集的分布如下图所示。该数据集根据标记数量进行了划分。内侧部分显示了模式,中间部分显示了数据类型的详细信息,外侧部分显示了各个数据集。

为了实现不同信息模态的无缝生成,目前正在开发以文本为中心的双模态数据集,精心连接不同的模态。以文本为关键,目的是通过语言模型整合图像和音频等不同模式,并使所有这些模式相互协调。

为了便于比较来自不同模式的数据,我们采用了基于标记数量的量化方法。无论数据类型如何,这种方法都能在一致的基础上对数据量进行比较。

在图像和文本方面,使用了从 LAION-2B、LAION-COCO、LAION-Aesthetics 和 JourneyDB 收集的图像-文本对。这些数据集经过精心挑选,以提高图像和文本质量,从而形成高质量的语料库。此外,我们还添加了 LAION-Aesthetics 的一个子集和 JourneyDB 的一个合成数据集,以提高图像生成的质量。我们还加入了图像和文本交叉的数据,以确保模型能在不同模式下有效工作。

在 "语音与文本 "方面,收集了大型数据集,如 Gigaspeech、Common Voice 和多语言 LibriSpeech (MLS),用于英语自动语音识别 (ASR)。这些数据集是从在线平台、众包和有声读物中收集的 57,000 小时的口语文本对,涵盖了广泛的说话者、领域和环境。

音乐与文本》从互联网上收集了 100 多万个音乐视频,并通过 Spotify API 对歌曲和视频标题进行了匹配。收集到的元数据包括视频标题、描述、关键词、播放列表名称和 Spotify 歌词,并以 JSON 格式输入到 GPT-4 中。字幕。这样就能有效地为大量音乐音频提供高质量的字幕,并最大限度地减少数据集中的错误信息。

此外,有效的人机交互应允许以各种交叉模式交换信息。然而,对话中模式数量的增加大大增加了数据收集过程的复杂性。目前,还没有包含两种以上模式的大型指示性数据集。这是开发能够管理多种交织模式对话的综合模型的主要制约因素�

为了克服这一局限性,本文从最近的数据合成研究(Wang 等人,2022 年;Wu 等人,2023 年)中汲取灵感,利用生成模型建立了一个由 108k 多轮对话样本组成的数据集。通过精心策划,每个合成对话都整合了多种交叉模式,如文本、语音、图像和音乐。数据合成过程如下图所示。

通过这种方式,可以建立连接不同模态的预训练数据集,为整合各种信息开辟新的可能性。

试验

本文评估了基于预训练的 AnyGPT 的基本性能,涵盖所有模态的多模态理解和生成任务。评估旨在测试预学习过程中不同模态之间的一致性。具体来说,每种模态都测试了文本到 X 和 X 到文本的任务。在这里,X 适用于图像、音乐和音频。

为了模拟真实世界的场景,所有的评估都是零次测试。这种严格的评估设置要求模型能够泛化到未知的测试分布,并通过不同的模态展示了 AnyGPT 的通用能力。评估结果表明,AnyGPT 作为一种通用的多模态语言模型,在各种多模态理解和生成任务中表现出色。

AnyGPT 的图像理解性能在图像字幕任务中进行了评估。下表列出了比较结果,使用的是 MS-COCO 2014 标题基准(Lin 等人,2014 年),并根据现有研究(Li 等人,2023 年;Tang 等人,2023 年b)使用了 Karpathy 细分测试集。

文本到图像图像生成任务的结果如下表所示。为了与现有研究(Koh 等人,2023;Ge 等人,2023b;Sun 等人,2023a)保持一致,从 MS-COCO 验证集中随机选取了 30 000 幅图像,并使用 CLIPscore 作为评估指标。该指标基于 CLIP-ViTL(Radford 等人,2021 年)计算生成的图像与其对应的实际图像标题之间的相似度得分。

我们还通过计算 LibriSpeech 数据集(Panayotov et al.vec 2.0 和 Whisper Large V2 作为基线,不过 Wav2vec 2.0 是用 60,000 小时的语音进行预训练,并用 LibriSpeech 进行微调的,而 Whisper Large V2 则是在零拍摄设置下进行评估的、而 Whisper Large V2 则是在零拍摄设置下进行评估的,使用 680,000 小时的语音进行训练。结果如下表所示。

此外,还在 VCTK 数据集上进行了零镜头文本到语音(TTS)评估。结果如下表所示。TTS 系统根据说话人相似度和词错误率 (WER) 进行评估。这里的 WER 侧重于语音质量。

MusicCaps 基准(Agostinelli 等人,2023 年)用于评估 AnyGPT 在音乐理解和生成任务中的表现。CLAPscore(Wu 等人,2022 年;Huang 等人,2023 年)被用作客观测量指标。它衡量生成的音乐与文本描述之间的相似度。

在对音乐字幕进行评估时发现,现有的客观测量方法在反映音乐字幕任务的表现方面能力有限。音乐的多样性和主观性会引起每个人的不同看法。只有某些音乐流派和乐器具有易于识别的显著特征。最近的研究(Gardner 等人,2023 年)对这一问题进行了探讨,但它仍然是一个难以解决的问题。为了确保评估的客观性,我们计算并比较了<音乐、实际标题>和<音乐、生成标题>对的 CLAPscores。这些分数是整个测试集的平均值。

总结

AnyGPT的核心在于使用离散表示法,可以在不改变现有大规模语言模型的框架和训练方法的情况下毫不费力地纳入新的模态。AnyGPT 的核心在于使用离散表示法,可以在不改变现有大规模语言模型的框架和学习方法的情况下毫不费力地纳入新的模式。这就赋予了模型学习新语言的灵活性。

为了使 AnyGPT 能够熟练处理不同的模式,我们还开发了一个多模式指令数据集 AnyInstruct-108k。这是一个开创性的大规模数据集,包含涉及多种模式的多轮对话。

此外,实验结果表明,AnyGPT 在不同的跨模态任务中取得了显著的成果,并有能力在单一语言模型中高效、便捷地统一具有不同离散表征的模态。AnyGPT 的引入为语音、图像、文本等不同信息源的整合开辟了新途径、AnyGPT 为整合语音、图像、文本和音乐等不同信息源开辟了新途径,有望开发出更加丰富的多模态应用。

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

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

相关文章

桥接模式【结构型模式C++】

1.概述 桥接模式是一种结构型设计模式&#xff0c;是用于把抽象化与实现化解耦&#xff0c;使得二者可以独立变化。这种类型的设计模式属于结构型模式&#xff0c;它通过提供抽象化和实现化之间的桥接结构&#xff0c;来实现二者的解耦。 这种模式涉及到一个作为桥接的接口&am…

高斯溅射融合之路(一)- webgl渲染3d gaussian splatting

大家好&#xff0c;我是山海鲸的技术负责人。之前已经写了一个GIS融合系列。其实CesiumJS的整合有相当的难度&#xff0c;同时也有很多方面的工作&#xff0c;很难在几篇文章内写完&#xff0c;整个山海鲸团队也是投入了接近两年的时间&#xff0c;才把周边整套工具链进行了完善…

算法复杂度分析笔记

基本定义间的关系 算法介绍 算法分析 时间复杂度 用数量级刻画&#xff1a;忽略所有低次幂项和系数 eg1: eg2: eg3: eg4: 小结 空间复杂度 eg: 总结

Vue3从入门到实践:深度了解新组件

1.Teleport 概念&#xff1a;Teleport&#xff08;传送门&#xff09;是一个新的特性&#xff0c;用于在DOM中的任意位置渲染组件。它允许你将组件的内容渲染到DOM中的另一个位置&#xff0c;而不受组件层次结构的限制。 下面举出例子解释&#xff1a; 1.新建App.vue文件作…

YOLOv9改进策略 | Neck篇 | 2024.1最新MFDS-DETR的HS-FPN改进特征融合层(轻量化Neck、全网独家首发)

一、本文介绍 本文给大家带来的改进机制是最近这几天最新发布的改进机制MFDS-DETR提出的一种HS-FPN结构&#xff0c;其是一种为白细胞检测设计的网络结构&#xff0c;主要用于解决白细胞数据集中的多尺度挑战。它的基本原理包括两个关键部分&#xff1a;特征选择模块和特征融合…

vue快速入门(三十一)vscod开发vue需要下载的插件

步骤很详细&#xff0c;直接上教程 上一篇 暂时就这两样足矣&#xff0c;有新的以后再更新&#xff08;别下载太多&#xff0c;可能会冲突&#xff09; 测试一下&#xff1a; 提示功能&#xff1a; 代码补全功能&#xff1a;

基于弹簧鞘复合纱和迁移学习算法的可穿戴人体重构和智能试衣系统

研究背景 在信息时代和元宇宙的背景下&#xff0c;虚拟服装设计对满足服装行业的个性化需求至关重要。与传统方法不同&#xff0c;虚拟试衣节省时间、方便客户&#xff0c;并提供多样化的款式。准确得测量人体围度并重构出人体的模型是虚拟试衣的关键。为了实现动态人体重构&a…

第Y7周:训练自己的数据集

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制&#x1f680; 文章来源&#xff1a;K同学的学习圈子 目录 一、下载YOLOv8 二、配置环境 三、准备工作 四、运行 出现报错&#xff1a;…

《QT实用小工具·三十一》基于QT开发的访客管理平台demo2

1、概述 源码放在文章末尾 该项目为访客管理平台demo&#xff0c;包含主界面、系统设置、警情查询、调试帮助、用户退出功能。 项目部分代码如下&#xff1a; #pragma execution_character_set("utf-8")#include "frmmain.h" #include "ui_frmmain…

使用不锈钢微型导轨的优势!

微型导轨是一种专门用于在紧凑空间内执行高精度的机器运动控制的导轨设备。其特点是尺寸小、精确度高、刚性好、平稳性好以及使用寿命长。微型导轨的材质种类多样&#xff0c;一般包括钢、不锈钢、铝合金等。目前来说&#xff0c;不锈钢材质的使用率最为频繁&#xff0c;那么使…

python中中英文打印对齐解决方案

在python中&#xff0c;有时候会出现中英文混合输出的情形&#xff0c;但是由于中文默认是全角格式&#xff08;一个中文字符占用两个字符宽度&#xff09;&#xff0c;这会对python原生的print函数带来一些障碍。尤其是用户用print对齐输出的时候&#xff0c;这种差异会导致文…

揭秘网红主播美颜工具:探秘美颜SDK的技术奥秘

在如今的网络直播平台上&#xff0c;越来越多的主播通过美颜工具来提升自己的形象&#xff0c;吸引更多的粉丝和观众。美颜技术的不断发展使得主播们能够在镜头前展现出更加完美的容颜&#xff0c;让观众眼前一亮。 一、美颜SDK的概念 美颜SDK&#xff0c;即美颜软件开发工具…

Bert语言大模型基础

一、Bert整体模型架构 基础架构是transformer的encoder部分&#xff0c;bert使用多个encoder堆叠在一起。 主要分为三个部分&#xff1a;1、输入部分 2、注意力机制 3、前馈神经网络 bertbase使用12层encoder堆叠在一起&#xff0c;6个encoder堆叠在一起组成编码端&#xf…

存储过程的使用(一)

目录 不带参数的存储过程 创建一个存储过程&#xff0c;向数据表 dept 中插入一条记录 带 IN 参数的存储过程 在存储过程中接受来自外部的数值&#xff0c;在存储过程中判断该数值是否大于零并显示 输入一个编号&#xff0c;查询数据表emp中是否有这个编号&#xff0c;如果…

【QT进阶】Qt Web混合编程之使用ECharts显示各类折线图等

往期回顾 【QT进阶】Qt Web混合编程之QWebEngineView基本用法-CSDN博客 【QT进阶】Qt Web混合编程之CMake VS2019编译并使用QCefView&#xff08;图文并茂超详细版本&#xff09;-CSDN博客【QT进阶】Qt Web混合编程之html、 js的简单交互-CSDN博客 【QT进阶】Qt Web混合编程之使…

【Web】2022DASCTF Apr X FATE 防疫挑战赛 题解(全)

目录 warmup-php soeasy_php warmup-java warmup-php spl_autoload_register函数实现了当程序遇到调用没有定义过的函数时&#xff0c;会去找./class/函数名.php路径下的php文件&#xff0c;并把它包含在程序中。 拿到附件拖进Seay里自动审计一下 显然利用终点为evaluateExp…

【面试经典 150 | 二叉树层序遍历】二叉树的右视图

文章目录 写在前面Tag题目来源解题思路方法一&#xff1a;层序遍历方法二&#xff1a;深度优先搜索 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对于…

MySQL-使用CPP接入到MySQL

&#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;MySQL &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 本博客主要内容介绍如何在c/cpp代码连接和管理数据库 文章目录 MySQL-…

SpringBoot-自定义注解AOP实现及拦截器示例

SpringBoot-自定义注解AOP实现及拦截器示例 一、四大元注解 当你在编写自定义注解时&#xff0c;Target、Retention、Documented 和 Inherited 是四个你可能会用到的元注解&#xff0c;它们可以帮助你更好地定义和使用注解。 1、Target Target 注解用于指定注解可以应用的程…

响应式修改 页面字体字号【大 中 小 】

浅浅记录下&#xff0c;工作中遇到的问题&#xff0c;修改页面文本字号。 <p class"change_fontSize">[ 字号 <a href"javascript:doZoom(18)">大</a><a href"javascript:doZoom(16)">中</a><a href"ja…