当 ASR 认出考卷:低 WER 为什么会奖励「听错也写对」

你在验收一个语音转写系统。模型在公开基准上拿到 5% 级别的 WER(词错误率),报告说它「几乎零错误」。可是把音频里的数字静音之后,它仍然把那个数字写了出来;把说话人换成一个训练截止之后才出现的新人,它的表现立刻变了。问题来了:WER 低的模型,到底是在听音频,还是在认出考卷之后,直接背参考答案?

WER 是语音领域沿用了几十年的黄金指标,几乎所有模型卡、论文和采购清单都以它为准。正因为它被如此信任,一旦它系统性失灵,误导的就不只是排行榜,还有每一个照着榜单选模型的高风险场景。

2026 年 8 月,Hume AI 与 Hugging Face 联合发布的研究把这套行为拆成三段证据:静音数字仍被补回、低 WER 反而伴随更高复写错标率、换成新鲜录音行为就减弱。本专题沿着这条证据链走一遍,回答一个更尖锐的问题:低 WER 奖励的,究竟是不是「听对了」?

数字被静音后仍被「听」见:这是猜词,还是背答案?

先看一个可以亲耳听到的例子。VoxPopuli 的一段欧洲议会录音里,发言人明确说了「Thank you, Mr. President」,但该基准的参考转写把礼貌语省略了,只写了「Mr. President...」。研究者把这段音频换成三种形态:原始录音、同说话人的 TTS 克隆、以及一位训练截止之后才当选的新议员的克隆。原始录音上,11 个被测的开源模型里有 6 个复写了省略「Thank you」的错误版本;同说话人克隆上,仍有 5 个继续复写;换成新议员的克隆后,几乎全部模型都恢复了礼貌语,只剩一个例外。HumeBlog

如果模型只是在「猜词」,行为不该这样变化。更系统的证据来自掩码数字探针(masked-number probe):把音频里的数字片段静音,让它从声学上彻底消失,再喂给模型。如果模型依据声学证据转写,静音处就应该被跳过;如果它写出参考答案里的数字,说明它「补」了不该存在的内容。这就是反事实删词探针的含义。每个被静音的位置只产生一个计数:模型输出参考文本里的数字,就记一次「接受参考」。研究者把这种站在参考答案一边的比例叫作 accept-ref(复写参考文本的比例)。结果触目惊心:在 LibriSpeech 上,最强的模型在约 40% 的被静音数字上仍输出了参考答案。

有人会说,这不就是语言模型根据上下文猜数字吗?比如「one thousand six hundred amendments to the draft budget」,上文强暗示后面跟着年份或金额,模型猜出来不奇怪。论文专门堵住了这个解释。他们按「语言先验强度」把被静音片段分格:每字符负对数似然(NLL)越高,代表模型越难凭文本猜出内容。按常理,猜不出的格子恢复率应该最低。实际情况正好相反:在 NLL 不低于 3.5 nats/char 的硬格子上(占全部被覆盖片段的 67%),几个模型的恢复率反而上升,Cohere 从 0.27 升到 0.36,Canary 从 0.14 升到 0.24,同样上升的还有 Higgs(0.15 到 0.23)和 Granite(0.10 到 0.19)。与此同时,Moonshine 留在 0.00、Kimi 与 Qwen3 停在 0.07,Phi-4 平在 0.11,说明这套行为高度集中在部分模型上,而不是所有系统的通病。QuantBench

语言先验越帮不上忙,模型越要补回,这已经不是「猜」能做到的了。看下面的图,左面板给出掩码数字探针在四个语料上的完整对比:

图注:掩码数字探针的恢复率(左)与同音异写开关率(右)。左面板按语料对比:在 VoxPopuli、LibriSpeech 公开基准上,模型显著恢复被静音的数字;换成 libri-fresh、ep-fresh 两套新鲜保留集后,恢复率明显跌落。右面板是 anyone 与 any one 的切换率,多个模型超过 0.5 的随机基线,部分接近 0.9。QuantBench

左面板那条「公开基准高、新鲜集低」的落差,正是本专题反复要用的形状。它说明模型确实在把数字补回来,而且只在它认识的那张考卷上补回来。这套行为在研究里被称为 benchmark optimization(基准优化):靠基准特有的线索而不是通用转写能力拿分,对应到模型侧,就是基准身份触发的条件转写。对医疗、司法这类高风险转写,这意味着模型可能无声地把没说过的话写进报告。

这里先记下两个待拆的问题:模型凭什么认出「正在考哪个数据集」?「背答案」会不会只是训练时见过测试数据?下一章先追第一个。

模型凭什么认出「正在考哪个数据集」?

拼写惯例会暴露基准身份

模型读不到数据集名,它唯一的信息来源是音频本身。研究用「同音异写开关」(orthographic switch rate)证明了它连基准的拼写惯例都能识别。VoxPopuli 的参考文本惯用缩写 Mr.,LibriSpeech 惯用拼全的 Mister,两者读音完全相同。如果模型忠实于声学证据,两种写法应该各占一半(0.5 的随机基线);只有认出基准、按惯例输出时,切换率才会显著超过 0.5。11 个模型里,6 个在称谓对 Mr./Mister 上显著超过基线;8 个在同一数据集内部的 any one 与 anyone 间距惯例上超过基线,部分接近 0.9。后者尤其说明问题:两种写法在同一条朗读语料里并存,模型连数据集内部的子群体差异都在跟随,而不只是跨数据集切换。注意一组反例:Whisper、Phi-4、Voxtral 从不输出 Mister,它们的切换率垫底,但这是数据缺口,不是「没有认出基准」的证据。QuantBench

看 Hugging Face 博文版这张条形图就一目了然:

图注:11 个模型跨 VoxPopuli 与 LibriSpeech 的 Mr./Mister 切换率,按升序排列。50% 虚线以上的模型在跟随基准的拼写惯例,多个模型显著超过 50% 随机基线、部分接近 90%(博文原文表述);接近 0 的两条来自从不输出 Mister 的模型,属于数据缺口而非反证据。HFBlog

触发器是窄的声学线索

拼写选择只是表象,机制证据要回答「它凭什么认出来」。研究者设计了一组反事实刺激物,逐层拆掉模型可用的线索。把转录文本固定不变、只替换声线,用 TTS 克隆同说话人的声音就能复现行为,换成通用声线行为就回落;把音频截断到目标片段附近,上下文没了,行为消失;在真实 VoxPopuli 片段后追加一段对话音频作上下文干扰,行为也被压下去,而追加 VoxPopuli 风格的音频则保持原样。反过来,在新鲜集的克隆上追加一段 VoxPopuli 风格的 donor,行为又被重新点燃,Phi-4 提升 0.10、Canary 提升 0.09。触发器可以被摘掉,也可以被装回去。最锋利的是激活层面的干预:在一层编码器上沿学到的方向做线性操控(linear steering),可以直接把行为双向翻转,Cohere 88%、Parakeet 95%、Canary 93% 的复写被翻回音频真实版本,Granite 只有部分翻转;只用主成分方向(k=1)就能恢复 65% 到 80% 的效果。更妙的是跨探针迁移:沿同一方向做消融,Cohere 在真实掩码片段上的数字恢复率从 0.102 掉到 0.051,说明这套方向对应的是同一个「背答案」策略,而不是某个探针碰巧撞上的偶然。QuantBench

图注:触发试验组。上行保持转录文本不变,只换声线(原录音、同说话人克隆、新鲜集克隆、通用声线);下行保持原音频,移除触发器(截断到目标片段、追加 8 秒对话 donor、在单层编码器上投影掉学到的方向)。下行干预让高恢复率模型的行为明显坍缩,说明触发器是窄的声学线索。图中 Voxtral 等共识组成员本就平直,不能说所有模型都翻转。QuantBench

这一连串证据指向一个结论:认出考卷不是训练残留,而是端到端学到的策略,它挂在说话人、录音条件、上下文这类窄声学线索上,还能在编码器表征里被定位和双向翻转。同组的 RW-Voice-EQ Bench 从另一个角度给了旁证:语音评测要把 TTS、语音到语音、语音理解、ASR 鲁棒性拆开测,任何单一聚合分数都可能掩盖某一维的失真。RW-Voice-EQ

那么问题来了:换一批新录音,它还认得出考卷吗?

换一批新录音,行为就消失:因果落在哪?

三套「晚于训练截止」的保留集

要回答「认得出吗」,研究者造了三套反事实保留集,全部满足两个条件:同领域、晚于每个模型训练截止之后采集。ep-fresh 是 2026 年 6 月之后新录的欧洲议会视频(与 VoxPopuli 同源);libri-fresh 是 2026 年才开始活跃的 14 位 LibriVox 新读者(与 LibriSpeech 同源);DaiKon 是 450 段训练截止后的私人对话。构造是工程上可复现的,以 ep-fresh 为例:对 2026 年 6 月之后的欧洲议会视频做说话人分离,再用 VAD 按静音切段、过滤非英语、用 WhisperX 生成银参考,最后得到 16 kHz 的干净片段;libri-fresh 则用时间戳对齐把每章音频映射回原书文本,并做 95% 的对齐质检。模型没法从声学上认识这些新说话人,也就无从判断这是哪张考卷。三套集在内容上都与公开基准同分布,分别是议会发言、朗读书与对话,设计目标是把「新鲜」变成尽可能唯一的变量,即让模型无论如何都不可能从训练记忆里认出这批录音。这个对照的证据强度也要说清楚:新录音同时带来新说话人、新录制条件等多个维度,单靠这一套对比还不能把所有录音条件逐一隔离。回到第 1 章那张掩码数字对比图的左面板:同样一批模型,掩码恢复率从公开基准的高位跌到新鲜集的低位。QuantBench

会不会只是说话人泄漏?VoxPopuli 的 Hugging Face 版本里约 40% 的测试说话人其实出现在训练集中,这个怀疑合情合理。但数据否定了它:在泄漏说话人子集上,模型复写错标的 pooled accept-ref(接受参考文本的比例)是 0.22,未泄漏子集上是 0.26,没有统计差异;掩码恢复率同样不可区分。行为在同一批测试说话人内传播,但对同领域的新说话人却不传播,这说明触发器绑定的不是「这个人」,而是「这个数据集」。QuantBench

与测试集污染的边界

还有一个更常见的怀疑要在这里划清边界:「背答案」会不会就是测试集污染,也就是模型训练时见过这些句子,纯粹在背文本?答案是两种机制,虽然都能让 WER 失真。Samsung AI Center Cambridge 的研究先量化了污染的现实:LibriSpeech 评估集约三分之二的句子能在 The Pile 预训练语料里找到,Common Voice 约三分之一。但他们故意污染一批 Pythia 模型的实验显示出一个关键反差:被污染的模型在泄漏句上困惑度显著更低,perplexity 差距约 2.5,可一旦集成成 ASR 系统,WER 几乎不动。Tseng

图注:污染对照实验。三行分别比较不同模型规模、不同训练数据量、同一句被污染一次与两次下,被污染与未被污染模型在泄漏句上的困惑度差异。困惑度确实漂移,但这与 WER 是否异常是两回事。Tseng

文本记忆改变的是生成概率,声学线索识别改变的是转写策略,两者在 WER 上的表现完全不同:前者测不出来,后者表现为「低 WER 反而更会复写错标」,这是下一章的主角。换言之,工程师既不能靠看 WER 发现文本记忆式的污染,也不能靠 WER 区分「在听」与「在背」,这正是探针必须独立存在的原因。两个机制加在一起也解释了第 1 章那个「Thank you」案例:模型在训练截止后的新人声线上恢复了礼貌语,它不是背不出,而是没认出考卷。

这里有个工程上的好消息。掩码探针不需要你准备全套掩码音频:官方仓库把静音配方做成 5.8 MB 的 masks 元数据发布,替代 10.6 GB 的 wav 文件,团队可以在自己的 LibriSpeech、VoxPopuli 上直接重跑这套探针。ASR-BO-Repo

把这一节的证据合起来看:行为在新鲜集上减弱,支持了触发器绑在基准身份及其声学相关线索上的解释,也排除了文本记忆和训练说话人泄漏这两种替代;但要留一分克制,新鲜对照同时改动了录音条件的多个维度,证据到这里支撑的是「最优解释」,还不能宣布「唯一原因」。那 WER 到底在测什么,为什么背答案反而能拿低分?

低 WER 反而在奖励听错也写对:WER 失灵在哪一环?

参考文本自己就带着错误

先理解 WER 测什么。它是把模型输出和参考答案逐词比对算编辑距离,参考文本就是真值。如果参考本身是错的,而模型「忠实地」复写了错误,WER 反而更低。这不是理论推演,VoxPopuli 的参考文本里到处都是这种错误:论文按音素错误率选出四个模型组成共识小组,被评模型的每个片段由其余三个成员的一致意见计分,在 745 个测试片段上共挖出 1,113 处全体一致同意的参考错误,包括 586 处替换、441 处删除、86 处插入,其中 93% 与人工标注重合。也就是说,约 40% 的 VoxPopuli 测试片段、约 3% 的参考词携带错误标注。QuantBench

这引出一个结构性结论:任何在 VoxPopuli 上 WER 低于 3% 的模型,必然在复写参考错误,因为参考答案自己的错误率就设定了忠实 WER 的下限。散点图把这个反相关摆成了硬事实:

图注:VoxPopuli 上的跨模型审计。横轴是 WER(来自 2026 年 6 月的 Open ASR Leaderboard),纵轴是 reference-disagreement accept-ref,即复写参考错误的比例。WER 5.4% 到 5.8% 的六个最强模型恰好集中在 accept-ref 0.18 到 0.30 的高位带,WER 不低于 6.5% 的模型全部落在 0.10 以下。QuantBench

注意这不是个别模型的偶然毛病:散点图上 WER 最低的六个模型,恰好就是复写错标最多的六个。Hume AI 官方博客给出的同一张散点呈现了相同的形状;同组的姊妹论文 RW-Voice-EQ Bench 在相近时间窗口用独立数据重现了这条反相关,WER 5.3% 到 5.8% 对应 accept-ref 0.17 到 0.31。需要说明的是它与本篇论文共享五位作者,是同一团队的同期双论文,不是第三方独立复现。RW-Voice-EQ

论文还记录了一个尚未解决的观察:复写率最高的四个模型(Phi-4、Cohere、Granite、Canary)各自训练数据都不到约 100 万小时,而训练了 4000 万小时弱监督数据的 Qwen3 只在少数场合触发这套行为。数据规模与背答案策略的形成之间是什么关系,仍是开放问题。QuantBench

Goodhart 定律把失灵变成结构

为什么「低 WER 反而更不忠实」如此普遍?Goodhart 定律提供了一个解释框架。英国央行经济学家 Charles Goodhart 在 1975 年观察到:任何统计规律,一旦被用于控制目的,就会崩塌。人类学家 Marilyn Strathern 的版本流传更广:当一个测度变成目标,它就不再是好测度。2024 年,El-Mhamdi 和 Hoang 把它形式化成模型 M = G + ξ:测度 M 是真实目标 G 加上一个差异项 ξ。关键在于 ξ 的尾分布:如果差异是正态或指数分布,优化 M 只是让 M 与 G 的相关性慢慢变弱,这是 weak Goodhart;如果差异是长尾的 power law,相关性会变负,测度最优的候选在真实目标上反而糟糕,这是 strong Goodhart。有一点要划清楚:形式化本身只说明「差异项的形态决定崩坏的方向」,它并没有断言 ASR 的差异项一定服从 power law。这篇研究没有对 ξ 做分布诊断,Goodhart 在这里的角色是解释失灵为何发生、为何集中在顶部的概念框架,而不是已经被验证的机制。Goodhart

把这个映射说清楚:这里的测度 M 是 WER,真实目标 G 是「音频与文本的忠实度」,差异项 ξ 正是本专题一路在讲的「基准身份触发的条件转写」,也就是模型认出考卷后对参考答案的复写。一旦公开基准上的低 WER 成为被追的目标,Goodhart 框架就指出风险的位置:如果 ξ 是长尾的,WER 会与忠实度脱钩甚至反向,而排行榜顶部正是中毒最深的候选聚集处。但要分清框架与证据:差异项是否真的服从 power law,研究并未验证,它只解释了「失灵为什么在顶部最危险」。硬证据仍然是上一节的实证结论:VoxPopuli 参考文本里那 1,113 处一致的错误标注,以及那张「WER 越低、复写错标越多」的散点图。上一节「低于 3% WER 必然复写参考错误」的硬边界,正是这种顶部风险的注脚,它来自参考错误率这个可数的事实,并不依赖 power law 假设。形式化还给出一个工程警示:若按测度选前 1% 的候选,需要测度与目标的相关性高达 0.99995 才安全。图上这组形式化示意能帮你直观地抓住它:

图注:Goodhart 形式化的示意。左面板是测度 M 与目标 G 的散点,整体正相关,但顶部候选分离:测度最优的候选(红)在真实目标上明显差于目标最优的候选(绿)。右面板是差异 ξ = M 减 G 的分布,明显长尾,对应 strong Goodhart 的形态。Goodhart

这组形式化不是为 ASR 特设的,在这里它的作用仅限于解释失灵的方向,并不替 ASR 的差异项做分布诊断。瑞士德语 ASR 提供了一个极端放大版的实证:一个零瑞士德语训练的原版 Whisper,只在测试集上自训练,就拿到 13.88% 的 WER,碾压此前发表的状态(17.1% 到 17.5%)。论文把严格分离数据上的诚实基线拆开后发现,报告高达 25.6% 的 WER 里,真正算识别错误的约 13.8%,偏差校正后进一步降到 8.5%,约为报告值的三分之一。低 WER 反映的是惯例匹配,而不是听懂了。SwissGerman

基准稀释实验:自训练点从 13.88% 升到 20.91%,两个已发表系统落在同一条回归线附近

图注:基准稀释实验。横轴是训练数据稀释因子(对数刻度),纵轴是 WER。蓝色自训练点从 13.88% 单调升到 20.91%,两个已发表系统(红三角)落在同一条回归线附近,说明这些低 WER 都可以由惯例匹配解释。这是辅助性证据,不代表稀释因子与 WER 的因果。SwissGerman

所以 WER 的失灵不是个别 bug,而是被基准结构放大的风险:它把「在听」和「在背答案」混进同一个数字。在公开基准上,低 WER 可能正是背答案的奖杯,这是 VoxPopuli 上被反复观察到的实证形状;它落在 weak 还是 strong Goodhart 的哪一档,还取决于差异项的分布,有待直接检验。既然如此,评测还能信什么,怎么重做?

不废弃 WER:探针、新鲜集与保留集怎么重新上岗?

探针正在变成公开基础设施

先把话说明白:WER 不能废。公开、可复现的基准利于横向比较,模型训练也需要它提供反馈信号。问题只在于不能让它单打独斗。好消息是,「背答案」的检测正在从论文变成公开基础设施。Open ASR Leaderboard v4 是当前 ASR 公开评测的事实标准,覆盖 86 个模型、12 个数据集、26 个组织,统一经过 EnglishTextNormalizer 归一化后计算 WER,并用 RTFx(逆实时率,即音频时长除以转写耗时,越大越快)报告效率;12 个数据集里每条轨道都至少包含一个非商用许可的数据集,用来缓解封闭 API 模型在公开测试集上的污染风险。2026 年 8 月,它上线了 benchmark fitting 标签页,其中两个 scorer 直接改编自本专题讲的探针:一个量测 VoxPopuli 参考错误复写率,rate 等于 ref 除以 ref 与 consensus 之和;一个量测拼写、缩写、数字、词汇四类的「渲染一致性」,也就是同音异写开关的工程版。两个 scorer 只读预测 manifest,不需要音频,也不需要重新推理。OpenASR-LB

这一落点值得强调:你的模型只要通过 Leaderboard 提交过一次预测,就能自动拿到一组「是否在背答案」的读数。任何人通过 PR 提交新模型,这两个 scorer 都会自动对新模型的预测跑分,检测变成了提交即触发的例行检查。Hugging Face 端把这个标签页作为产品上线,HFBlog;官方仓库则把四类探针打包成 CLI,其中参考错误检测与同音异写开关只需要模型输出的预测日志就能跑,团队可以直接拿生产日志体检。ASR-BO-Repo

「重做评测」本质上是个多维问题。RW-Voice-EQ Bench 的四象限框架给出了总图:语音系统不是一个分数,而是一组能力剖面。仅就 ASR 鲁棒性这一格,也要覆盖口音、情感语音、背景噪声与会话语音等真实条件,而不是只测干净的朗读语音:

图注:RW-Voice-EQ 四象限评测框架。语音系统按 TTS、语音到语音、语音理解、ASR 鲁棒性四个域分别评估,ASR 卡片列出口音、情感语音、背景音频、会话语音四个真实世界条件,主指标是 WER。评测必须多维,单分数会掩盖某一维的失真。RW-Voice-EQ

评测组合怎么排

把这些拼起来,一个可执行的重做评测流水线长这样。四段式组合的要义不是多做几组评测,而是让每一环回答上一环回答不了的问题:

图注:评测组合流水线。公开基准看相对趋势;掩码反事实探针筛掉背答案的模型;时间与说话人隔离的新鲜集验证行为是否真实;非公开保留集兜底;最后按业务的「宁缺勿造」代价设定选型阈值。

最后一步尤其要看业务。对医疗、司法、客服这类「宁可不写也不写错」的场景,评估组合的权重应该向探针和新鲜集倾斜:一个模型哪怕 WER 低到 3%,只要掩码探针显示它在补写没听到的内容,就不能上线。设定阈值时可以问:一次凭空补写造成的代价,抵得上多少次小漏字?一个司法场景的例子:转写里凭空补出一个数字,可能让一份记录被错误采信;而遗漏一个不重要的虚词,代价小得多。代价越高,阈值越严,探针的权重越大。对转录准确率没那么致命的产品,则可以继续以 WER 为轴心,把探针当作例行体检。

回到最初的问题:当你在公开基准上看到 5% 级别的低 WER,它到底在测什么?答案是,它测的可能是模型认出考卷、背出参考答案的能力,而不一定是听懂了音频在说什么。WER 不会退休,但从此它只应该作为相对信号出场,与掩码探针、新鲜集和保留集并排摆在桌面上,接受「宁缺勿造」的校准。这才是一个对高风险转写负责的评测该有的样子。

参考文献

本专题引用的核心资料如下,建议深入学习时阅读原文:

  1. Towards Quantifying Benchmark Optimization in ASR Models — arXiv:2608.19936
  2. Measuring benchmark optimization in speech recognition(Hume AI 博客) — https://www.hume.ai/blog/measuring-benchmark-optimization-in-speech-recognition
  3. Measuring benchmark optimization in speech recognition(Hugging Face 博客) — https://huggingface.co/blog/asr-benchmark-optimization
  4. HumeAI/asr-benchmark-optimization(GitHub 仓库) — https://github.com/HumeAI/asr-benchmark-optimization
  5. RW-Voice-EQ Bench: A Real World Benchmark for Evaluating Voice AI Systems — arXiv:2607.14846
  6. Evaluation of LLMs in Speech is Often Flawed: Test Set Contamination in LLMs for Speech Recognition — arXiv:2505.22251
  7. Open ASR Leaderboard: Towards Reproducible and Transparent Multilingual and Long-Form Speech Recognition Evaluation — arXiv:2510.06961
  8. Subtitle-Aligned Fine-Tuning of Whisper for Swiss German ASR: Benchmark Contamination, Convention Mismatch, and an Honest Baseline at 25.6% WER (13.8% cWER) — arXiv:2606.07608
  9. On Goodhart's law, with an application to value alignment — arXiv:2410.09638
Benchmark optimization:低 WER 奖励听错也写对