Skip to main content
QUICK REVIEW

[论文解读] TorchAudio: Building Blocks for Audio and Speech Processing

Yao-Yuan Yang, Moto Hira|arXiv (Cornell University)|Oct 28, 2021
Music and Audio Processing被引用 14
一句话总结

TorchAudio 是一个原生基于 PyTorch 的开源工具包,提供 GPU 加速、可微分且适用于生产环境的音频与语音处理构建模块。它支持端到端的机器学习工作流,在文本到语音和语音分离等关键任务上经过验证,性能在速度和质量方面与或超过当前最先进实现。

ABSTRACT

This document describes version 0.10 of TorchAudio: building blocks for machine learning applications in the audio and speech processing domain. The objective of TorchAudio is to accelerate the development and deployment of machine learning applications for researchers and engineers by providing off-the-shelf building blocks. The building blocks are designed to be GPU-compatible, automatically differentiable, and production-ready. TorchAudio can be easily installed from Python Package Index repository and the source code is publicly available under a BSD-2-Clause License (as of September 2021) at https://github.com/pytorch/audio. In this document, we provide an overview of the design principles, functionalities, and benchmarks of TorchAudio. We also benchmark our implementation of several audio and speech operations and models. We verify through the benchmarks that our implementations of various operations and models are valid and perform similarly to other publicly available implementations.

研究动机与目标

  • 加速在 PyTorch 生态系统内音频与语音机器学习应用的开发与部署。
  • 提供一个统一、适用于生产环境的工具包,具备 GPU 兼容性和自动微分能力,支持端到端训练。
  • 通过提供核心操作的规范且高质量的实现,作为更高层级音频/语音工具包的基础依赖。
  • 通过最大限度减少对 PyTorch 以外的外部依赖,确保广泛的兼容性和可维护性。
  • 建立一个稳定、社区驱动的开源基础,为音频/语音机器学习提供强大的性能基准。

提出的方法

  • 将音频 I/O、频谱图计算和数据集加载实现为兼容 PyTorch、GPU 加速的操作。
  • 设计所有核心操作,使其能够通过 PyTorch 的 autograd 系统实现自动微分。
  • 将关键组件编译为 TorchScript,以确保生产就绪性,并可在移动和嵌入式平台部署。
  • 针对运行时性能和输出质量,将核心操作和模型(如 WaveRNN、Tacotron2、Conv-TasNet)与参考实现进行基准测试。
  • 使用标准化数据集(LJSpeech、Libri2Mix)和指标(MCD、Si-SDRi、MOS)进行客观评估。
  • 利用 DistributedDataParallel 实现分布式训练,以在多张 GPU 上实现可扩展的模型训练。
Fig. 1 : The mean and standard error of the running time over five repeated experiments. We compare over five different audio processing functions using the implementations from TorchAudio (including just-in-time compiled (jitted) and GPU accelerated versions) and librosa .
Fig. 1 : The mean and standard error of the running time over five repeated experiments. We compare over five different audio processing functions using the implementations from TorchAudio (including just-in-time compiled (jitted) and GPU accelerated versions) and librosa .

实验结果

研究问题

  • RQ1一个原生基于 PyTorch 的工具包能否提供兼容 GPU、可微分且适用于生产环境的音频处理构建模块,其性能与现有实现相当或更优?
  • RQ2在运行时性能和输出质量方面,TorchAudio 在音频操作执行和模型推理方面的表现与参考实现相比如何?
  • RQ3TorchAudio 在多大程度上可作为 PyTorch 生态系统中更高层级音频/语音工具包的基础依赖?
  • RQ4TorchAudio 实现的端到端模型(如 Tacotron2 和 WaveRNN)是否达到或超越已发表模型的性能?
  • RQ5从社区采纳率和贡献指标来看,TorchAudio 在真实开发环境中的可扩展性和可维护性如何?

主要发现

  • TorchAudio 实现的音频操作在运行时性能上达到或超过公开的参考实现。
  • Tacotron2 实现的梅尔倒谱失真(MCD)为 2.305,与 Nvidia 的 2.294 相当,表明输出质量近乎一致。
  • WaveRNN 实现的主观质量与 fatchord 和 Nvidia 的模型相当,平均意见得分(MOS)表明其与人类语音具有高度感知相似性。
  • 在 Libri2Mix 上,Conv-TasNet 实现的 Si-SDRi 为 15.3 dB,SDRi 为 15.6 dB,优于 Asteroid 基线(分别为 14.7 dB 和 15.1 dB)。
  • TorchAudio 使用 DistributedDataParallel 实现的训练速度优于 fatchord 的实现,表明采用现代 PyTorch 训练模式可获得性能提升。
  • 截至 2021 年 9 月,TorchAudio 已被超过 5,420 个公开仓库依赖,拥有超过 350 个分支,以及超过 1,250 个已合并的拉取请求,表明其社区采纳度高且开发活跃。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。