腾讯ARC Lab联合NUS发布M2UGen:基于LLM的多模态音乐理解与生成框架

2024-02-07 13:55 1606 阅读 ID:1869
将门
将门

在过去的一年里,基于大语言模型LLM的音乐AIGC技术蓬勃发展,为LLM的下游应用注入了新的活力。本研究成果M2UGen致力于将LLM和音乐理解与音乐生成技术相结合,构建一个统一的多模态音乐AI辅助工具,希望能为音乐创作领域带来新的启示和突破。

论文题目:

M2UGen: Multi-modal Music Understanding and Generation with the Power of Large Language Models 

论文链接: 

https://arxiv.org/abs/2311.11255 

代码链接:

https://github.com/shansongliu/M2UGen/tree/main 

Huggingface试玩链接:

https://huggingface.co/M2UGen/M2UGen-Demo

一、背景介绍

ChatGPT诞生伊始,LLM相关研究进入了一个井喷状态,也吸引了大量学术界和工业界人士关注。除了诸如ChatGPT这种仅以文本作为输入输出的模型以外,很多研究工作以LLM作为连接不同模态的桥梁,如视觉方向的Flamingo[1],音频方向的SALMONN[2]以及三维方向的3D-GPT[3]等,这极大地扩展了LLM的应用场景。

已有的基于LLM的研究大都集中在利用LLM辅助进行单一的理解或者生成,少有研究将二者结合起来。已知的一些多模态理解与生成LLM的研究工作包括SEED-LLaMA[4](图像理解与生成)、InternLM-XComposer[5](图文穿插式对话)和NExT-GPT[6](任意模态理解与生成)。其中NExT-GPT和我们的研究工作相关程度最高,但其音乐方面能力较弱,还有较大的进步空间。

因此,为了填补这个空白,本研究提出了一个基于LLM的多模态音乐理解与生成框架M2UGen[7]。

二、研究贡献

本研究提出了统一的基于LLM的音乐理解与生成框架M2UGen,可以进行音乐理解、音乐编辑以及多模态音乐生成(文本/图像/视频到音乐生成)。

由于本领域研究尚处于早期阶段,没有很多合适数据集用于模型训练,我们还研发了一套数据生成方法,制作了MUCaps、MUEdit、MUImage、MUVideo四个数据集并发布。

为了全方位展示模型性能,我们在模型的五种能力上分别与现有模型进行了对比。实验结果表明,M2UGen模型在五种能力上均优于现有模型。目前我们已将模型代码库在Github开源,并在Huggingface上开放了模型权重和训练所需数据集(需申请)。

Huggingface模型权重和数据集链接: 

https://huggingface.co/M2UGen 

Huggingface试玩链接:

https://huggingface.co/M2UGen/M2UGen-Demo

三、M2UGen模型介绍

图1展示了M2UGen模型的整体框架:

                                                                    图1 M2UGen模型框架

该模型从左到右分为四个模块区域,分别是多模态特征编码器、多模态理解适配器、桥接LLM以及音乐理解与生成模块。下面分别对它们进行介绍。

3.1 多模态特征编码器

为了实现多模态音乐理解与生成,模型需要处理多模态输入。基于此,我们应用了一些现有的模态编码器,如音乐编码器MERT[8]、图像编码器ViT[9]和视频编码器ViViT[10]。ViT和ViViT是视觉领域常用的两个基于Transformer的编码器,在现有的一些LLM相关工作中经常涉及,因此我们选用这两个分别作为图像和视频编码器。对于音乐输入,我们的前序工作MU-LLaMA[11]证明了MERT模型显著优于其他比较的音频/音乐编码器,因此在本研究中我们选用MERT作为音乐输入的编码器。

3.2 多模态理解适配器

                                                                       图2 多模态理解适配器

该模块的主要作用是将编码器输出的特征向量进行信息整合,输入到后续的LLM中和文本输入一起控制LLM的输出。如图2所示,该模块主要由1D卷积层、线性映射层和一个稠密网络模块(Dense Network)组成。最后的稠密网络模块如图3所示:

                                                            图3 多模态理解适配器中的稠密网络模块

该模块由三个子模块组成,包含正则化层(Nomarlization)、线性层(Linear)、激活函数(SiLU)等组件。该过程可由下式表示:

3.3 桥接LLM

为了将多模态上下文信息引入LLM,我们将来自相邻上游多模态理解适配器的输出接入到LLM的指定层。我们采用Meta研发的LLaMA 2模型作为底座LLM,如图4所示。

                                                                           图4 LLaMA 2模型

这里选用的模型版本是LLaMA 2 7B模型,包含N=32个隐层。从该模型的顶层算起,每L层(L=6)引入一个模态信息,从上至下依次引入音乐、图像和视频模态信息,并使用零初始值注意力模块,底部的(N-3L-1)层则采用原始的注意力模块。LLM的文本指令从底层,也即第一层输入。利用该技术,LLM被赋予了通过其他模态信息来引导LLM输出的能力。

3.4 音乐理解与生成模块

受NExT-GPT[6]工作启发,本模型引入了特定的音频标记[AUD],用来区分音乐问答和生成任务。在模型训练阶段,对于以音乐作为输出(即音乐生成任务)的训练样本对(如文本指令-音乐对),这些音频标记会添加在LLM输出的末尾,用于指示下游的音乐输出。在模型推理阶段,假如用户输入的指令和音乐生成有关,比如Generate a music using flute(用笛子生成一段音乐),则LLM的输出会包含音频标记,从而下游的音乐解码器会接收该指令并生成以笛子作为演奏乐器的音乐,反之如果LLM的输出没有音频标记,则表明用户期望的是音乐理解任务,此时由LLM直接回应用户提问。我们尝试了两种音乐解码器,AudioLDM 2[12]和MusicGen[13],其中MusicGen的音乐生成表现相较AudioLDM 2更好。

四、M2UGen模型训练数据集

如本文研究贡献所述,本研究构造了四组数据集MUCaps、MUEdit、MUImage和MUVideo,数据样本示例如图5所示。

                                                                图5 M2UGen训练数据样本示例

4.1 MUCaps数据集

1)约1200小时来自AudioSet和一些网站的公开音乐;

2)利用MU-LLaMA[11]模型对搜集的音乐文件生成音乐注解组成音乐-文本对。

4.2 MUEdit数据集

1)从AudioSet构建音乐池(音乐池和MUCaps不同),并筛选出约60小时相似的音乐-音乐对;

2)筛选条件包括速度(tempo)、beats(节拍)等,从而得到大体相似,但有一定区别的音乐-音乐对(比如使用的乐器不同);

3)将音乐-音乐对看作是源-目标对,将源音乐的注解文本输入给MPT-7B[14]模型得到人类端对话,目标音乐的注解文本输入给MPT-7B模型得到模型端对话,也即源音乐和目标音乐都得到对应指令用于模型训练。

4.3 MUImage/MUVideo数据集

1)从AudioSet再另外采样一些图像/视频-音乐对(和MUCaps/MUEdit中的音乐均不同,最小化音乐重复),用BLIP[15]/VideoMAE[16]模型对图像/视频做图像/视频注解;

2) 将图像/视频+音乐的注解文本输入到MPT-7B模型,分别得到人类端和模型端对话。

以上数据集构造脚本可参见:

https://github.com/shansongliu/M2UGen/tree/main/Datasets

五、M2UGen模型训练方法

M2UGen模型训练参考了NExT-GPT[6]的训练方式,分为三个阶段,分别是编码端训练、解码端训练和编解码联合训练。

5.1 阶段1——编码端训练

                                                                     图6 M2UGen阶段1训练

1)冻结多模态编码器和LLM,只训练多模态理解适配器;

2)利用来自MUCaps/COCO/MUVideo的音乐/图像/视频-文本对做阶段1训练;

3)训练损失为交叉熵损失,即比较LLM的输出和目标注解文本。

5.2 阶段2——解码端训练

                                                                            图7 M2UGen阶段2训练

1)不考虑编码测(模态编码器和适配器),冻结LLM,训练输出映射模块;


2)此阶段旨在训练LLM生成指示下游音乐解码器输出音乐的指令,或直接根据输入指令对输入的音乐做问答或注解;

3) 需要对齐的是音乐解码器(AudioLDM 2/MusicGen)的文本编码器输出和M2UGen模型输出映射模块产生的条件嵌入向量,即对输出端进行对齐;

4)此阶段在训练时,通过添加特定的音频标记[AUD]来指示是否生成音乐。如果LLM的输出中包含[AUD],则同时生成文本+音乐(音乐生成),如果不包含,则只生成文本(音乐问答);

5)损失函数采用交叉熵和均方误差,其中交叉熵是比较LLM输出的音频标记和真值音频标记,均方误差是比较M2UGen模型输出映射模块产生的条件嵌入向量和音乐解码器的文本编码器的输出文本嵌入向量。

5.3 阶段3——编解码联合训练

                                                                       图8 M2UGen阶段3训练

1)冻结多模态编码器和LLM,训练多模态理解适配器和输出映射模块,以及LLM中的LoRA参数;


2)此阶段训练时训练数据有Alpaca(通用知识)、MusicQA[11]、MUImage、MUVideo和MUEdit;

3)为了使模型可以同时生成音乐和文本, MUImage、MUVideo和MUEdit三个数据集在阶段3训练时LLM输出端添加了特定的音频标记(和阶段2训练类似)。

六、模型性能比较

                                                               图9 M2UGen与现有模型性能对比

我们在模型的五种能力上分别和现有模型进行了一一对比,并在多模态音乐生成的三个子任务上(文本/图像/视频到音乐生成)做了主观评测实验,发现我们提出的M2UGen模型性能均优于现有模型。实验分析可参考原文。

七、总结与展望

我们在LLM+音乐方面做了初步尝试,在一个统一框架M2UGen下实现了音乐理解和多模态音乐生成。此外,我们还提出了一套系统性的生成模型训练数据的方法。实验证明,我们提出的M2UGen模型在音乐理解、音乐编辑以及文本/图像/视频到音乐生成等各项任务中均优于现有模型性能。未来我们的工作重点是进一步提升模型的细粒度音乐理解能力,并改善生成音乐与输入指令之间的相关性,也使音乐编辑能力更加精确。

参考文献

[1] Alayrac J B, Donahue J, Luc P, et al. Flamingo: A Visual Language Model for Few-shot Learning[J]. Advances in Neural Information Processing Systems, 2022, 35: 23716-23736.

[2] Tang C, Yu W, Sun G, et al. SALMONN: Towards Generic Hearing Abilities for Large Language Models[J]. arXiv preprint arXiv:2310.13289, 2023.

[3] Sun C, Han J, Deng W, et al. 3D-GPT: Procedural 3D Modeling with Large Language Models[J]. arXiv preprint arXiv:2310.12945, 2023.

[4] Ge Y, Zhao S, Zeng Z, et al. Making LLaMA See and Draw with Seed Tokenizer[J]. arXiv preprint arXiv:2310.01218, 2023.

[5] Zhang P, Wang X D B, Cao Y, et al. Internlm-XComposer: A Vision-language Large Model for Advanced Text-image Comprehension and Composition[J]. arXiv preprint arXiv:2309.15112, 2023.

[6] Wu S, Fei H, Qu L, et al. NExT-GPT: Any-to-any Multimodal LLM[J]. arXiv preprint arXiv:2309.05519, 2023.

[7] Hussain A S, Liu S, Sun C, et al. M2UGen: Multi-modal Music Understanding and Generation with the Power of Large Language Models[J]. arXiv preprint arXiv:2311.11255, 2023.

[8] Li Y, Yuan R, Zhang G, et al. MERT: Acoustic Music Understanding Model with Large-Scale Self-supervised Training[J]. arXiv preprint arXiv:2306.00107, 2023.

[9] Dosovitskiy A, Beyer L, Kolesnikov A, et al. An Image is Worth 16x16 Words: Transformers for image recognition at scale[J]. arXiv preprint arXiv:2010.11929, 2020.

[10] Arnab A, Dehghani M, Heigold G, et al. ViViT: A Video Vision Transformer[C]//Proceedings of the IEEE/CVF international conference on computer vision. 2021: 6836-6846.

[11] Liu S, Hussain A S, Sun C, et al. Music Understanding LLaMA: Advancing Text-to-music Generation with Question Answering and Captioning[J]. arXiv preprint arXiv:2308.11276, 2023.

[12] Liu H, Tian Q, Yuan Y, et al. AudioLDM 2: Learning Holistic Audio Generation with Self-supervised Pretraining[J]. arXiv preprint arXiv:2308.05734, 2023.

[13] Copet J, Kreuk F, Gat I, et al. Simple and Controllable Music Generation[J]. arXiv preprint arXiv:2306.05284, 2023.

[14] MPT-7B. https://www.mosaicml.com/blog/mpt-7b.

[15] Li J, Li D, Xiong C, et al. BLIP: Bootstrapping Language-image Pre-training for Unified Vision-language Understanding and Generation[C]//International Conference on Machine Learning. PMLR, 2022: 12888-12900.

[16] Tong Z, Song Y, Wang J, et al. VideoMAE: Masked Autoencoders are Data-efficient Learners for Self-supervised Video Pre-training[J]. Advances in neural information processing systems, 2022, 35: 10078-10093.

Illustration From IconScout By Delesign Graphics

-The End-

免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
反馈
to-top--btn