parallel over all characters in the utterance. Amortizing the cost of key-value sort over Tcolumns is
a key insight that makes the gradient calculation fast.
Our GPU implementation uses fast shared memory and registers to achieve high performance when
performing this task. Both forward and backward kernels store the matrix in shared memory .
Since shared memory is a limited resource, it is not possible to store the entire matrix. However,
as we go backward in time, we only need to keep one column of the matrix as we compute the
gradient, adding element-wise the column of the matrix with the corresponding column of the
matrix. Due to on-chip memory space constraints, we read the output of the softmax function
directly from off-chip global memory .
Due to inaccuracies in ﬂoating-point arithmetic, especially in transcendental functions, our GPU and
CPU implementation are not bit-wise identical. This is not an impediment in practice, since both
implementations train models equally well when coupled with the technique of sorting utterances
by length mentioned in Section 3.3.
28
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