can be managed by one thread. However, processing requests individually is inefﬁcient computationally, for two main reasons. Firstly, when processing requests individually, the processor must
load all the weights of the network for each request. This lowers the arithmetic intensity of the workload, and tends to make the computation memory bandwidth bound, as it is difﬁcult to effectively
use on-chip caches when requests are presented individually. Secondly, the amount of parallelism
that can be exploited to classify one request is limited, making it difﬁcult to exploit SIMD or multicore parallelism. RNNs are especially challenging to deploy because evaluating RNNs sample by
20
0 1 2 3 4 5 6 7 8 9 10 11
Batch size0.00.10.20.30.4Probability10 streams
20 streams
30 streamsFigure 5: Probability that a request is processed in a batch of given size
sample relies on sequential matrix vector multiplications, which are bandwidth bound and difﬁcult
to parallelize.
To overcome these issues, we built a batching scheduler called Batch Dispatch that assembles
streams of data from user requests into batches before performing forward propagation on these
batches. In this case, there is a tradeoff between increased batch size, and consequently improved
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