查看原文
其他

当我们谈论SOTA时,我们在谈论什么

SpeechIO SpeechIO 2022-02-26

什么是 SOTA?


SOTA 即 state-of-the-art,我们几乎可以在任意一篇新发表的人工智能学术论文中找到这个词儿,意思是论文中的算法、模型达到了“当前的最优水平”。但蛮少人知道 SOTA 这个词的本意与现在稍有不同,是一个专业词汇。根据阅维基百科,SOTA在被大众熟知前,主要被用在:

  • 专利及知识产权法:SOTA 的含义既不代表“更好”,更不代表“最好”。当专利审核员将一件专利申请打上 SOTA 标签时,意味着该申请 lack of novelty,not inventive,因此无法被授予专利 (unpatentable),其含义更接近于“普通”,“大众熟知”,常作为 prior art 和 background art 的同义词出现在正式的专利文档中。

  • 商品责任法:消费者因产品质量、设计有缺陷蒙受损失,对产品生产方提起诉讼时,生产方可以提出一个叫 state-of-the-art defense 的辩护动议。辩护逻辑是:1. 产品出厂时,其设计和质量符合“行业标准”。2. 而当时的“行业标准”有缺陷,不是个体生产商的问题,因此无需承担个体赔付责任。SOTA defense 作为常规法律工具,在医疗器械,交通工具等责任重大的产品案件中,被辩护律师广泛用于构建企业的责任护城河。

有着上述特质,加之 SOTA 字面上又有一种魔力,代表着“最好”(而其同义词 prior art 和 background art 则没有这样的效果),SOTA 很自然的被广泛的应在广告、营销宣传中。时至今日,除开专利、法律这些严格的语言体系,SOTA 在日常生活中已经被当做 “最好” 的同义词为大众所接受。


SOTA ASR

厂商说的 SOTA 和你要的 SOTA


读者朋友可能经常会在 AI 厂商的宣传稿中看到 SOTA,描述自己的算法和模型在特定的数据集上达到了业界最优的性能。这里说的 SOTA,其实并不代表实际使用效果,但经常被暗示或者解读成“实际效果”。而现实中,依托 SOTA 的算法搭建的系统,在实际应用中效果糟糕的例子又比比皆是。从厂商口中的 SOTA 算法到你想要的 SOTA 的体验,二者之间存在大量繁杂、细致但重要的优化工作。能够取得这一基本共识,是技术应用方和提供方避免误会,通力合作做出良品的重要基础。

具体都有哪些影响因素?下面只是简单罗列一些例子:

  • 实时字幕系统没必要对车载风噪和发动机引擎做抗噪

  • 识别新闻联播的系统不需去关心董卿的识别率如何

  • 山东话识别系统不需要去覆盖重庆方言

  • 对视频节目做信息结构化和检索的语音系统,没必要去处理视频会议通话中的多通道信号处理、卡顿丢帧、编码压缩造成的音质变化

  • 手机语音输入法不用去应对智能音箱远距离收音、说话人位置随时移动这些问题

  • 中国经济50人论坛峰会的演讲内容不太可能出现曼城中场球员德布劳内的名字

  • 线上教育的数学课视频内容不会出现阿司匹林、头孢这样的医学词汇

  • 娱乐节目中的对话和企业家演讲的内容截然不同。

除此之外,还会有各种各样应用层面的细节差异,如:

  • 应用场景里是否存在中文、英文混杂在一起的情况?

  • 结果里需不需要标点符号?

  • 出现了脏话和敏感词,是否要过滤掉?什么算脏话?哪些是敏感词?

  • 2020年10月1日?贰零贰零年十月一日?2020.10.01?结果要哪种?

  • 使用时,是长段的音频离线处理(允许对音频整体做多遍针对性的处理)?还是实时的音频流?

通过上面这些,希望能帮助读者一窥从语音厂商口中的 SOTA 到你想要的 SOTA,中间都隔着些什么。


打造 SOTA 体验的 AI 应用,一方面当然依赖好的基础技术算法,但同时也需要聚焦,以确保有限的算法能力集中兑现在明确的目标任务上。这类定制优化的工作耗时、耗力、耗资源。项目中,是否积累了足够多的特有场景匹配数据?双方是否有动力去持续投入,支撑这些优化工作?这些才是决定最终效果的关键。


这些年用户对于语音厂商“傲慢”的吐槽不绝于耳,其实很多都属于把“事”怪到“人”的误解。这背后,是个简单的商业效益问题:现阶段的通用 AI 没那么好用,而定制的 AI 又很昂贵,厂商没法投入100万去优化一个只产生10万价值的业务。其实大部分厂商很早就意识到这些问题所在,所以纷纷发布一些常用的定制流程、工具、接口甚至训练好的细分领域模型,供不同用户群体自主定制使用,从而降低定制化 AI 的服务成本。公众号后面会单独做一期内容整理归纳各大厂商开放的定制化能力,来弥补 TIOBE 只有能力包含通用识别测试的遗憾。


TIOBE 现存的一些问题


尽管我们认为 TIOBE 是现在最好的、规模最大最细致的中文语音识别中立评测,但它仍有很多不足:

  • 严格对齐各厂商的短音频识别 API 配置是一项不可能的任务:

    以语气词为例,一方面我们很难确保不同的标注员能够按照高度一致的方式去标注语气词,另一方面,不同的 ASR 服务对语气词都有不同的处理策略和结果,这些都会对最后的统计结果产生细微差别。又比如VAD,各家是否提供VAD开关,以及VAD的一些控制参数差异,导致我们无法同时拉齐所有厂商配置幸运的是,这些因素在 TIOBE 的评测中只起到很小的扰动,远不足以造成明显的数字差异。

  • 我们的评测目前仍只关注准确率,不包含识别速度、延迟方面等其他指标:

    每次的测试过程中我们其实可以看到厂商间的速度有较大的差异。严格讲,准确率、速度、延迟,甚至包括服务的价格,都是关联的因素,单看一项指标,是片面的。但目前我们的精力有限,重点还是会放在识别准确率单一指标上。

  • 关于讯飞:

    客观的说,我们认为讯飞的能力在我们现阶段的评测中是被低估了的。从场景匹配和覆盖度上,讯飞听见应该更适合我们的评测,因为其转写场景更贴近视频,讲话,访谈,演讲等各类素材,而我们现在调用的听写则更接近输入法。我们尝试过讯飞听见,但讯飞听见明显是一个产品平台,其素材形式(如长视频、长音频)、上传方式等,都不适合一个自动化的测试框架去进行大批量的短句调用,而近来在讯飞开放平台上线的转写服务,其调用形式和api接口也仍然不适合与 TIOBE 中的其他厂商对齐,所以我们目前仍只能测试讯飞的听写服务。在这一点上,限制来自于 TIOBE 本身的定位和目标(因为我们想为行业积累一套可以全面评估核心算法引擎的短音频测试集,而非原始长音频素材),讯飞听见以及讯飞开放平台的产品逻辑并没有问题。

  • 关于百度:

    大家可能发现百度的性能在几乎所有的领域中都大幅度落后于其他厂商,我们猜测有可能是因为公司的业务侧重点问题,公有云服务没有投入最好的资源去打磨。另外也有同学在后台建议我们试试从现在测的“标准版”切换到同样是官方公网的“极速版”。我们会花时间做一下关门的测试和评估,因为我们希望在 TIOBE 中发布的数字,都是能代表厂商水平的最好结果。

这部分只是列举了我们已经知悉的评测中的一些问题,其实也是对一些公众号读者疑问的集中解答。更重要的是,我们希望读者能在后台给我们类似的反馈,帮助我们持续去改进 TIOBE,尽最大程度上做到客观、公平、准确。


关于在 SpeechIO TIOBE 加入 "SOTA" 

从本月的滚动测试开始,我们会为每一个测试场景加入一项 SOTA 指标,计算方法采用 trimmed mean:即在每个场景的测试结果中,剔除最优性能和最差性能的厂商数据,然后将剩余厂商数值取平均,得到该测试场景的 SOTA 值。

一方面,目前榜单中的厂商都是中文语音识别领域的优秀企业,整体代表着行业的SOTA;另一方面,SOTA 值来自于各厂商的平均,又与我们开篇对于 SOTA 含义起源的小考古吻合。而 TIOBE 也需要这样一个简单的数值来浓缩和记录行业层面的技术水平进展,方便我们后面绘制曲线。


扫描下面二维码 或 微信搜索 SpeechIO,关注公众号。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存