Distributed training for deep learning
Deep neural networks (DNNs) have driven the advancement of artificial intelligence (AI) in the last decades in areas such as computer vision and neural network processing. These are applied every day to solve challenges in diverse use cases.
In order to scale the performance of models, it is necessary to develop complex model architectures with millions of trainable parameters, making the computations required for the training a resourceful operation. As the amount of available data to train models increases, we need to scale up the training pipeline of deep learning models in order to be able to use this available data..
Commonly, in order to train a DNN, we need to follow three basic steps, which are listed here:
- Pass the data through the layers of the network to compute the model loss in an operation called forward propagation.
- Backpropagate this loss from the output layer to the first layer in order to compute the gradients...