大厂Data+Agent 秘籍:腾讯/阿里/字节解析如何提升数据分析智能。 了解详情
写点什么

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:231982
用户头像
李冬梅 加V:busulishang4668

发布了 1122 篇内容, 共 739.9 次阅读, 收获喜欢 1268 次。

关注

评论 1 条评论

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

云原生数据库 Amazon DynamoDB 十年创新回顾

亚马逊云科技 (Amazon Web Services)

数据库 云原生

TiDB Hackathon 2022丨总奖金池超 35 万!邀你唤醒代码世界的更多可能性!

TiDB 社区干货传送门

黑客马拉松

云原生数据库前世今生

亚马逊云科技 (Amazon Web Services)

数据库 云原生

数字孪生智慧校园三维可视化管理系统解决方案

数据可视化平台

智慧校园 智慧学校 智慧校园解决方案 智慧校园管理系统 校园三维可视化

如何写成高性能的代码(一):巧用Canvas绘制电子表格

葡萄城技术团队

html 前端 canvas html2canvas 纯前端表格技术

直播预告 | 在 CurveBS 上部署跨机 PolarDB for PostgreSQL 集群

阿里云数据库开源

数据库 postgresql 阿里云 开源 polarDB

一文读懂,硬核 Apache DolphinScheduler3.0 源码解析

白鲸开源

源码阅读 Apache DolphinScheduler 工作流编排 大数据 开源 大数据调度

精讲数据归档分析 |Data Infra 研究社第四期

Databend

大数据 开源 活动预告 #开源 数据归档

专家亮相华为云快成长直播间云安全专场,“未雨绸缪”化解数据风险

创意时空

学习WEB前端去哪里?

小谷哥

给网站加个速,原来很简单

科技怪咖

降本增效的利器——组件化开发

力软低代码开发平台

主流开源APM:Zipkin/Pinpoint/SkyWalking全面对比

穿过生命散发芬芳

APM 9月月更

select多路选择

飞翔

Go

【SSM】Mybatis系列——分页、使用注解开发、mybatis执行流程

胖虎不秃头

mybatis SSM框架 9月月更

MediaTek MT7915 Module 2T2R DR7915/Wallys Wi-Fi 6 Wave 1+ chipset

wallys-wifi6

MT7975 MT7915

降本增效两不误——云原生赋能航空业数字化转型

York

容器 云原生 数字化转型 开发运维 智慧航空

给网站加个速,原来很简单!

sofiya

在上海想学WEB前端课程如何选择

小谷哥

Java 设置 Word 中的段落缩进方式

Geek_249eec

Java word 段落缩进

腾讯云Crane获国家级科技奖,助力企业降本增效节能减排

科技热闻

资深专家亮相华为云快成长直播间CDN专场,助力企业体验升级!

神奇视野

BNBChain NFTScan 与 SpaceID 达成合作,在浏览器内支持 .bnb 域名搜索!

NFT Research

区块链 域名 bnb

【spring-kafka】@KafkaListener详解与使用

石臻臻的杂货铺

kafka 9月月更

什么样的人适合参加前端培训呢?

小谷哥

【SSM】Spring系列——Spring概述、第一个Spring程序、容器接口和实现类

胖虎不秃头

spring ssm 9月月更

C站专家圈分享-低代码构建WebAPI的原理与体验

葡萄城技术团队

架构 低代码 开发 WebApi 前后端

深度学习+大规模计算+大数据,谁才是未来的算力之王

Finovy Cloud

人工智能 云渲染

官宣 | 极狐(GitLab) 公司成立一年完成 4 轮融资,夯实中国开源市场信心

极狐GitLab

开源 DevOps 融资 自主可控 极狐GitLab

和我一起入JavaScript

楠羽

JavaScript 笔记 知识 9月月更

【SSM】Mybatis系列——多对一和一对多的处理、动态SQL

胖虎不秃头

mybatis SSM框架 9月月更

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