0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用NVIDIA Volta将文本实时生成自然语音

星星科技指导员 来源:NVIDIA 作者:NVIDIA 2022-04-07 10:08 次阅读

这篇文章,旨在为具有深入学习专业水平的开发人员准备,将帮助您生成一个准备生产、人工智能、文本到语音的模型。

几十年来,将文本实时转换为高质量、自然发音的语音一直是一项具有挑战性的任务。最先进的语音合成模型是基于参数神经网络 1 。文本到语音( TTS )合成通常分两步完成。

第一步将文本转换成时间对齐的特征,如 mel-spe CTR 图或 F0 频率等语言特征;

第二步将时间对齐的功能转换为音频

优化的 Tacotron2 模型 2 和新的 WaveGlow 模型 1 利用 NVIDIA Volta 上的 张量核 和图灵 GPUs 将文本实时转换为高质量的自然发音语音。生成的音频具有清晰的人声,没有背景噪音。

下面是一个使用此模型可以实现的示例:

在遵循 Jupyter 笔记本 中的步骤之后,您将能够为模型提供英语文本,并且它将生成一个音频输出文件。所有重现结果的脚本都发布在我们的 NVIDIA 深度学习示例 存储库的 GitHub 上,其中包含几个使用张量核心的高性能培训配方。此外,我们还开发了一个 Jupyter 笔记本 ,供用户创建自己的容器映像,然后下载数据集,逐步重现训练和推理结果。

模型

我们的 TTS 系统是两个神经网络模型的组合:

从“ 基于 Mel-Spe CTR 图预测的条件波网自然合成 TTS ”改进的 Tacotron 2 (图 1 )模型;

来自“ WaveGlow :一种基于流的语音合成生成网络 ”的基于流的神经网络模型。

Tacotron 2 和 WaveGlow 模型构成了一个 TTS 系统,用户可以在没有任何附加韵律信息的情况下从原始文本合成自然发音的语音。

Tacotron 2 型号

Tacotron 2 2 是一种直接从文本合成语音的神经网络结构。该系统由一个递归的序列到序列特征预测网络组成,该网络将字符嵌入映射到 mel 尺度的 spe CTR 图,然后由一个改进的 WaveNet 模型作为声码器,从这些 spe CTR 图合成时域波形,如图 1 所示。

图 1 : Tacotron 2 系统架构框图 1

网络由一个编码器(蓝色)和一个解码器(橙色)组成。编码器将一个字符序列转换成一个隐藏的特征表示,作为解码器的输入来预测 spe CTR 图。输入文本(黄色)是使用学习的 512 维字符嵌入来呈现的,它通过三个卷积层(每个包含 512 个形状为 5 × 1 的滤波器)的堆栈,然后进行批量规范化和 ReLU 激活。编码器输出被传递到注意力网络( gray ),该网络将完整编码序列总结为每个解码器输出步骤的固定长度上下文向量。

解码器是一个自回归递归神经网络,它从编码的输入序列中一次一帧地预测 mel-spe CTR 图。前一个时间步的预测首先通过一个包含两个完全连接的 256 个隐藏 ReLU 单元的层的小 pre 网络。 prenet 输出和注意力上下文向量被连接起来,并传递到一个由两个 LSTM 层组成的堆栈,其中包含 1024 个单元。通过线性变换,将 LSTM 输出与注意上下文向量的连接进行投影,以预测目标 spe CTR 图帧。最后,将预测的 mel-spe CTR 图通过一个 5 层卷积后网络,该网络预测一个残差来加入预测,以改善整体重建。每个 post-net 层由 512 个形状为 5 × 1 的过滤器组成,并进行批量标准化处理,除最后一层外,所有过滤器均激活。

我们实现的 Tacotron 2 模型与 1 中描述的模型不同,我们使用:

退出而不是分区,以使 LSTM 层正则化;

用 WaveGlow 模型 2 代替 WaveNet 来合成波形。

WaveGlow 模型

WaveGlow 1 是一种基于流的网络,能够从 mel-spe CTR 图生成高质量的语音。 WaveGlow 结合了 Glow 5 和 WaveNet 6 的见解,以提供快速、高效和高质量的音频合成,而无需自动回归。 WaveGlow 只使用一个网络实现,只使用一个单一的成本函数进行训练:使训练过程简单而稳定。我们当前的模型以 55 * 22050 = 1212750 的速度合成样本,这比每秒 22050 个样本的“实时”要快 55 倍。平均意见得分( MOS )表明,它提供的音频质量与在同一数据集上训练的最佳公开可用 WaveNet 实现一样好。

WaveGlow 是一种生成模型,它通过从分布中采样来生成音频。为了使用神经网络作为生成模型,我们从一个简单的分布中提取样本,在我们的例子中,是一个零均值的球面高斯分布,其维数与我们期望的输出相同,然后将这些样本通过一系列层将简单分布转换为具有期望分布的分布。在这种情况下,我们根据 mel-spe CTR 图对音频样本的分布进行建模。

如图 2 所示,对于通过网络的前向传递,我们将八个音频样本组作为向量,“压缩”操作,如 Glow 5 所示。然后我们通过几个“流程步骤”处理这些向量。这里的流动步骤由可逆的 1 × 1 卷积和仿射耦合层组成。在仿射耦合层中,一半的信道作为输入,然后产生乘法和加法项,用于缩放和平移剩余的信道。

图 2 : WaveGlow 网络 2

启用自动混合精度

混合精度 通过以半精度格式执行操作,同时以单精度( FP32 )存储最少的信息,从而在网络的关键部分尽可能多地保留信息,从而显著提高了计算速度。启用混合精度利用了 Volta 和 Turing GPUs 上的 张量核 ,在训练时间上提供了显著的加速——在运算最密集的模型架构上,整体加速高达 3 倍。

使用 混合精度训练 之前需要两个步骤:

在适当的情况下移植模型以使用 FP16 数据类型;

手动添加损耗缩放以保持较小的渐变值。

通过使用 PyTorch 中的自动混合精度( AMP )库, APEX 中启用了混合精度,该库在检索时将变量强制转换为半精度,同时以单精度格式存储变量。为了在反向传播中保持较小的梯度值,应用渐变时必须包含 损耗标度 步骤。在 PyTorch 中,通过使用 AMP 提供的 scale _ loss ()方法,可以很容易地应用损耗缩放。要使用的缩放值可以是 dynamic 或 fixed 。

通过在训练脚本中添加– amp run 标志,可以启用张量核心的混合精度训练,您可以在我们的 Jupyter 笔记本 中看到示例。

培训业绩

表 1 和表 2 比较了采用 PyTorch -19 。 06-py3 NGC 容器 在带有 8-V100 16GB GPUs 的 NVIDIA DGX-1 上使用改进的 Tacotron 2 和 WaveGlow 模型的训练性能。在整个训练周期内,平均性能数( Tacotron 2 的输出 mel spe CTR 图每秒, WaveGlow 每秒输出样本数)。

表 2 : WaveGlow 模型的训练性能结果

如表 1 和表 2 所示,使用张量核进行混合精度训练可以实现显著的加速,并且可以有效地扩展到 4 / 8 GPUs 。混合精度训练也保持了与单精度训练相同的精度,并允许更大的批量。语音质量取决于模型大小和训练集大小;使用具有自动混合精度的张量核,可以在相同的时间内训练出质量更高的模型。

考虑到高质量所需的模型大小和培训量, GPUs 提供了一个最合适的硬件架构,并将吞吐量、带宽、可伸缩性和易用性进行了最佳组合。

推理性能

表 3 和表 4 分别显示了从 1-V100 和 1-T4 GPU 上的 1000 次推理运行中收集的 Tacotron2 和 WaveGlow 文本到语音系统的推理统计数据。从 Tacotron2 推断开始到 WaveGlow 推断结束,测量潜伏期。这些表包括平均延迟、标准偏差和延迟置信区间(百分比值)。吞吐量是以每秒生成的音频样本数来衡量的。 RTF 是一个实时因子,它告诉我们在 1 秒钟的壁时间内产生了多少秒的语音。

表 3 : 1-V100 GPU 上 Tacotron2 和 WaveGlow 系统的推断统计

与 FP32 相比,我们可以看到混合精度推理具有较低的平均延迟和延迟置信区间(百分比值),同时实现更高的吞吐量并生成更长的平均 RTF ( 1 秒壁时间内的语音秒数)。

表 4 : 1-T4 GPU 上 Tacotron2 和 WaveGlow 系统的推断统计

一步一步运行 Jupyter 笔记本

为了达到上述结果:

按照 GitHub 上的脚本操作或逐步运行 Jupyter 笔记本 来训练 Tacotron 2 和 WaveGlow v1 。 5 模型。在 Jupyter 笔记本 中,我们提供了完全自动化的脚本来下载和预处理 LJ 语音数据集 ;

数据准备步骤完成后,使用提供的 Dockerfile 构建修改后的 Tacotron 2 和 WaveGlow 容器,并在容器中启动一个分离的会话;

要使用带张量核心的 AMP 或使用 FP32 训练我们的模型,请使用 Tacrotron 2 的默认参数和使用单个 GPU 或多个 GPUs 的 WaveGlow 模型执行训练步骤。

Training

Tacotron2 和 WaveGlow 模型分别独立地进行训练,两个模型在训练过程中通过短时傅立叶变换( STFT )得到 mel-spe CTR 图。这些 mel-spe CTR 图用于 Tacotron 2 情况下的损耗计算,以及在波辉光的情况下作为网络的调节输入。

整个验证数据集的平均损失是训练损失的平均值。对于 Tacotron 2 模型,性能是以每秒的总输入令牌数来报告的,而对于 WaveGlow 模型,则是以每秒的总输出样本数来报告的。在输出日志中,这两个度量值都被记录为 train _ iter _ items / sec (每次迭代后)和 train _ epoch _ items / sec (在 epoch 上的平均值)。结果在整个训练周期内取平均值,并在训练中包含的所有 GPUs 上求和。

默认情况下,我们的训练脚本将使用张量 cCores 启动混合精度训练。您可以通过删除– fp16 run 标志来更改此行为。

Inference

在训练了 Tacotron 2 和 WaveGlow 模型,或者下载了各自模型的预先训练的检查点之后,您可以执行以文本为输入的推理,并生成一个音频文件。

您可以根据文本文件的长度自定义文本文件的内容,可能需要将– max decoder steps 选项增加到 2000 。 Tacotron 2 模型是在 LJ 语音数据集 上训练的,音频样本不超过 10 秒,相当于 860 个 mel spe CTR 图。因此,这种推断在生成相似长度的音频样本时可以很好地工作。我们将 mel-spe CTR 图长度限制设置为 2000 (约 23 秒),因为实际上它仍然可以生成正确的声音。如果需要,用户可以将较长的短语分成多个句子,并分别合成它们。

关于作者

Maggie Zhang 是 NVIDIA 的深度学习工程师,致力于深度学习框架和应用程序。她在澳大利亚新南威尔士大学获得计算机科学和工程博士学位,在那里她从事 GPU / CPU 异构计算和编译器优化。

Grzegorz Karch 是 NVIDIA 深度学习软件组的高级 CUDA 算法工程师,专注于语音合成的生成模型。 Grzegorz 拥有德国斯图加特大学计算机科学博士学位,在那里他的研究集中在科学可视化上。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NVIDIA
    +关注

    关注

    14

    文章

    4595

    浏览量

    101747
  • 深度学习
    +关注

    关注

    73

    文章

    5239

    浏览量

    119920
收藏 人收藏

    评论

    相关推荐

    NVIDIA生成式AI研究实现在1秒内生成3D形状

    NVIDIA 研究人员使 LATTE3D (一款最新文本转 3D 生成式 AI 模型)实现双倍加速。
    的头像 发表于 03-27 10:28 163次阅读
    <b class='flag-5'>NVIDIA</b><b class='flag-5'>生成</b>式AI研究实现在1秒内<b class='flag-5'>生成</b>3D形状

    NVIDIA Isaac将生成式AI应用于制造业和物流业

    NVIDIA Isaac 机器人平台利用最新的生成式 AI 和先进的仿真技术,加速 AI 机器人技术的发展。
    的头像 发表于 03-22 10:06 179次阅读
    <b class='flag-5'>NVIDIA</b> Isaac将<b class='flag-5'>生成</b>式AI应用于制造业和物流业

    NVIDIA ACE 中使用 AI 动画和语音功能打造逼真的虚拟形象

    NVIDIA 近日公布了 NVIDIA Avatar Cloud Engine(ACE) 的一系列技术,增强了 AI 虚拟形象和数字人的真实感和可访问性,这些新的动画和语音功能实现了更自然
    的头像 发表于 12-15 15:50 286次阅读
    在 <b class='flag-5'>NVIDIA</b> ACE 中使用 AI 动画和<b class='flag-5'>语音</b>功能打造逼真的虚拟形象

    利用 NVIDIA Jetson 实现生成式 AI

    近日,NVIDIA 发布了 Jetson 生成式 AI 实验室(Jetson Generative AI Lab),使开发者能够通过 NVIDIA Jetson 边缘设备在现实世界中探索生成
    的头像 发表于 11-07 21:25 490次阅读
    <b class='flag-5'>利用</b> <b class='flag-5'>NVIDIA</b> Jetson 实现<b class='flag-5'>生成</b>式 AI

    自然语言处理和人工智能的区别

      自然语言处理(Natural Language Processing,NLP)是人工智能(AI)中的一个分支,它利用计算机技术对自然语言进行处理,使得电脑能够理解和操作人类语言。自然
    发表于 08-28 17:32 935次阅读

    通过循环训练实现忠实的低资源数据文本生成

    从结构化数据中自然语言生成(NLG)往往会产生多种错误,从而限制了这些模型在面向客户的应用中的实用性。当NLG 模型在生成的输出文本时注入与输入结构化数据无关的无意义词语或信息就会产生
    的头像 发表于 08-24 14:53 269次阅读
    通过循环训练实现忠实的低资源数据<b class='flag-5'>文本生成</b>

    自然语言处理包括哪些内容 自然语言处理技术包括哪些

    Classification and Clustering):将文本按照相似性进行分类或聚类。 信息提取(Information Extraction):从文本中提取有用的信息。 自然语言
    的头像 发表于 08-03 16:22 3925次阅读

    了解独特的文本语音应用

    虚拟助手在用户发出命令后就会作出语音回复。而生成语音回复的技术被称为 文本语音(TTS) 。 TTS 应用能够让辅助器具使用者访问更多内容,因此非常实用。最新的 TTS 技术可以从一
    的头像 发表于 06-28 21:10 277次阅读
    了解独特的<b class='flag-5'>文本</b>转<b class='flag-5'>语音</b>应用

    面向结构化数据的文本生成技术研究

    今天我们要讲的文本生成是现在最流行的研究领域之一。文本生成的目标是让计算机像人类一样学会表达,目前看基本上接近实现。这些突然的技术涌现,使得计算机能够撰写出高质量的自然文本,满足特定的
    的头像 发表于 06-26 14:39 354次阅读
    面向结构化数据的<b class='flag-5'>文本生成</b>技术研究

    TTS语音合成技术及其应用

    TTS语音合成技术是一种将文本转换为自然语音的技术,它利用计算机技术和人工智能技术来模拟人声的发音和语调。该技术通过将
    的头像 发表于 06-24 02:28 844次阅读

    语音领域的GPT时刻:Meta 发布「突破性」生成语音系统,一个通用模型解决多项任务

    继开源 LLaMA 之后,Meta 在生成式 AI 方向又公布一项重大研究。 我们知道,GPT、DALL-E 等大规模生成模型彻底改变了自然语言处理和计算机视觉研究。这些模型可以生成
    的头像 发表于 06-18 21:30 442次阅读
    <b class='flag-5'>语音</b>领域的GPT时刻:Meta 发布「突破性」<b class='flag-5'>生成</b>式<b class='flag-5'>语音</b>系统,一个通用模型解决多项任务

    Meta开源文本如何生成音乐大模型

    年初,谷歌推出了音乐生成大模型 MusicLM,效果非常不错。有人称这比大火的 ChatGPT 还重要,几乎解决了音乐生成问题。近日,Meta 也推出了自己的文本音乐生成模型 Musi
    的头像 发表于 06-12 15:11 549次阅读
    Meta开源<b class='flag-5'>文本</b>如何<b class='flag-5'>生成</b>音乐大模型

    COMPUTEX2023 | NVIDIA ACE 游戏开发版利用生成式 AI 使虚拟角色栩栩如生

    ACE 游戏开发版 (NVIDIA Avatar Cloud Engine (ACE) for Games),利用 AI 驱动的自然语言交互技术,为游戏中的非玩家角色(NPC)带来智能,从而改变游戏
    的头像 发表于 05-30 01:45 398次阅读

    ETH提出RecurrentGPT实现交互式超长文本生成

    RecurrentGPT 则另辟蹊径,是利用大语言模型进行交互式长文本生成的首个成功实践。它利用 ChatGPT 等大语言模型理解自然语言指令的能力,通过
    的头像 发表于 05-29 14:34 607次阅读
    ETH提出RecurrentGPT实现交互式超长<b class='flag-5'>文本生成</b>

    NVIDIA ACE 游戏开发版利用生成式AI使虚拟角色栩栩如生 全新代工服务为云端及PC的游戏角色产生出定制化生成

    们的游戏和应用中 建立和部署定制的语音、对话及动画AI模型。 NVIDIA 开发者与性能技术部门副总裁 John Spitzer 表示:“生成式AI将彻底改变玩家与游戏人物 之间的
    发表于 05-29 13:41 235次阅读