由腾讯与新加坡国立大学开发的多模态音乐理解和生成模型M2UGen已经上架GitHub,并在Hugging Face释出模型,M2UGen能够理解各种音乐,包括风格、演奏乐器、表达的情绪情感等,并进行音乐问答,还能根据文本、图像、视频和音频生成各种音乐,同时对生成的音乐也能理解并根据文字描述对音乐进行编辑。M2UGen 使用了多种编码器,包括用于音乐理解的 MERT、用于图像理解的 ViT 和用于视频理解的 ViViT,以及作为音乐生成模型(音乐解码器)的 MusicGen/AudioLDM2 模型。此外,该模型还结合了适配器和 LLaMA 2 模型。
项目主页:https://crypto-code.github.io/M2UGen-Demo
GitHub地址:https://github.com/shansongliu/M2UGen
Hugging Face地址:https://huggingface.co/M2UGen
主要功能:
- 音乐问答:M2UGen 能够理解不同类型的音乐,包括它们的风格、使用的乐器、表达的情绪和情感等。然后根据提出的问题,模型能够理解并回答与音乐相关的查询。
- 文本到音乐生成:用户可以输入文本,模型会根据这些文本生成相应的音乐。
- 图像到音乐生成:模型能够根据提供的图片内容生成匹配的音乐。
- 视频到音乐生成:根据视频内容,模型能理解视频的主要内容,并生成相应的音乐。
- 音乐编辑:用户可以对已生成的音乐进行编辑,例如改变乐器、调整节奏等,而且只需要通过文本描述即可。
工作原理:
1、多模态输入处理:M2UGen能够处理多种类型的输入,包括文本、图像、视频和音频:它使用特定的编码器来理解不同的输入模态。例如,使用MERT模型处理音乐输入,ViT模型处理图像输入,ViViT模型处理视频输入。
2、音乐理解:利用LLaMA 2模型,M2UGen能够理解音乐的各个方面,如风格、乐器使用和情感表达。它能够对音乐相关的问题进行回答,这涉及到对音乐内容的深入理解。
3、音乐生成:M2UGen不仅能理解音乐,还能根据不同的输入生成音乐。它探索使用AudioLDM 2和MusicGen等模型来根据文本、图像或视频输入生成音乐。
4、数据集生成与训练:为了训练M2UGen,开发者使用了MU-LLaMA和MPT-7B模型来生成大量的多模态音乐配对数据集。这些数据集帮助M2UGen学习如何从不同的输入中提取信息并生成相应的音乐。
系统硬件要求
对于训练,阶段1和2使用单个32GB V100 GPU,而阶段3使用2个32GB V100 GPU。对于推理,使用单个32GB V100 GPU,加载模型检查点需要大约49GB的CPU内存。