Local deployment of large-scale music AI models on commodity hardware

📄 arXiv: 2411.09625v1 📥 PDF

作者: Xun Zhou, Charlie Ruan, Zihe Zhao, Tianqi Chen, Chris Donahue

分类: cs.SD, cs.LG, eess.AS

发布日期: 2024-11-14

备注: 2 pages


💡 一句话要点

MIDInfinite:在通用硬件上本地部署大规模音乐AI模型,实现实时MIDI生成。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 音乐生成 机器学习编译 大规模语言模型 MIDI Web应用

📋 核心要点

  1. 现有音乐AI模型部署受限于硬件,难以在通用设备上实现本地实时生成。
  2. 利用机器学习编译框架MLC,将大规模音乐生成模型移植到多种运行时环境。
  3. MIDInfinite Web应用证明了在浏览器中实时生成多乐器MIDI的可行性,速度超越实时播放。

📝 摘要(中文)

本文介绍了一个名为MIDInfinite的Web应用程序,它能够在通用硬件上本地使用大规模生成式AI模型生成符号音乐。该演示程序的实现涉及将预训练于Lakh MIDI数据集的大型语言模型(LLM)——Anticipatory Music Transformer移植到机器学习编译(MLC)框架。模型移植后,MLC能够支持在各种运行时环境(包括C++、移动设备和浏览器)上进行推理。我们认为MLC有潜力弥合日益强大的音乐AI模型与音乐软件开发者更熟悉的技术之间的差距。作为概念验证,我们构建了一个Web应用程序,允许用户在浏览器中生成无尽的多乐器MIDI流,可以从头开始生成,也可以根据提示生成。在通用硬件(M3 Macbook Pro)上,我们的演示程序可以生成每秒51个音符,对于72.9%的生成结果,这比实时播放更快,并且通过2秒的预缓冲,这一比例提高到86.3%。

🔬 方法详解

问题定义:现有的大规模音乐AI模型通常需要强大的计算资源才能运行,这限制了它们在通用硬件上的部署和应用。音乐软件开发者难以直接利用这些模型进行创作和实验,阻碍了音乐AI技术的普及。现有方法的痛点在于模型部署的复杂性和硬件依赖性。

核心思路:本文的核心思路是利用机器学习编译(MLC)框架,将大规模音乐AI模型(Anticipatory Music Transformer)转换为可在各种运行时环境(包括C++、移动设备和浏览器)上高效运行的形式。通过MLC,可以优化模型的计算图,减少内存占用,并针对目标硬件进行定制,从而提高推理速度。

技术框架:整体框架包括三个主要步骤:1) 将预训练的Anticipatory Music Transformer模型导入MLC框架;2) 使用MLC对模型进行优化和编译,生成可在不同运行时环境运行的可执行文件;3) 构建一个Web应用程序(MIDInfinite),该程序使用编译后的模型在浏览器中进行实时MIDI生成。用户可以通过Web界面设置生成参数,并实时听到生成的音乐。

关键创新:最重要的技术创新点在于成功地将一个大规模语言模型(Anticipatory Music Transformer)移植到MLC框架,并使其能够在通用硬件上实现实时推理。这使得音乐AI模型能够更方便地被音乐软件开发者使用,并为音乐创作带来了新的可能性。与现有方法的本质区别在于,本文的方法无需昂贵的服务器或GPU,即可实现高质量的音乐生成。

关键设计:关键设计包括:1) 使用MLC的自动代码生成功能,将模型转换为针对目标硬件优化的C++代码;2) 使用WebAssembly技术,在浏览器中运行编译后的模型;3) 实现一个高效的MIDI生成器,能够实时将模型的输出转换为音乐。论文中提到使用了M3 Macbook Pro进行测试,并进行了预缓冲优化,以进一步提高实时性。

🖼️ 关键图片

fig_0
fig_1

📊 实验亮点

实验结果表明,在M3 Macbook Pro上,MIDInfinite能够以每秒51个音符的速度生成MIDI音乐,对于72.9%的生成结果,这比实时播放更快。通过2秒的预缓冲,实时性进一步提高到86.3%。这些数据证明了该方法在通用硬件上实现实时音乐生成的有效性。

🎯 应用场景

该研究成果可应用于音乐创作辅助工具、音乐教育软件、游戏配乐生成、以及个性化音乐推荐等领域。它降低了音乐AI技术的使用门槛,使得更多的音乐创作者和开发者能够利用AI进行音乐创作和实验。未来,该技术有望推动音乐AI在各个领域的广泛应用,并促进音乐创作的创新。

📄 摘要(原文)

We present the MIDInfinite, a web application capable of generating symbolic music using a large-scale generative AI model locally on commodity hardware. Creating this demo involved porting the Anticipatory Music Transformer, a large language model (LLM) pre-trained on the Lakh MIDI dataset, to the Machine Learning Compilation (MLC) framework. Once the model is ported, MLC facilitates inference on a variety of runtimes including C++, mobile, and the browser. We envision that MLC has the potential to bridge the gap between the landscape of increasingly capable music AI models and technology more familiar to music software developers. As a proof of concept, we build a web application that allows users to generate endless streams of multi-instrumental MIDI in the browser, either from scratch or conditioned on a prompt. On commodity hardware (an M3 Macbook Pro), our demo can generate 51 notes per second, which is faster than real-time playback for 72.9% of generations, and increases to 86.3% with 2 seconds of upfront buffering.