10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

Facebook 发布部署在 CPU 上的高效、实时文本转语音系统,速度提高 160 倍

  • 2020-05-21
  • 本文字数:2593 字

    阅读完需:约 9 分钟

Facebook发布部署在CPU上的高效、实时文本转语音系统,速度提高160倍

实时文本语音转换通常要在 GPU 或其他专用硬件上实现,但现在,在 CPU 上也可以实现。


近日,Facebook AI 宣布已经在 CPU 服务器是上创建和部署了一款实时神经网络文本转语音系统,音频质量能达到人类水平。以前的系统通常依赖于 GPU 或其他专用硬件来实时生成高质量的语音,但通过将模型进行广泛地优化,该系统可以将合成速度比基准速度提高 160 倍,且能够在 500 毫秒内在 CPU 上生成一秒钟的音频。据介绍,该系统已经部署在了 Facebook 的视频通话设备 Portal 上,并可以在 Facebook 多个应用程序上使用,包括支持视障人士阅读和 VR 体验。


当前的文本语音转换系统(TTS)在利用神经网络模拟人类语音方面已经做过很多尝试,为了生成类人音频,一秒钟的音频需要 TTS 系统输出 2.4 万个样本,有时甚至更多。高质量模型的体量和复杂性要求系统进行大量计算,而这些计算通常需要在 GPU 或其他专用硬件上运行。


接下来,Facebook AI 对该系统如何解决核心效率挑战来实现大规模部署的问题进行了详细介绍。

基于神经网络的 TTS 管道


FacebookAI 设计了一个管道,该管道将四个组件(每个组件专注于语音的不同方面)有效地组合成一个强大而灵活的系统,四个组件包括:


  • 一个将输入文本转换为一系列语言学特征的语言前端,例如音素和句子类型。

  • 一个韵律模型,可预测节奏和旋律以创建自然语音的表现力。

  • 一个生成语音频谱表示的声学模型。

  • 一个神经声码器,可根据韵律和频谱特征生成 24 kHz 语音波形。

音律模型

在管道中构建单独的音律模型尤为重要,因为它可以在语音合成时更容易地控制语音风格。音律模型根据一系列语言学特征以及语音风格、说话者和语言嵌入,来预测句子的通话级时长(即速度)和帧级基本频率(即旋律)。它的模型架构由具有基于内容的 global attention 的循环神经网络组成,其上下文向量包含整个句子的语义信息。这样可以使模型生成更真实、自然的音律。


研究人员使用了风格嵌入,可以用现有数据集中的少量额外数据来创建新的语音风格,包括助手型、柔声型、快速型、投射型和正式型。由于不需要为每个风格创建一个单独的模型,所以只需要为每个语音风格提供 30 到 60 分钟的训练数据。

声学模型

为了实现更高的计算效率和高质量的语音,研究者采用了条件神经语音编码器架构,因为它是基于频谱输入进行预测而不是直接从文本或语言特征(例如,像 WaveNet 这样的自回归模型或相当复杂的并行合成网络 Parallel WaveNet)生成音频。他们利用声学模型将语言学和音律信息转化为帧速率频谱特征,并将其作为神经声码器的输入。这种方法使神经声学编码器能够集中处理几个相邻帧中的频谱信息,让研究者能够训练出更轻量级、体量更小的神经声码器。


权衡之下,Facebook 选择了依靠声学模型来生成光谱特征。虽然通常使用的是 80D 高保真 MFCC 或 Log-Mel 特征,但实际上,要预测出逼真的高保真声学特征本身就是一个具有挑战性的任务。为了解决这个频谱特征预测问题,研究人员采用的方法是使用 13D MFCC 特征与基频和 5D 周期性特征相连接,这样能更容易地生成声学模型。

神经声码器

条件神经声码器由两部分组成:


  • 一个卷积神经网络,将输入的特征向量从帧率(大约每秒 200 个预测值)向上采样(或扩展)到采样率(每秒 24000 个预测值)。

  • 一个类似于 WaveRNNN 的递归神经网络,以每秒 2.4 万个采样率自回归合成音频样本(或一次一个样本)。

  • 为了减少量化噪声的影响,神经声码器对 delta-mu-modulated mu-law 音频进行采样预测。


神经声码器的自回归特性要求按顺序生成样本,这对于实时合成来说是个重大挑战。当研究人员开始进行实验时,baseline 实现只能在单 CPU 内核上以约 80 个实时因子(RTF)的合成速度运行,在 80 秒内生成一秒的音频。这样的合成速度对于实时系统来说,实在是太慢了。对于像 Portal 这样的系统的实时功能,必须将其降到 1 RTF 以下。


研究人员在一个 TTS 系统中结合并实现了以下优化技术,最终使合成速度提高了 160 倍,实现了 0.5 RTF。


张量级优化和自定义运算器

在 PyTorch JIT 的帮助下,研究人员从面向训练的 PyTorch 设置迁移到推理优化的环境中。使用编译的算子和各种张量级优化获得了额外的速度提升。

非结构化模型稀疏化

研究人员通过训练,使非结构化模型稀疏化,以此来降低推理计算复杂度。在不降低音频质量的情况下,可以实现 96%的非结构化模型稀疏度——其中 4%的模型参数为非零参数。通过在推理网上使用优化的稀疏矩阵运算符,我们能够将速度提高 5 倍。

分块稀疏化

研究人员通过应用分块稀疏化技术,将非零参数限制在 16x1 的块中,并存储在连续的内存块中,从而进一步简化了参数数据布局。这使得参数数据在内存中布局紧凑,间接寻址量最小化,从而使内存带宽利用率和缓存利用率得到了显著提高。


研究人员在分块稀疏结构上操作了自定义运算符,实现了矩阵的高效存储和计算,使计算量与矩阵中的非零块数成正比。为了在不降低音频质量的前提下,对高块状稀疏度进行优化,通过模型提炼训练稀疏模型,将密集模型作为 teacher 模型。


最后,通过将重运算器分布在同一个 socket 上的多个核心上实现了进一步的加速。通过在训练过程中迫使非零参数分块均匀地分布在参数矩阵上,并在推理过程中将矩阵乘法在多个 CPU 内核之间进行分割和分配来实现。



为了改进收集训练数据的方式,Facebook 研究人员采取了这种依赖于手工生成的语料库的方法,并对该方法进行了调整以便能从大规模、非结构化数据集中选择行。通过语言模型,根据可读性标准对大数据集进行筛选。这种新颖的调整方法使我们能够最大限度地提高语料库中的语音和语序的多样性,同时仍然确保语言是自然的、可读的。这就减少了音频中的注释和录音室的编辑工作,同时提高了 TTS 的质量。通过从更多样化的语料库中自动识别脚本台词,使我们能够快速扩展到新的语言,而无需依赖手工生成的数据集。


新的数据采集方法和神经系统 TTS 系统的结合,帮助我们将语音开发周期(从脚本生成、数据采集到最终的语音交付)从一年多的时间缩短到六个月以内。最近,Facebook 成功地应用新的方法制作出了一款英伦口音的语音,这也是未来即将做出的多种尝试的第一步。


Facebook AI 表示,“很高兴能够提供更高质量的音频,提供比以前扩展性更强的数据采集方式,这样就可以更有效地为社区中的每个人带来更好的语音交互体验。


原文链接:


https://ai.facebook.com/blog/a-highly-efficient-real-time-text-to-speech-system-deployed-on-cpus/


2020-05-21 14:232040
用户头像
李冬梅 加V:busulishang4668

发布了 1156 篇内容, 共 775.2 次阅读, 收获喜欢 1284 次。

关注

评论 1 条评论

发布
用户头像
Facebook在改进语音交互系统方面不断地进行着尝试。
2020-05-21 14:29
回复
没有更多了
发现更多内容

Java 枚举与策略模式、函数式接口的结合:实现高内聚低耦合的设计

京东科技开发者

淘宝商品描述优化与拍立淘API接口探索:开启智能购物新时代

代码忍者

API 接口 pinduoduo API

舍得酒业×奇点云|最佳大数据平台供应商

奇点云

大数据

vivo 企业云盘服务端实现简介

vivo互联网技术

企业云盘

鸿蒙无权限实现图片选择拍照和录视频

龙儿筝

鸿蒙

揭秘小红书笔记详情API接口:解锁内容营销新境界

代码忍者

API 接口 pinduoduo API

『OpenCV-Python』安装以及图像的读取、显示、保存

德育处主任

OpenCV-Python

探索淘宝店铺商品列表API接口:一键解锁店铺商品全貌

代码忍者

API 接口 pinduoduo API

这些京东零售研发JDS们,说了好多掏心窝子的话!

京东零售技术

《一文讲透》第 4-1 期:KWDB 数据库运维 —— 日志系统解读

KWDB数据库

开源 物联网 数据库运维 日志管理 国产数据库

安卓动态链接库文件体积优化探索实践

京东科技开发者

Spark要解决的核心问题

paver1023

spark

如何绘制产品架构图?盘点9个产品架构图模板!

职场工具箱

在线白板 架构图 办公软件 绘图软件 产品架构图

写了本书,准备连载

FunTester

图片渐进式加载优化实践指南

Immerse

图片 加载 图片优化 渐进式

openEuler 发出全球可持续发展倡议,共建AI时代数据安全生态

科技热闻

Axure RP 8 - 高效团队协作,原型迭代同步无缝衔接

Rose

Android耗电量测试分享

京东科技开发者

淘宝购物新视角:关键字搜索与商品评论的API接口揭秘

代码忍者

API 接口 pinduoduo API

《一文讲透》第 4-2 期:KWDB 数据库运维 —— 集群参数

KWDB数据库

集群 数据库集群 配置文件 数据库集群方案介绍 数据库集群技术

揭秘淘宝item_get_app_pro:解锁淘宝APP商品详情高级版API接口的奥秘

代码忍者

API 接口 pinduoduo API

支付能力用小程序实现并非最佳技术方案

FinFish

小程序容器 超级app 小程序技术 app支付能力

Sublime Text - 智能代码补全,精准预测助力高效编码

Rose

Facebook发布部署在CPU上的高效、实时文本转语音系统,速度提高160倍_数据库_Chetan Gupta_InfoQ精选文章