0、摘要
本文总结了使用大型自动语言识别(ASR)模型进行的大量工作的结果,这些模型使用了包含大约一百万小时音频的无标签数据集进行预训练。作者发现,预训练、自监督训练和增大模型大小这三种方法的结合可以极大地提高数据有效利用率,即使对具有数万小时标记数据的超大型任务也是如此。特别是,在具有34000小时标记数据的ASR任务上,通过对80亿参数预训练Conformer模型进行微调,可以仅用3%的训练数据来达到最先进的(SoTA)性能,如果使用完成的训练集,还能进一步显著的改善SoTA指标。
本文报告了将大型预训练和自监督训练模型用于大量下游任务所获得的普遍好处,这些任务涵盖了通用的语音识别领域和跨越多少数量级的数据集大小,包括在许多公共测试集上获得SoTA性能。此外,在很多非ASR的任务上,使用预训练模型同样达到了SoTA的效果。
1、引言
半监督学习(Semi-supervised learning,SSL)使用未标记数据来增强有标签任务的性能,最近在提升通用自动语音识别性能方面发挥了关键作用。半监督学习的主要场景一直在有声读物领域,包含6万小时音频的Libri-Light数据集是迄今为止最大的无标签半监督数据集,已被用于提高LibriSpeech及其子采样子集的性能。
尽管该领域取得了成功和令人兴奋的发展,但这种半监督学习的设置在几个方面受到限制:首先,无监督数据是为有监督任务量身定制的,并且在Libri-Light上的预训练模型在某些情况下对不同领域的泛华能力有限,其次,Libri-Light数据集并不比工业规模的有标签数据大多少。第三,与网络性能需要改进的实际任务相比,所考虑的监督任务要小得多。
在本报告中,我们研究了从6亿到80亿不能参数量的大型模型的效果,在包含数十万到百万小时音频的超大企鹅多样化的无标签数据集上进行了预训练和自训练。更准确地说,我们构建了:
- P-models(pre-trained models):在大型未标记数据集上预训练的模型。
- PS-models(pre-trained & self-trained models):使用大型未标记数据集预训练和自监督训练的模型。
这些模型又被用来改进各种有监督的下游任务。我们制定了一份下游任务列表,音频数据从数十小时到数万小时不等,涵盖各种领域和语言。我们专注于三类不同的下游训练方法:
- 在标记数据集上训练P-models。
- 使用P-models进行下游自训练。
- 使用PS-models进行微调。
前两种训练方法除了下游任务的标记数据外,仅使用未标记的数据。同时,PS 模型在上游进行自我训练,并使用下游任务的附加标记数据进行构建。
A、主要结论
SSL+Large Models=Labeled Data Efficiency
通过扩大模型大小并利用大量未标记数据的半监督学习技术,可以极大地提高有标签数据的效率。下图展示了在不使用额外标记数据的情况下通过在英语语音搜索任务 (Voice Search,VS) 上的效果,主要包括34k小时完整训练集以及其100h、1000h子集上的性能,可以看到,仅使用 3% 的标记数据即可获得与当前SoTA 性能相当的结果。

SoTA results for downstream ASR tasks
通过对各种下游 ASR任务的预训练模型进行微调来超越或匹配最先进的结果,如下图所示:

可以看到,在几乎所有的ASR领域中,预训练模型的WER都要好于当前该领域的SoTA,具体的结果在后面第四部分会详细分析。
SoTA results for downstream non-ASR tasks
在从预训练的大型编码器提取的特征之后训练了浅层分类器用于音频分类,通过这种方式,能够在多个公共测试集中达到 SoTA的性能:

图中可以看到,在多个领域中,当前的方法准确率上都会达到或超过该领域的最优方案,具体结果会在后面第六部分详细介绍。
Benefits of using SSL + Large Models are smaller forbigger downstream tasks, but are still significant
如图所示,通过增加模型大小、预训练和子监督训练获得的收益随着有标签数据集的增大而递减。然而,图中也可以看到在工业规模任务上仍然会有收益。

本报告的概要如下:
方法:使用Conformer架构作为语音主干模型,使用wav2vec 2.0预训练来训练600M、1B 和 8B参数的Conformer模型,并且采用自训练和/或微调包含Conformer的RNN-T或CTC模型。
Model Preparation with YouTube:使用基于YouTube的大规模数据对Conformer模型进行预训练或自训练。YT-U是一个 100 万小时的未标记数据集,用于预训练;YT-T是一个 50 万小时的过滤未标记数据集,用于自监督训练。使用这些数据集训练P和PS模型。
ASR Tasks:在各种 ASR 任务上微调P模型和PS模型并提高它们的性能。能够使用 3% 的数据在语音搜索(Voice Search)任务上匹配现有最好结果,并通过预训练显著提高使用全量数据时的性能。还能够在YouTube和公共数据集上实现SoTA/near-SoTA性能。
Experiments with Voice Search:在34k小时英语语音搜索数据集及其100h、1000h子集上微调P和PS模型。通过控制实验变量,研究标记数据集大小、模型大小、预训练、上游和下游自训练的影响。此外,还探讨了预训练的跨语言优势。
Non-ASR Tasks:使用从P模型的中间层派生的特征用于非 ASR 任务。在非语义语音(NOSS) 测试中通过仅将这些特征直接与线性模型一起使用,实现了多个任务的 SoTA 性能。对于涉及各种非语音的AudioSet基准测试,找到了在非标记原生数据集上预训练的中间Conformer层,而不是 YT-U,以产生 SoTA 结果。
Discussions and Future Directions:讨论一些值得注意的结果并讨论该领域在未来的一些研究方向。
尽管采用半监督学习方法训练大型模型的主题是统一的,但实验的细节却各不相同。这种变化是由于这项工作中探索的任务具有不同的预先存在的设置。在相应的部分描述了每个实验的重要元素,并在附录中提供了额外的细节。
||、实验方法
本报告中用于实验的方法主要遵循《Pushing the limits of semi-supervised learning forautomatic speech recognition》这篇论文,此处建议读者先看我的这篇文章,详细介绍了这篇论文,下面会简要说明主要主要组成部分:
A. 模型结构:Conformer
主干网络采用的是Conformer,它的关键组件是 Conformer块,它由注意力、前馈和卷积模块组成。如下图所示,网络输入mel-log频谱经过卷积子采样,之后应用一系列Conformer块和投影层以获得最终特征。

这些特征要么与2层LSTM解码器一起用作RNN-transducer的输入,要么在附加投影层后用作CTC模型的输入。
本文中考虑了三个分别有600M、1B 和8B参数的模型,其详细信息列在表中。

所有模型的卷积核大小都为5,分别表示为Conformer XL、Conformer XXL和Conformer G。这些模型的attention用的都是相对注意力(relative attention)。
B. Wav2vec 2.0 作预训练
为了对 Conformer 编码器网络进行预训练,采用了 wav2vec 2.0训练,如下图。首先从网络的卷积子采样层提取编码特征后,在mask后将特征传递到Conformer模型的其余部分来生成上下文向量。这些上下文向量是通过将线性层应用于初始编码特征而获得的,训练中通过优化对比损失函数来使得与目标上下文向量一致,卷积子采样层由两个应用stride (2, 2) 的2D卷积层组成。

C. 自监督训练: Noisy Student Training
Noisy Student Training (NST)是一种自监督训练方法,其中用teacher模型为大型未标记数据集生成伪标签,进而用于训练具有增强功能的学生模型。
本文中的实验设置不同于之前的报告,本文中teacher模型已与语言模型融合以生成更好的标签。在这项工作中,考虑到未标记数据集非常大,选择在没有语言模型融合的情况下进行推理,因为融合模型的推理速度明显慢于单独的 ASR 模型。
与融合模型不同的是,ASR模型计算的损失作为置信度量有一个直观的解释——可以使用简单的每字置信度度量来过滤教师生成的transcript。在本文的实验中,要么选择保留整个伪标记集,要么根据每个词的置信度过滤50%的音频。
对于一些实验设置,选择使用一个已经在标记数据集上训练过的小模型作为教师模型,还选择仅进行一代NST训练以观察其效果,而不是通过多代优化性能。
总之,给定一个标记的数据集S,一个未标记的数据集U,NST过程如下:
- 使用teacher模型T生成伪标记数据集T(U)。T可能是只用S训练的模型,也可能是经过预训练或自训练的模型。
- (可选)使用每个词置信度过滤T(U)。
- (可选)将数据集T(U)和S混合成新的训练集。
- 在训练集上进行增强微调新的预训练模型M。
- (可选)令T=M,重复本流程。
D. 用Gshard/GSPMD使8B模型训练更高效
本文使用 GShard框架和GSPMD后端在Cloud TPU上训练8B模型。特别是,GSPMD风格的流水线并行工作得非常好。这是因为:1)模型有很多层,但每一层都不是很大,这使得流水线并行在设备间通信成本方面比其他形式的模型并行更有效; 2)每个流水线阶段都小于完整程序,减少了整体编译/启动时间; 3)只需要对Conformer块进行流水线并行,GSPMD允许我们方便地切换到前后各层的数据并行。
E. 训练细节
Data Processing:本文中的音频已统一采样为16KHz——任何具有不同采样率的音频都被上采样或下采样。音频特征为80维log-mel FBank。采用两种方案对文本进行编码:字素或词块模型( word-piece modes,WPM),此处每个实验的细节各有不同。
Pre-training:wav2vec 2.0 预训练的掩码起点以0.065的概率随机选择,掩码步长设置为10 步。使用Adam优化器和transformer learning rate schedule策略调节learning rate,峰值学习率为2e-3,warm-up步长为25。 Conformer XL 使用Adam优化器和指数移动平均 (EMA) 进行训练,衰减率为 0.9999。 XXL/G 模型使用 Adafactor优化器进行训练。这些模型在预训练期间不使用指数移动平均。
Training with Labels:本文中,采用了三种方式对网络进行初始化:一种是整个网络随机初始化;另一种是只有编码器部分用wav2vec 2.0预训练训练,其余网络随机初始化;最后一种是网络已经以某种方式进行了训练。为了处理所有三种情况,我们使用两个独立的优化器来处理标记训练期间网络的编码器和解码器。与预训练一样,Conformer XL使用Adam优化器进行训练,而Conformer XXL和G使用 Adafactor进行训练。所有网络都使用了EMA,衰减率为 0.9999,用于有标签数据训练。 XL/XXL模型的解码器和编码器优化器的学习率策略是由peak learning rate和warm-up步长参数化的transformer schedules ,而对于G模型,使用具有线性warm-up的固定策略。针对下游任务调整batch size大小、学习率和warm-up步骤。使用标准的自适应 SpecAugment策略,其中包含两个大小参数F=27的频率掩码和具有最大时间掩码比Ps=0.05的十个时间掩码来对输入进行增强。
III. 使用YouTube数据对模型进行预处理
在本节中描述了使用大型未标记数据集为下游任务准备大型Conformers的过程,大型未标记数据集来自YouTube视频。
A. 数据
作者收集了三个基于YouTube的数据集用于预训练、自训练和下游任务训练:
- YT-L:35 万小时的分段弱标记音频,与 1000 小时标记音频相结合。
- YT-T:50 万小时分段伪标记音频。
- YT-U:90 万小时分段未标记音频。
在构建和伪标记数据集时,具有双向LSTM encoder的RNN-T模型发挥了重要作用。这个 100M参数模型被称为“YT baseline model”。音频分割是通过对这个基线模型进行推理进而用于识别语音边界。该模型进一步用于伪标记YT-T数据集。
YT-L:YT-L是弱标记数据集的组合,其构建方法已在[69]中详细说明,另外还有 1000 小时的有标记音频。数据集的弱标记部分来自具有用户上传的转录视频的音频,主要通过强制对齐transcripts和音频并使用已有的声学模型找到高置信度的匹配。通过这种方式获得了 350 小时的带transcript的音频。
YT-T:YT-T 是一个同时包含来自用户上传的transcript和音频数的据集。使用YT基线模型对这些视频进行进一步分段,并删除非语音分段,留下 50 万小时的音频。然而,用户提供的该数据集的transcript被丢弃并且不用于训练。相反,当我们将其用于有标签训练时,采用的是在YT-L上训练的YT基线模型在该数据集上生成伪标签作为该数据的标签。
YT-U:YT-U的构建首先是从包含大量说话片段的YouTube视频(包括讲座、新闻和采访)中随机收集 300 万小时的音频,并按语言过滤。然后,用YT baseline模型进一步细分这300万小时的音频,由YT baseline模型识别的非语音片段被删除,以产生大约一百万小时的未标记音频数据。
YT域的测试集是通过手工标注的来自YouTube的11小时的流行视频生成的,每段长度为2-10分钟。
除了拥有大量可用音频的明显优势外,这些基于YouTube的数据集还具有极其广泛的子域,如下图所示的 YT-U。这种多样性将被证明对各种下游任务都有好处。

B.预训练和自监督训练模型
本文使用基于YouTube的数据生成了经过预训练和自训练的Conformer模型,这些模型将用于多种下游任务。本文中模型表示方法为:
Conformer{Size}-{Decoder}-{Preparation}
模型基础为Conformer,Size表示模型大小,Decoder是对应的解码器,Preparation表示模型的初始化方法。以下选项可用于每个参数:
- 模型大小:XL、XXL 或 G。
- 解码器:CTC 或 RNNT。
- 初始化方法:Null(随机初始化)、P(预训练+随机初始化)或 PS(预训练和自训练)
预训练是通过wav2vec 2.0和YT-U完成的,其细节在第二节中介绍。
同时,PS-model是通过采用YT-U预训练的模型并在伪标记数据集YT-T上训练而产生的。虽然PS-model从未看到标记的数据集 YT-L,但它隐式地使用了该信息,因为YT-T的伪标签是由在YT-L上训练的YT基线模型生成。另外采用了一个4k-WPM模型来标记PS-model的文本。自训练产生一个强大的上游模型,可以在较小的任务上进行微调。 PS-model在YT测试集上的性能见下表

本文来源知乎,文章作者:蘑菇炖提莫
