专注AIGC领域的专业社区,关注微软&OpenAI、百度文心一言、讯飞星火等大语言模型(LLM)的发展和应用落地,聚焦LLM的市场研究和AIGC开发者生态,欢迎关注!
DITTO-2在扩散模型的基础之上,对生成音乐的效率、控制能力,例如,音乐修复、音乐扩展、强度调整、旋律控制以及音乐结构控制等进行大幅度强化。
与传统的音乐模型相比,DITTO-2将音乐生成的效率提升了10—20倍左右,并且训练成本非常低,在A100 GPU上只训练了30多个小时。
模型蒸馏
DITTO-2的性能能获得大幅度增强,这主要是模型蒸馏模块发挥了重要作用。研究人员使用了两种蒸馏技术:一致性模型(Consistency Model, 简称CM)和一致性轨迹模型(Consistency Trajectory Model, 简称CTM)。这两种方法都是通过学习扩散过程中的一致性来加速音乐的生成过程。
CM的功能是将基础扩散模型蒸馏成一个能够进行单步采样的新神经网络。这个新网络必须满足一致性属性,即在扩散过程中的任意两点,模型的输出应该是相同的。
这意味着无论从哪个点开始,只要沿着扩散轨迹前进,最终都会得到相同的结果。为了实现这一点,CM通过最小化学习模型和指数移动平均副本之间的局部一致性损失来训练。
CTM则进一步扩展了CM的功能,不仅能够处理单步采样,还能够在扩散轨迹上的任意两点之间进行跳跃。
简单来说,就是在扩散过程中建立了一条可以快速前进的“高速公路”,GAN损失并采用了局部一致性允许模型在不同时间点之间平滑过渡。
CTM可以更有效地指导模型学习如何在扩散轨迹上的任何两点间跳跃,从而提供了一个更精确且高效的采样路径,平衡了采样过程中的随机性和整体质量。
推理时间优化
ITO(Inference-Time
Optimization, 简称ITO)的作用是在DITTO-2生成音乐的过程中实时调整模型的内部状态,以便好地符合给定的控制条件或目标。
传统的控制方法,尤其是那些超越文本控制的可分为基于训练和无训练两类。基于训练的方法,例如,Music-ControlNet,通过添加适应器模块对扩散模型进行微调,来实现时间依赖的音乐控制、覆盖旋律、结构控制等。虽然控制能力强,但每次训练都需要数百小时的GPU时间进行微调。
而ITO的优化策略与传统控制方法不同,无需在模型训练阶段就确定所有的控制条件,而是在每次生成过程中根据具体需求进行优化。
ITO主要由3个组件构成:1)一个可微分的特征提取函数,它能够将音乐片段转换为一组可以代表音乐属性的特征,比如旋律、节奏或和声;
2)一个匹配损失函数,能够量化模型输出与目标特征之间的差异;3)一组优化算法,例如,梯度下降等,可根据损失函数的结果调整模型的内部状态。
优化流程是从一个初始的噪声潜在变量开始,通过特征提取函数得到DITTO-2输出的特征,然后计算这些特征与目标特征之间的损失。根据损失函数计算得到的梯度指示如何调整模型的内部状态以减少损失。
最后,使用优化算法根据这些梯度更新模型的状态,并重复这一过程,直到达到预定的迭代次数或满足输出条件即可。
DITTO-2案例展示
下面为大家展示一下DITTO-2的主要特色功能。
用户通过文本或拍手就能生成精准的音乐,例如,一位男歌手演唱了充满活力的民歌。节奏中等快,带有富有感染力的塔布拉鼓和 Dhol 打击乐节拍、欢快的键盘伴奏。活泼、激昂、欢快、质朴、快乐、俏皮、热情、活泼,具有喜庆、喜庆的气氛和舞蹈节奏。
(文:AIGC开放社区)
DITTO-2的效率提升了十倍!直接上车,省心又省力!