68万小时弱字幕训练的Whisper,跨域识别错误少55%

Robust Speech Recognition via Large-Scale Weak Supervision

Alec Radford, Jong Wook Kim, Tao Xu, Greg Brockman, Christine McLeavey, Ilya Sutskever

eess.AS, cs.CL, cs.LG, cs.SD

2022-12-07

OpenAI用68万小时过滤后的网络字幕训练编码器-解码器Transformer,零样本跨12个英文数据集平均WER 12.8%,比匹配的LibriSpeech监督模型少错55.2%。

这篇在解决什么

语音识别近几年被Wav2Vec 2.0这类无监督预训练带起来了:编码器可以从上百万小时原始音频里学到很好的表征,但解码器仍要在每个目标分布上再做有监督微调。微调会吃掉数据集特有的捷径。计算机视觉里有过更刺眼的例子:在ImageNet上微调能多涨9.2个点,换七个自然图像集平均精度却一动不动。

语音这边同样的裂缝更早被看见。Deep Speech 2在2015年就把LibriSpeech test-clean做到接近人的5.8%字错误率(WER),后来监督SOTA又从5.3%打到1.4%。可这些模型一出干净朗读语音就崩。SpeechStew把七个高质量集合拼到5140小时,仍比无标签语料小两个数量级。Whisper把弱监督再抬一个数量级:从网上成对出现的音频和字幕里收下68万小时,其中11.7万小时覆盖96种非英语,12.5万小时是X→英语翻译。目标是一个开箱即用的系统,不再为每个部署分布微调解码器。

方法

模型是现成的编码器-解码器Transformer,刻意不在结构上玩花样,好单独看数据规模的效果。音频重采样到16 kHz,做成80维log-Mel频谱(25 ms窗、10 ms步),经两层卷积后进Transformer。英语模型沿用GPT-2的byte-level BPE,多语言模型重拟合词表以免小语种被切碎。家族从Tiny 3900万参数到Large 15.5亿。

真正的设计在数据过滤和多任务格式。网上字幕大量是现成ASR打出来的「转录腔」:全大写、没有逗号、没有段落。启发式清掉机器稿,再用音频语种检测对齐口说语言和字幕语言;对不上且字幕是英语的,改当作翻译样本。音频切成30秒段,无语音段降采样后拿来做语音活动检测。

解码器用特殊token一次性指定任务:语种、转写还是翻译、要不要时间戳。同一套权重覆盖识别、翻译、语种识别和有无语音判断。训练约220次更新、两到三遍数据,batch 256段,几乎不做增强,靠数据多样性扛过拟合。早期模型爱乱猜说话人名字,后来在不含说话人标注的子集上短微调,压掉这个毛病。长音频靠时间戳把30秒窗口往前推,再叠beam search、按重复度和对数概率做温度回退、语音活动检测等启发式。

结果

零样本是这篇的主场。LibriSpeech test-clean上最大Whisper大约2.5% WER,只相当于2019年中期的监督水平。但拿一个LibriSpeech WER几乎一样的wav2vec 2.0对照,在另外12个学术集上Whisper平均WER 12.8%,对方29.3%,相对少错55.2%。最小的3900万参数模型在域外已经能跟最强的LibriSpeech监督模型打平。噪声实验里,信噪比掉到10 dB以下的酒馆噪声时,Whisper反超一批在干净条件更强的NVIDIA STT模型。

设置指标Whisper对照
12个域外英文集平均WER12.8wav2vec 2.0:29.3
CoVoST2 X→英BLEU29.1此前SOTA更低,低资源组再高6.7
Fleurs语种识别(82种重叠)准确率80.3%全集被20种未见语种拖累
Kincaid46 25条相对人工接近纯人工,差计算机辅助1.15点四家商用ASR

多语识别跟训练时长强相关:Fleurs上log WER对log训练时长的R²约0.83,粗算数据乘16、WER减半。希伯来语、泰卢固语、中文、韩语偏离这条线,更差。翻译侧CoVoST2总体29.1 BLEU是新SOTA,但高资源组仍略逊Maestro/mSLAM。数据消融里,英语识别从3000小时的30.5 WER降到全量的9.9,54万小时之后收益已经很钝。

为什么重要

从业者真正拿到的是一套免微调、多任务、多语种的开源权重和推理代码。长音频、噪声、口音、罕见词这些「出了实验室」的场景,才是它相对LibriSpeech微调模型的优势。多任务格式把传统流水线的VAD、语种识别、转写、翻译收进一个解码器,部署面变简单。

代价也很清楚:英语识别已经接近人的水平,再堆模型和数据,收益主要落在多语和翻译。弱监督能走到这一步,靠的是过滤机器稿和语种对齐,不是「网上有字幕就能练」。

局限与存疑

作者自己写了几处硬伤。VoxPopuli上Whisper明显落后Maestro、XLS-R、mSLAM,他们怀疑别人把这个分布当了无监督预训练的大头,而且该集每语种监督大约是MLS的十倍。语种识别在Fleurs上比监督SOTA低13.6个百分点,因为训练覆盖不到Fleurs里20种语言。自研文本正规化器会把WER砍掉最多一半,作者承认有对Whisper书写风格过拟合的风险。威尔士语号称有9000小时翻译数据,检查后大多是英语被语种检测标错。

长音频解码严重依赖启发式:贪心会循环重复,要beam、温度回退、约束第一个时间戳落在0到1秒。30秒块加时间戳滑窗,本质上还是在补模型自己不稳定的时间预测。评测对人工「接近」只来自Kincaid46的25条,不能外推成所有场景都达人水平。

术语

原文与代码

社区讨论

相关论文

全部论文解读