深探无监督预训练技术落地 火山语音“算法优化+工程革新”两手抓

核心思想在于用量化模块将输入特征离散化

一直以来,火山语音团队都为时下风靡的视频平台提供基于语音识别技术的智能视频字幕解决方案,简单来说就是可以自动将视频中的语音和歌词转化成文字,来辅助视频创作的功能。但伴随平台用户的快速增长以及对语言种类更加丰富多样的要求,传统采用有监督学习技术来解决的办法日渐遭遇瓶颈,这让团队着实犯了难。

众所周知,传统的有监督学习会对人工标注的有监督数据产生严重依赖,尤其在大语种的持续优化以及小语种的冷启动方面。以中文普通话和英语这样的大语种为例,尽管视频平台提供了充足的业务场景语音数据,但有监督数据达到一定规模之后,继续标注的ROI将非常低,必然需要技术人员考虑如何有效利用百万小时级别的无标注数据,来进一步改善大语种语音识别的效果。

相对小众的语言或者方言,由于资源、人力等原因,数据的标注成本高昂。在标注数据极少的情况下(10小时量级),有监督训练的效果非常差,甚至可能无法正常收敛;而采购的数据往往和目标场景不匹配,无法满足业务的需要。

为此火山语音团队迫切需要研究如何以尽可能低廉的标注成本充分利用大量的无标注数据,提升少量标注数据下的识别效果并落地到实际业务中,所以无监督预训练技术成为视频平台ASR(Automatic Speech Recognition / 自动语音识别)能力向小语种推广的关键。

尽管近年来学术界在语音无监督预训练领域取得了许多重大进展,包括Wav2vec2.0 [1]、HuBERT [2]等,但在工业界却鲜有落地案例可以参考借鉴。整体来看,火山语音团队认为,以下三方面主要原因,阻碍了无监督预训练技术的落地:

  • 1. 模型参数量大、推理开销大。大量无标注数据需要用较大的模型做无监督预训练,才能得到高质量的语音表征,但这样的模型如果直接部署到线上,会带来高昂的推理成本。
  • 2. 无监督预训练只关注语音表征的学习,需要结合大量纯文本训练的语言模型联合解码才能达到理想效果,和端到端ASR推理引擎不兼容。
  • 3. 无监督预训练开销大、周期长且不稳定。以Wav2vec2.0为例,300M参数量的模型用64张V100 GPU预训练60万步,耗时长达半个月;此外由于数据分布的差异,在业务数据上训练容易发散。

对此火山语音团队在基于无监督预训练的语音识别技术落地过程中,针对以上三大痛点进行了算法改进和工程优化,形成一套完整易推广的落地方案。本文将针对方案,从落地流程、算法优化以及工程优化等环节展开详尽介绍。

落地流程

下图是基于无监督预训练的低资源语种ASR的落地流程,大致可以划分为数据收集、种子模型训练和模型迁移三个阶段。

图1 基于无监督预训练的ASR落地流程

具体来说,第一阶段的数据收集,可以通过语种分流、采购等手段收集目标语言的无标注语音、标注语音和纯文本数据。

第二阶段的种子模型训练,也就是经典的“无监督预训练+有监督微调”过程。这一阶段将得到一个声学模型,通常基于连接时序分类(Connectionist Temporal Classification, CTC [3])损失函数微调。声学模型结合纯文本训练的语言模型,构成一个完整的语音识别系统,可以取得不错的识别效果。之所以称之为种子模型,是因为这个模型并不适合直接上线到业务,我们更倾向于使用LAS(Listen, Attend and Spell [4])或RNN-T(Recurrent Neural Network Transducer [5])这类端到端模型进行线上部署。

归其原因,主要是LAS/RNN-T具有出色的端到端建模能力,同时在近年来已经取得了优于传统CTC模型的效果,并在工业界得到越来越多的应用。火山语音团队针对端到端语音识别模型的推理和部署做了大量优化工作,已形成一套相对成熟的方案,并支持众多业务。在维持效果无损的前提下,如果可以沿用端到端推理引擎,就能大幅降低引擎的运维成本。

基于此团队设计了第三阶段,即模型迁移阶段。主要借鉴知识蒸馏的思想,用种子模型对无标注数据打伪标签,然后提供一个参数量较小的LAS模型做训练,同步实现了模型结构的迁移和推理计算量的压缩。整个流程的有效性在粤语ASR上得到验证,具体实验结果如下表所示:

首先,团队采购了1kh成品数据用于实验对比,直接训练LAS模型性能不佳,字错率(Character Error Rate, CER)高达44.2%。经过分析,火山语音认为主要原因是采购数据(对话)和业务测试集(视频)领域不匹配,在wav2vec2.0上的初步实验也发现了类似的现象。

相比用采购数据做预训练,采用和目标领域一致的数据做预训练,在业务测试集上的CER可以从42.0%下降到29.4%,于是团队将业务场景的无标注数据积累到50kh,模型参数量从100M增加到300M,CER进一步下降到23.1%。

最后团队验证了模型迁移的效果,结合粤语语言模型对50kh无标注数据解码得到伪标签,训练LAS模型。可以看到,基于伪标签训练的LAS模型基本可以保持CTC种子模型的识别效果且模型参数量减少了三分之一,可以直接基于成熟的端到端推理引擎部署上线。

图2 模型参数量和CER对比

最终在模型结构和参数量不变的前提下,团队用50kh无标注业务数据和10h有标注业务数据取得了23.0%的CER,相对基线模型下降48%。解决了线上计算量和兼容性的问题之后,聚焦到整个流程中最为核心的无监督预训练技术,针对wav2vec2.0,火山语音团队分别从算法和工程两个维度进行了优化。

算法优化

wav2vec2.0作为Meta AI在2020年提出来的自监督预训练模型,开启了语音无监督表征学习的新篇章。其核心思想在于用量化模块将输入特征离散化,并通过对比学习优化,模型主体与BERT类似,随机mask部分输入特征。

相关文章