为 Open ASR Leaderboard 添加 Benchmaxxer Repellant
Adding Benchmaxxer Repellant to the Open ASR Leaderboard
Hugging Face Open ASR Leaderboard 自2023年9月上线访问量超710K;与 Appen Inc.、DataoceanAI 新增11个 private English ASR datasets,覆盖美、英、澳、加、印口音及 scripted/conversational speech,用 macroaverage 计算 WER,默认不纳入 Average WER。
](https://huggingface.co/bezzam)
“当一个度量指标变成目标,它就不再是一个好的度量指标。”(Goodhart’s Law)
TLDR:Appen Inc. 和 DataoceanAI 提供了高质量的英语 ASR datasets,覆盖多种口音下的 scripted speech 和 conversational speech。为防范 benchmaxxing 或 test-set contamination 的潜在风险,我们会将这些 datasets 保持为 private,用于对多项任务的性能进行高质量衡量。
我们目前不会更新平均 WER:默认情况下,leaderboard 的 Average WER 仍然只基于 public datasets 计算。你可以通过开关选择性纳入 private datasets,查看它们的影响 👀
自 2023 年 9 月上线以来,Open ASR Leaderboard 的访问量已超过 710K 次。社区对持续推进 speech recognition 的兴趣和动力让我们深受鼓舞 🗣️

维护 Open ASR Leaderboard 这样的 benchmark,其目标(同时也是挑战)可以用两个词概括:
Standardization:不同模型在使用方式和输出上可能有不同约定,例如是否包含标点和大小写。Datasets 也面临同样的挑战,并且可能采用不同结构。为此,所有 test sets 都已汇集到 Hub 上的一个单一 dataset 中,便于访问和预览。此外,为了标准化模型输出和 dataset transcripts,我们使用一个 normalizer,它会(除其他处理外)移除标点和大小写,并映射到美式拼写。它基于 Whisper 的 normalizer。
Openness:UI code 和 evaluation scripts 都已开源。这不仅有助于纳入新模型,也通过社区反馈和贡献提升了评估流程的质量。
Standardization 和 openness 对有意义的 benchmarking 至关重要,但它们也会让 benchmarks 更容易受到面向 benchmark 的特定优化(“benchmaxxing”)影响:模型在 leaderboard 上的表现提升,并不一定对应真实场景鲁棒性的提升。随着模型和用例演进,Open ASR Leaderboard 将继续纳入高质量 datasets 和新的 evaluation settings,以更好反映真实世界性能,并提升对 benchmark-specific optimization 的鲁棒性。
正如我们在报告中讨论的,并不存在一个“包打天下”的 ASR 模型:有些模型在 American English 上表现更好,有些在多样口音和多语言设置中表现更好,还有一些针对速度或 conversational audio 做了优化。不同应用也会优先关注不同能力,因此一个模型在某个维度上表现较弱,并不一定意味着它整体更差。Open ASR Leaderboard 的目标是捕捉这些细微差异,提供更全面的 ASR 性能视图。
新的高质量 private datasets
为此,我们与 Appen Inc. 和 DataoceanAI 合作,整理了用于 ASR benchmarking 的高质量 datasets。下面是各个 splits 的一些信息。
| Dataset | Accent | Duration [h] | Male (%) / Female (%) | Style | Transcription |
|---|---|---|---|---|---|
| Appen Scripted AU | Australian | 1.42 | 49 / 51 | 朗读 | 有标点,有大小写。 |
| Appen Scripted CA | Canadian | 1.53 | 52 / 48 | 朗读 | 有标点,有大小写。 |
| Appen Scripted IN | Indian | 1.02 | 49 / 51 | 朗读 | 有标点,有大小写。 |
| Appen Scripted US | American | 1.45 | 49 / 51 | 朗读 | 有标点,有大小写。 |
| Appen Conversational IN | Indian | 1.37 | 51 / 49 | 对话式,自发 | 有标点,包含 disfluencies。 |
| Appen Conversational US003 | American | 1.64 | 49 / 51 | 对话式,自发 | 有标点,有大小写,包含 disfluencies。 |
| Appen Conversational US004 | American | 1.65 | 49 / 51 | 对话式,自发 | 有标点,包含 disfluencies。 |
| DataoceanAI Scripted US | American | 2.43 | 54 / 46 | 朗读 | 有标点,有大小写(专有名词),包含 disfluencies。 |
| DataoceanAI Scripted GB | British | 2.43 | 47 / 53 | 朗读 | 有标点,包含 disfluencies。 |
| DataoceanAI Conversational US | American | 8.82 | NA | 对话式,自发 | 有标点,包含 disfluencies。 |
| DataoceanAI Conversational GB | British | 5.96 | NA | 对话式,自发 | 有标点,包含 disfluencies。 |
下面是一些音频样本,展示内容的多样性(scripted、conversational、acronyms、disfluencies、proper nouns)。
虽然 private datasets 听起来可能与 openness 的精神相悖,但我们认为,纳入这类 datasets 将提高 Open ASR Leaderboard 的可信度,因为它们不太容易被用于 benchmaxxing。无论是模型开发者显式使用 public test sets,还是试图寻找与某个特定 dataset 高度相似的训练数据来提高 macroaverage 分数,private datasets 都能降低这种风险。
借助这些 datasets,我们还可以提供更有针对性的 metrics,突出受控且往往已趋于饱和的设置(scripted、American accent)与更细分条件(conversational 和 non-American accents)之间的差距与偏差。下面是新的 “Private data” 标签页截图。

下面说明每一列的计算方式。
- “Average WER” 计算的是数据提供方平均值的 macroaverage,因此各提供方权重相同。
- “Avg Scripted” 对所有 scripted datasets 计算 macroaverage。
- “Avg Conversational” 对所有 conversational datasets 计算 macroaverage。
- “Avg US” 对所有 American accents 的 datasets 计算 macroaverage。
- “Avg non-US” 对所有 non-American accents 的 datasets 计算 macroaverage。
我们有意不提供每个 split 上的分数,以避免模型开发者围绕某个特定数据提供方或口音提升分数。
如何在这些数据上评估我的模型?
把你的模型加入 Open ASR Leaderboard,我们会运行评估!和之前一样,向 leaderboard 添加模型的流程在 Open ASR Leaderboard 的 GitHub 上进行:
- 提交一个 pull request,随后会出现一个模型 checklist。和之前一样,你需要报告 public datasets 上的结果。
- 我们会验证 public sets 上的结果,并计算 private sets 上的 metrics。
- 确认我们得到的结果。
在等待你的模型被加入 Open ASR Leaderboard 期间,你可以通过向 model card 添加类似这个的 YAML 文件,来自行报告 public sets 上的 metrics。你的模型随后会出现在dataset 页面上的一个(未验证)leaderboard 中(见下方截图)。关于这种 decentralized evaluation 方法,可以在这里阅读更多内容。

使用这些数据提供方数据训练的模型是否有优势?
可能会有。我们已要求 Appen 和 DataoceanAI 不要向其客户提供这些数据。但即便他们不提供这批确切数据,来自相似分布的数据仍可能帮助模型在对应 evaluation set 上取得更好表现(类似于通过针对 public sets 中某个挑战性任务优化来进行 benchmaxxing)。为此,引入多个数据提供方可以平衡模型因使用某一家提供方的数据而获得的优势。我们也欢迎更多数据提供方和 eval sets 加入 “Private data” 标签页!
此外,为了确保 private sets 不影响模型排名,我们将 Average WER 默认设置为在其 macroaverage 中不包含 Private sets。
在下方截图中,你可以看到 “Private data” 处于关闭状态。这意味着跨 datasets 的 macroaverage 不包含它。

只需打开 “Private data” splits 开关,即可将它们纳入 macroaverage。

“Rank Δ” 列显示相对于默认 macroaverage 配置,排序发生了怎样的变化。纳入或排除 public datasets 也会改变 macroaverage,使用户能够根据自身应用最相关的 use cases 和 data distributions 来调整评估。
接下来是什么?
我们期待听到社区反馈,了解新的 track 和 dataset toggling 功能如何帮助用户识别最适合其应用的模型。我们也在研究能更好反映真实世界噪声条件的评估,你可以期待相关消息 😉
在准备 private evaluation sets 时,我们特别注意确保各 datasets 的音频和 transcript 质量一致,包括开发工具来识别低信噪比条件或 transcript mismatches 等困难样本,因为这些因素会显著影响 WER。更多内容会在后续文章中介绍!