技术终于有人对语音技术来了次彻头彻尾的批判( 三 )


Wav2Letter++
256
21
C++
提交的版本与发行版可能更相似
FairSeq
956
111
PyTorch
OpenNMT
2,401
138
PyTorch
EspNet
5,441
51
PyTorch
Typical Project
100-500
1 - 10
PyTorch
依靠框架或工具包 , 而不是从头写起的情况非常常见 。 人们会希望有为STT设计的专用框架和工具包 , 然后基于这些框架所提供的模型进行构建 , 而不是在基础的PyTorch或TensorFlow上从头写自己的模型 。 不幸的是:对于语音识别来说 , 情况并非如此 。 使用这些解决方案来开启自己的STT项目并不合理 , 原因很多:

  • 代码是为了大型运算而优化过的;
  • 只有小型学术数据集中存在引导方案(端对端案例表明如何使用这些框架) , 无法在未经大型运算的情况下扩展到大型数据集中;
  • 这些引导方案的样本效率极低(我们最喜欢的样本在数据集中训练10GB的LMs , 文本足有数百兆字节);
  • 即便在LibriSpeech上对模型进行了预训练 , 很可能也无法转移到真实环境中;
  • 如果想要构建一个内部的STT解决方案 , 将其内部化并正确理解优化 , 你可能需要一个大型团队或者相当可观的时间来将这个工具包内部化;
  • 上述工具包或是已经发布的内部解决方案 , 或是PR版、抢先上市版或生态系统构建工具 。 这意味着大多数情况下 , 这款工具包会作为恰当的MVP或基准出现 , 但如若不投入大量资源 , 你无法轻易优化此类管道(对于公司来说 , 无论如何都会编写自己的工具包) 。
从更加个人化的角度来看 , 我们多次尝试对FairSeq 以及 EspNet管道进行某些程度的内部化 , 但无法在合理的时间和精力范围内完成 。 也许我们的机器学习工程技能还有很大改进空间 , 但就算工程技能更优的人也表达过类似的看法(即专职的C++机器学习编程者) 。
解决并不存在的问题 构建一个更新更好、可用于8个价值1万美元的GPU上运行的工具包 , 对于真实世界的应用来说并无帮助 。
基于真实生活中的数据 , 创建并发布一个免费、开放及公共领域的数据集 , 然后发布对其进行预训练的模型(这就是CV中发生的情况)才是真正的解决方案 。 然而 , 除了Mozilla的Common Voice项目之外 , 我们还没看到任何有价值的计划 。
无法再现的结果 在机器学习中有一个常见的模式 , 即每周都有人声称获得了最前沿的结果 , 但这类结果很少是可重现的 , 或者附有可简单运行的代码 。
考虑到与加速后的硬件 , 以及大型数据集的集成问题 , 其困难度及训练模型所耗费的时间使得可重现性更难实现 。
与“最为前沿”的口号相反 , 我们相信 , 应当将更多注意力转向“优秀到足以在真实生活中使用的”解决方案和公共数据集上 。
技术终于有人对语音技术来了次彻头彻尾的批判
本文插图

对学术界的批评 下面是我们观点的简单总结:
  • 如果一大群人都在关注追求某种标准上的顶尖成果 , 则这项指标会失去其意义(可参考见古德哈特定律:当一个政策变成目标 , 它将不再是一个好的政策) 。 如果不能快速迭代 , 学术数据集将成为各大公司用以炫耀的“排行榜” 。 为了达到最先进的水平 , 在大型计算中使用庞大而样本低效的网络已经成为默认规则 , 尽管较小型的从业者无法参与;
  • 理想情况下 , 论文应当有足够的细节信息 , 从而令独立研究人员也能获得95%以上的论文信息;