data synthesis to further augment the data during training.
Training on large quantities of data usually requires the use of larger models. Indeed, our models
have many more parameters than those used in our previous system. Training a single model at
these scales requires tens of exaFLOPs1that would require 3-6 weeks to execute on a single GPU.
This makes model exploration a very time consuming exercise, so we have built a highly optimized
training system that uses 8 or 16 GPUs to train one model. In contrast to previous large-scale training
approaches that use parameter servers and asynchronous updates [18, 10], we use synchronous SGD,
which is easier to debug while testing new ideas, and also converges faster for the same degree of
data parallelism. To make the entire system efﬁcient, we describe optimizations for a single GPU
as well as improvements to scalability for multiple GPUs. We employ optimization techniques
typically found in High Performance Computing to improve scalability. These optimizations include
a fast implementation of the CTC loss function on the GPU, and a custom memory allocator. We
also use carefully integrated compute nodes and a custom implementation of all-reduce to accelerate
inter-GPU communication. Overall the system sustains approximately 50 teraFLOP/second when
training on 16 GPUs. This amounts to 3 teraFLOP/second per GPU which is about 50% of peak
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