Pykaldi2: Yet another speech toolkit based on Kaldi and Pytorch
Table 3: Results from models trained with 960 hours of Librispeech data.
['model', 'loss', 'dev-clean', 'dev-other', 'test-clean', 'test-other']
We report benchmark results of PyKaldi2 using 960 hours of clean training data from Librispeech. The phonetic decision tree and force-alignments were obtained from a Kaldi GMM system. The total number of tied HMM states is 5768. For CE training, we used the Adam optimizer with an initial learning rate as 2×10−4, and decayed the learning rate by a factor of 0.5 from the 4th epoch. We trained the model for 8 epochs. We then used the CE model as the seed, and fixed the learning rate as 1×10−6 and used the vanilla SGD optimizer for MMI, sMBR and MPE training. For sequence training, we used 4 GPUs with Horovod and each GPU consumed 4 utterances for each update, corresponding to the minibatch size as 16 utterances. To avoid overfitting, we applied CE regularization with weight as 0.1. We first run experiment with fixed alignments from the GMM system. In our experiments, we observed the sequence training converged very quickly, and the optimal results were achieved at around 8000 steps. The word error rate ( Overall, sequence training can achieve around 5-6% relative WER reduction in the clean condition, and over 7% in the other condition, which demonstrates that the sequence training pipeline of PyKaldi2 works as expected.