Facebook的语音合成AI可以在500毫秒内生成语音
Facebook今天发布了一种高效的AI文本语音转换(TTS)系统,可以使用常规处理器实时进行托管。目前,它正在为该公司的智能显示器品牌Portal提供动力,并且可以在Facebook内部为其他应用(例如VR)提供服务。
Facebook表示,通过采用一种新的数据收集方法(利用语言模型进行策展),该系统(可在500毫秒内产生一秒钟的音频)可以在六个月内(而不是一年内)创建具有英国口音的语音对于以前的声音。
大多数现代AI TTS系统都需要图形卡,现场可编程门阵列(FPGA)或定制设计的AI芯片(例如Google的张量处理单元(TPU))来运行,训练或同时运行和/或同时运行。例如,最近详细的Google AI系统在32个TPU上进行了并行培训。合成一秒钟的类人音频可能需要输出多达24,000个样本,有时甚至更多。这可能很昂贵;Google的最新一代TPU在Google Cloud Platform中的价格为每小时2.40美元至8美元。
像Facebook这样的TTS系统承诺无需专用硬件即可提供高质量的语音。实际上,Facebook表示其系统的加速速度是基准速度的160倍,使其适合计算受限的设备。
该公司在一份声明中说:“该系统……将在创建和扩展听起来更人性化和更具表现力的新语音应用程序中发挥重要作用。”“我们很高兴提供更高质量的音频……以便我们可以更有效地继续将语音交互带给社区中的每个人。”
组件
Facebook的系统分为四个部分,每个部分集中于语音的不同方面:语言前端,韵律模型,声学模型和神经声码器。
前端将文本转换为一系列语言功能,例如句子类型和音素(将英语单词pad,pat,p,b,d和t等一种语言中的一个单词与另一个单词区分开的声音单位不好,还有蝙蝠)。至于韵律模型,它利用语言特征,样式,说话者和语言嵌入(即模型可以解释的数字表示形式)来预测句子的语音级节奏和框架级基本频率。(“帧”是指时间的窗口,而“频率”是指旋律。)
样式嵌入使系统可以在现有训练集之上仅使用少量其他数据来创建新的声音,包括“助手”,“柔和”,“快速”,“投影”和“正式”。Facebook声称,每种样式仅需要30至60分钟的数据,这比类似的Amazon TTS系统制作新样式所需的录音“小时”少一个数量级。
Facebook的声学模型利用条件架构根据频谱输入或特定的基于频率的特征进行预测。这样,它就可以专注于包装在相邻帧中的信息,并训练更轻巧的声码器,该声码器由两个部分组成。第一个是子模型,可将输入特征编码从帧速率(每秒187个预测)升采样(即扩展)到采样率(每秒24,000个预测)。与DeepMind的WaveRNN语音合成算法相似的第二个子模型一次以每秒24,000个样本的速度生成音频样本。
性能提升
声码器的自回归特性(即要求按顺序合成样本的要求)使实时语音合成成为一个重大挑战。恰当的例子:TTS系统的早期版本花了80秒才能产生一秒钟的音频。
幸运的是,系统核心的神经网络的性质允许优化。所有模型都由神经元组成,它们是分层的,相互联系的功能。来自输入数据的信号从一层到另一层传播,并通过调整每个连接的强度(权重)来缓慢地“调整”输出。神经网络不摄取原始图片,视频,文本或音频,而是以诸如标量(单个数字),向量(标量的有序数组)和矩阵(标量排列成一列或多列)的多维数组形式嵌入一排或多排)。封装标量,向量和矩阵(张量)的第四种实体类型增加了有效线性变换(或关系)的描述。
在称为PyTorch JIT的工具的帮助下,Facebook工程师从PyTorch(Facebook的机器学习框架)中的面向培训的设置迁移到了高度推理优化的环境。编译算子和张量级优化(包括算子融合和具有激活函数近似值的自定义算子)(确定模型输出的数学方程式)带来了额外的性能提升。
另一种称为非结构化模型稀疏性的技术降低了TTS系统的训练推理复杂度,实现了96%的非结构化稀疏性,而不会降低音频质量(其中4%的模型变量或参数为非零)。将其与推理模型上的优化稀疏矩阵运算符配对后,速度提高了5倍。
逐块稀疏化(非零参数限于16 x 1块并存储在连续的内存块中)显着降低了带宽利用率和缓存利用率。各种自定义运算符有助于实现有效的矩阵存储和计算,因此计算与矩阵中非零块的数量成正比。知识提炼是一种压缩技术,其中一个较小的网络(称为学生)由一个较大的受过训练的神经网络(称为教师)进行教学,它被用来训练稀疏模型,而密集模型则作为教师。
最后,Facebook工程师主要通过在训练过程中强制非零块均匀分布在参数矩阵上,并在推理过程中分割并在多个内核之间分配矩阵乘法,从而在同一套接字的多个处理器内核上分配繁重的运算符。
数据采集
像Facebook这样的现代商业语音合成系统使用的数据集通常包含40,000个或更多的句子。为了收集足够的培训数据,该公司的工程师采用了一种方法,该方法依赖于开放域语音记录(话语)的语料库,并从大型非结构化数据集中选择行。语言模型根据其可读性标准对数据集进行过滤,以最大程度地保证语料库中存在的语音和韵律多样性,同时确保语言保持自然和可读性。
Facebook表示,这减少了由专业配音演员录制的音频的注释和编辑,并提高了总体TTS质量。通过自动识别来自不同语料库的脚本行,该方法使工程师无需依靠人工生成的数据集即可迅速扩展到新语言。
未来的工作
Facebook下一步计划使用TTS系统和数据收集方法在其产品组合中添加除法语,德语,意大利语和西班牙语之外的更多口音,对话和语言。它还致力于使该系统比目前的系统更轻便,更高效,从而使其可以在较小的设备上运行,并且它正在探索一些功能,以使Portal的语音根据上下文以不同的讲话方式做出响应。
去年,Facebook机器学习工程师Parthath Shah告诉《电讯报》,该公司正在开发能够通过语音检测人们情绪的技术,首先是让员工和有偿志愿者重新进行对话。Facebook后来对该报告提出异议,但该想法的种子似乎已在内部萌发。在2019年初,公司研究人员发表了一篇论文,主题是产生不同的上下文语音样式,以及一篇论文,探讨了一种通过称为联接样式分析的技术来构建表达性文本到语音的想法。
“例如,当您早上出门时需要知道时间的时候,您的助手会按照您的急促步调进行,” Facebook建议。“当您在安静的地方并且轻声说话时,您的AI助手会以安静的声音回复您。然后,当厨房里嘈杂时,您的助手将切换到投射的声音,这样您就可以听到妈妈的打扰。”
这是朝着亚马逊通过“耳语模式”(Whisper Mode)完成功能迈出的一步,“耳语模式”是一项Alexa功能,通过耳语来回应耳语。亚马逊的助手最近还获得了检测由于错误而导致客户语音沮丧的能力,并道歉地提供了另一种选择(即,提议播放另一首歌曲),这是情感识别和语音合成研究的成果追溯到2017年。
除了提供Alexa及其Amazon Polly Cloud TTS服务的多种说话风格(包括“ newscaster”风格)的亚马逊之外,微软最近还在Azure认知服务中推出了多种语言的新声音。其中包括诸如快乐,同情和抒情的情感风格,可以对其进行调整以表达不同的情感以适应给定的环境。
Facebook表示:“所有这些进步都是我们更广泛的努力的一部分,以使系统能够产生适合内容和情况的细微,自然的语音。”“结合我们在移情和对话式AI方面的前沿研究,这项工作将在为每个人构建真正的智能,人性化的AI助手中发挥重要作用。”