GGGGATCGGGGGIIIIIIII
I↵BBBBBBBBFigure 9: Forward and backward pass for GPU implementation of CTC. Gray circles contain valid values,
circle with Icontain1 and circle with Gcontain garbage values that are ﬁnite. Bstand for the blank character
that the CTC algorithm adds to the input utterance label. Column labels on top show different time-steps going
from1toT.
values, with each character as key, we must deal with data dependencies due to repeated characters
in an utterance label. For languages with small character sets like English, this happens with high
probability. Even if there are no repeated characters, the CTC algorithm adds L+ 1blank characters
to the utterance label. We solve this problem by performing a key-value sort, where the keys are the
characters in the utterance label, and the values are the indices of each character in the utterance.
After sorting, all occurrences of a given character are arranged in contiguous segments. We only
need to do the sort once for each utterance. The indices generated by the sort are then used to
sequentially sum up the gradients for each character. This sum is done once per column and in
parallel over all characters in the utterance. Amortizing the cost of key-value sort over Tcolumns is
We show that an end-to-end deep learning approach can be used to recognize
either English or Mandarin Chinese speech--two vastly different languages.
Because it replaces entire pipelines of hand-engineered components with neural
networks, end-to-end learning allows us to handle a diverse variety of speech
including noisy environments, accents and different languages. Key to our
approach is our application of HPC techniques, resulting in a 7x speedup over
our previous system. Because of this efficiency, experiments that previously
took weeks now run in days. This enables us to iterate more quickly to identify
superior architectures and algorithms. As a result, in several cases, our
system is competitive with the transcription of human workers when benchmarked
on standard datasets. Finally, using a technique called Batch Dispatch with
GPUs in the data center, we show that our system can be inexpensively deployed
in an online setting, delivering low latency when serving users at scale.
Dario Amodei Rishita Anubhai Eric Battenberg Carl Case Jared Casper Bryan Catanzaro Jingdong Chen Mike Chrzanowski Adam Coates Greg Diamos Erich Elsen Jesse Engel Linxi Fan Christopher Fougner Tony Han Awni Hannun Billy Jun Patrick LeGresley Libby Lin Sharan Narang Andrew Ng Sherjil Ozair Ryan Prenger Jonathan Raiman Sanjeev Satheesh David Seetapun Shubho Sengupta Yi Wang Zhiqian Wang Chong Wang Bo Xiao Dani Yogatama Jun Zhan Zhenyao Zhu