这篇文章开端发表在 NVIDIA 技能博客上。

每年,作为课程的一部分,波兰华沙大学的学生都会在 NVIDIA 华沙办事处工程师的监督下,就深度学习和加快核算中的挑战性问题开展工作。我们展示了三位理学硕士学生——Alicja Ziarko、Pawe Pawlik 和 Micha 的TorToiSe,一个多阶段、根据分散的文本到语音(TTS)模型。

Alicja、Pawe 和 Micha 首先了解了语音组成和分散模型的最新进展。他们挑选了 combination,这是 无分类器引导 和 渐进式蒸馏 的一部分,在核算机视觉中体现杰出,并将其运用于语音组成。在不降低语音质量的情况下,他们将分散推迟降低了 5 倍。小型感知语音测试证实了这一成果。值得注意的是,这种办法不需要从原始模型开端进行昂贵的练习。

为什么要加快根据分散的 TTS?

自从WaveNet 在 2016 年呈现以来,神经网络已经成为语音组成的首要模型。在一些简略的运用中,例如根据人工智能的语音助手的语音组成,组成的语音简直无法与人类的语音区别。这种语音组成的速度能够比实时快几个数量级,例如运用NVIDIA NeMo AI 工具包。

但是,根据几秒钟的录音(几次拍摄)来完成高体现力或仿照声响仍然被认为是具有挑战性的。

去噪分散概率模型 (DDPMs)作为一种生成技能呈现,它能够根据输入文本生成高质量和高体现力的图画。DDPM 能够很容易地运用于 TTS,由于根据频率的声谱图能够像图画一样进行处理,然后图形化地表示语音信号。

例如,在 TorToiSe 中,这是一个根据引导分散的 TTS 模型,经过组合两个分散模型的成果来生成谱图(图 1)。迭代分散进程涉及数百个进程来完成高质量的输出,与最先进的 TTS 办法比较,推迟明显增加,这严重约束了其运用。

在图 1 中,无条件分散模型迭代地细化初始噪声,直到取得高质量的谱图。第二分散模型进一步以语言模型发生的文本嵌入为条件。

用蒸馏法加速文本到语音的扩散模型
图 1。根据分散的 TTS 神经网络 TorToiSe 的体系结构

加快分散的办法

现有的根据分散的 TTS 中的推迟削减技能能够分为无练习和根据练习的办法。

无练习办法不涉及经过回转分散进程来练习用于生成图画的网络。相反,他们只专心于优化多进程分散进程。分散进程能够看作是处理ODE/SDE方程,因此优化它的一种办法是创立一个更好的解算器DDPM,DDIM和DPM,这降低了分散进程的数量。并行采样办法,例如根据Picard iterations或Normalizing Flows,能够将分散进程并行化,以受益于 GPU 上的并行核算。

根据练习的办法首要优化分散进程中运用的网络。网络能够被剪枝,量化 或 稀少化,然后进行微调以进步精度。或者,能够手动或自动更改其神经结构,运用NAS 常识提取技能从教师网络中提取学生网络,以削减分散进程中的进程数量。

根据分散的 TTS 中的蒸馏

Alicja、Pawe 和 Micha 决定运用根据有远景的成果在核算机视觉中的办法,并且它在揣度时能够将分散模型的推迟削减 5 倍。他们成功地将渐进蒸馏运用于预练习的 TorToiSe 模型的分散部分,克服了无法访问原始练习数据等问题。

他们的办法包括两个常识提炼阶段:

  • 仿照引导分散模型输出
  • 练习另一个学生模型

在第一个常识提取阶段(图 2),对学生模型进行练习,以在每个分散进程仿照引导分散模型的输出。该阶段经过将两个分散模型组合为一个模型,将推迟削减一半。

为了处理无法访问原始练习数据的问题,将语言模型中的文本嵌入传递到原始教师模型中,以生成用于提取的组成数据。组成数据的运用也使蒸馏进程更加高效,由于在每个蒸馏进程都不必调用整个 TTS 引导分散管道。

用蒸馏法加速文本到语音的扩散模型
图 2:根据引导分散的 TTS 模型的精馏

在第二个渐进提高阶段(图 3),新练习的学生模型充任教师来练习另一个学生模型。在这种技能中,学生模型被练习为仿照教师模型,一起将分散进程的数量削减两倍。这个进程重复多次,以进一步削减进程数量,而每次都有一名新学生担任下一轮蒸馏的教师。

七次迭代的渐进蒸馏将推理进程的数量削减了 7^2 次,从练习模型的 4000 个进程削减到 31 个进程。与引导分散模型比较,这种削减导致了 5 倍的加快,不包括文本嵌入核算成本。

用蒸馏法加速文本到语音的扩散模型
图 3。渐进蒸馏的两次迭代示例

感知成对语音测试表明,提取的模型(在第二阶段之后)与根据引导提取的 TTS 模型发生的语音质量相匹配。

例如,收听表 1 中由根据渐进蒸馏的 TTS 模型生成的音频样本。样本与来自根据引导分散的 TTS 模型的音频样本的质量相匹配。假如我们简略地将蒸馏进程的数量削减到 31,而不是运用渐进蒸馏,则生成的语音的质量会明显恶化。

发言者 根据引导分散的 TTS 模型(280 分散进程) 渐进蒸馏后根据分散的 TTS(31 个分散进程) 根据引导分散的 TTS 模型(初始削减到 31 个分散进程)
女的1 Audio Audio Audio
女人 2 Audio Audio Audio
女人 3 Audio Audio Audio
男 1 Audio Audio Audio

表 1:与两个基线模型比较,根据分散的 TTS 生成的音频样本

结论

与学术界合作,帮助年轻学生刻画他们在科学和工程领域的未来,是 NVIDIA 的中心价值观之一。Alicja、Pawe和 Micha;的成功项目体现了 NVIDIA 驻波兰华沙办事处与当地大学的合作关系。

学生们设法处理了加快预先练习的、根据分散的文本到语音(TTS)模型的挑战性问题。他们在根据分散的 TTS 的杂乱领域规划并完成了一个根据常识蒸馏的处理方案,完成了分散进程的 5 倍加快。最值得注意的是,他们根据组成数据生成的共同处理方案适用于预练习的 TTS 模型,而无需访问原始练习数据。

我们鼓励您探索 NVIDIA Academic Programs 并尝试运用 NVIDIA NeMo Framework 来为生成人工智能的新时代创立完好的会话人工智能(TTS、ASR 或 NLP/LLM)处理方案。

阅读原文