  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.
