PyChain: A Fully Parallelized PyTorch Implementation of LF-MMI for End-to-End ASR
This provides a flexible and efficient tool for ASR researchers and practitioners, though it is incremental as it adapts an existing method to a new framework.
The authors tackled the problem of implementing lattice-free maximum mutual information (LF-MMI) training for end-to-end automatic speech recognition (ASR) by developing PyChain, a fully parallelized PyTorch tool, achieving competitive results on the WSJ dataset comparable to Kaldi and better than other end-to-end systems.
We present PyChain, a fully parallelized PyTorch implementation of end-to-end lattice-free maximum mutual information (LF-MMI) training for the so-called \emph{chain models} in the Kaldi automatic speech recognition (ASR) toolkit. Unlike other PyTorch and Kaldi based ASR toolkits, PyChain is designed to be as flexible and light-weight as possible so that it can be easily plugged into new ASR projects, or other existing PyTorch-based ASR tools, as exemplified respectively by a new project PyChain-example, and Espresso, an existing end-to-end ASR toolkit. PyChain's efficiency and flexibility is demonstrated through such novel features as full GPU training on numerator/denominator graphs, and support for unequal length sequences. Experiments on the WSJ dataset show that with simple neural networks and commonly used machine learning techniques, PyChain can achieve competitive results that are comparable to Kaldi and better than other end-to-end ASR systems.