简介
我们研究了仅通过预测大量互联网音频录音的语音处理系统的能力。当扩大到68万小时的多语言和多任务监督时,生成的模型可以很好地泛化到标准基准,而且通常可以与之前的全监督结果相竞争,但在zero-shot识别设置中,无需进行任何微调。与人类相比,这些模型接近他们的准确性和鲁棒性。我们正在发布模型和推理代码,以便为进一步的鲁棒性语音处理工作提供基础。
GitHub: https://github.com/openai/whisper
论文地址: https://arxiv.org/pdf/2212.04356v1.pdf
1.介绍
语音识别的进步得益于Wav2Vec 2.0(Baevski等人,2020)所示的无监督预训练技术的发展。由于这些方法可以直接从原始音频中学习,无需人工标签,因此它们可以有效地使用大量未标记的语音数据,并且已经快速扩展到100万小时的训练数据(Zhang等人,2021),这远远超过了学术监督数据集典型的1000小时左右。在对标准基准进行微调时,这种方法已经改进了最新技术水平,尤其是在低数据环境中。
这些预训练的音频编码器学习了高质量的语音表征,但是因为它们纯粹是无监督的,所以它们缺乏同等性能的解码器,这些解码器将这些表征映射到可用的输出,因此需要在微调阶段才能实际执行诸如语音识别之类的任务。不幸的是,这限制了它们的有用性和影响力,因为微调仍然可能是一个复杂的过程,需要有技巧的操作者。需要微调还存在额外的风险。机器学习方法非常擅长在训练数据集中找到提高对同一数据集中保留数据性能的模式。然而,这些模式中有些是脆弱和偶然的,并且不适用于其他数据集和分布。在一个特别令人不安的例子中,Radford等人(2021)记录了在ImageNet数据集(Russakovsky等人,2015)上对计算机视觉模型进行微调时,物体分类准确率提高了9.2%,而在对七个其他自然图像数据集上的同一物体进行分类时,平均准确率没有任何提高。一个在数据集上训练时达到“超人”表现的模型在另一个数据集上进行评估时仍然会犯很多基本错误,可能正是因为它正在利用人类无法察觉的那些特定于数据集的怪癖(Geirhos等人,2020)。
这表明,尽管无监督预训练极大地提高了音频编码器的质量,但缺乏同等高质量的预训练解码器,加上数据集特定微调的推荐协议,是限制其有用性和鲁棒性的关键弱点。语音识别系统的目标应该是在广泛的环境中可靠地“开箱即用”,无需对每个部署分布进行监督微调解码器。
如Narayanan等人(2018年)、Likhomanenko等人(2020年)和Chan等人(2021年)所示,通过在许多数据集/领域中进行监督预训练的语音识别系统比在单一来源上进行训练的模型表现出更高的鲁棒性,并更有效地泛化到保留的数据集。这些工作通过结合尽可能多的现有高质量语音识别数据集来实现这一目标。然而,这些数据仍然只有适度的数量易于获得。SpeechStew(Chan等人,2021年)将7个现有的数据集混合在一起,总共有5140小时的监督。虽然这并不微不足道,但与Zhang等人(2021年)所使用的100万小时的未标记语音数据相比,这还是很小的。
认识到现有高质量监督数据集的限制规模,最近的努力已经为语音识别创建了更大的数据集。通过放宽金标准人类验证的转录要求,Chen等人(2021年)和Galvez等人(2021年)利用复杂的自动化管道,将弱监督语音识别扩大到10000和30000小时的更嘈杂的训练数据。质量和数量之间的这种权衡通常是正确的选择。虽然语音识别的研究到目前为止还不够,但计算机视觉的最近研究已经表明,超越像ImageNet(Russakovsky等人,2015年)这样的金标准众包数据集,转向更大但弱监督的数据集,可以显著提高模型的鲁棒性和泛化性(Mahajan等人,2018年;Kolesnikov等人,2020年)。
然而,这些新的数据集只比现有高质量数据集的总和大几倍,仍然远小于之前的无监督工作。在这项工作中,我们弥补了这个差距,将弱监督语音识别扩大到68万小时的标记音频数据的下一个数量级。我们称我们的方法为Whisper2。我们证明在这个规模下训练的模型能够很好地转移到现有的数据集,无需进行任何数据集特定的微调就能获得高质量的结果。
除了规模,我们的工作还专注于扩大弱监督预训练的范围,超越仅仅是英语语音识别,成为多语言和多任务的。在这68万小时的音频中,117000小时涵盖了96种其他语言。数据集
还包括125,000小时的X→en翻译数据。我们发现对于足够大的模型,进行多语言和多任务的联合训练并没有任何不利的影响,甚至有利。
我们的工作表明,对于语音识别,弱监督预训练的简单扩展到目前为止一直被低估。我们无需使用最近大规模语音识别工作的主要技术,如自我监督或自我训练技术,就可以达到这些结果。为了为鲁棒的语音识别的进一步研究提供基础,我们在以下URL发布了推理代码和模型。
2. 方法
2.1. 数据处理
遵循近期利用互联网上的大规模文本来训练机器学习系统的趋势,我们对数据预处理采取了极简的方式。与大部分关于语音识别的工作不同,我们训练 Whisper 模型来预测原始文本的转录,而不进行任何显著的标准化,依赖序列到序列模型的表达能力来学习在言语和其转录形式之间的映射。这简化了语音识别流程,因为它消除了需要单独进行逆文本标准化步骤以产生自然的转录。
我们从互联网上配对的音频和转录中构建数据集。这产生了一个非常多样化的数据集,覆盖了来自许多不同环境、录音设置、演讲者和语言的广泛音频分布。虽然音频质量的多样性可以帮助训练模型具有鲁棒性,但转录质量的多样性并不具有类似的益处。初步检查显示原始数据集中有大量次优的转录。为了解决这个问题,我们开发了几种自动过滤方法来提高转录质量。
互联网上的许多转录实际上不是由人类生成的,而是现有 ASR 系统的输出。最近的研究显示,对混合人机生成数据的训练集进行训练,可能会显著影响翻译系统的性能 (Ghorbani et al., 2021)。为了避免学习“转录语言”,我们开发了许多启发式方法来检测和移除训练数据集中的机器生成的转录。许多现有的 ASR 系统只输出有限的书面语言的子集,这消除了或者将那些只从音频信号预测就很困难的方面进行了规范化,比如复杂的标点(感叹号、逗号、问号)、格式化的空白(例如段落)或者风格化的方面(例如大小写)。全大写或全小写的转录非常不可能是人类生成的。虽然许多 ASR 系统包括一些逆文本规范化的级别,但它通常是简单的或者基于规则的,仍然可以从其他未处理的方面(如从不包含逗号)进行检测。
我们还使用了一个音频语言检测器,它是通过在 VoxLingua107 (Valk & Alum ̈ae, 2021) 的原型数据集上训练
一个原型模型然后进行微调创建的,以确保口语语言与CLD2确定的转录语言相匹配。如果两者不匹配,我们不会将(音频,转录)对作为数据集中的语音识别训练样本。但如果转录语言是英语,我们会做出例外,将这些对添加到数据集中作为X→en语音翻译训练样本。我们使用模糊去重方法对转录文本进行去重,以减少训练数据集中的重复和自动生成的内容。
我们将音频文件分成30秒的片段,与该时间段内发生的转录的子集进行配对。我们对所有音频进行训练,包括没有语音的片段(虽然是以采样概率)并将这些片段用作语音活动检测的训练数据。
作为额外的过滤步骤,在训练初始模型之后,我们汇总了关于训练数据源上的误差率的信息,并对这些数据源按照高误差率和数据源大小的组合进行手动检查,以便有效地识别和移除低质量的数据源。这项检查显示了大量只有部分转录或对齐不良/未对齐的转录,以及剩下的低质量的机器生成的字幕,这些字幕是过滤启发式方法未能检测到的。
为了避免污染,我们在训练数据集和我们认为有较高重叠风险的评估数据集之间进行转录级别的去重,尤其是 TED-LIUM 3 (Hernandez et al., 2018)。
2.3. 多任务格式
尽管预测在给定音频片段中说出了哪些词是完整语音识别问题的核心部分,并且在研究中被广泛研究,但它并不是唯一的部分。一个功能齐全的语音识别系统可能涉及许多额外的组件,如语音活动检测,说话者识别和逆文本标准化。这些组件通常被单独处理,导致在核心语音识别模型周围形成相对复杂的系统。为了降低这种复杂性,我们希望有一个单一的模型执行整个语音处理流程,而不仅仅是核心识别部分。这里一个重要的考虑因素是模型的接口。可以在相同的输入音频信号上执行许多不同的任务:转录,翻译,语音活动检测,对齐,和语言识别都是一些例子。
要让这种一对多的映射与单个模型一起工作,需要某种形式的任务规范。我们使用一种简单的格式来规定所有的任务和条件信息,作为解码器的输入标记序列。由于我们的解码器是一个音频条件语言模型,我们也训练它根据转录的文本历史来设置条件,希望它能学会使用更长范围的文本上下文来解析模糊的音频。具体来说,我们以一定的概率将当前音频片段之前的转录文本添加到解码器的上下文中。我们用一个标记来指示预测的开始。首先,我们预测正在说话的语言,每种语言在我们的训练集中都由一个唯一的标记代表(