L1 cache. Nonetheless, it continues to provide improved performance over existing libraries up to
N= 10 .
Figure 7 shows that our deployment kernel sustains a higher computational throughput than those
from Nervana Systems [44] on the K1200 GPU, across the entire range of batch sizes that we use
in deployment. Both our kernels and the Nervana kernels are signiﬁcantly faster than NVIDIA
CUBLAS version 7.0, more details are found here [20].
7.3 Beam Search
Performing the beam search involves repeated lookups in the n-gram language model, most of which
translate to uncached reads from memory. The direct implementation of beam search means that
each time-step dispatches one lookup per character for each beam. In Mandarin, this results in over
1M lookups per 40ms stride of speech data, which is too slow for deployment. To deal with this
problem, we use a heuristic to further prune the beam search. Rather than considering all characters
as viable additions to the beam, we only consider the fewest number of characters whose cumulative
probability is at least p. In practice, we have found that p= 0.99 works well. Additionally, we limit
ourselves to no more than 40 characters. This speeds up the Mandarin language model lookup time
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