Convolutional Neural Network Training with Distributed K-FAC
This work addresses the problem of reducing training time for large-scale neural network training, particularly for researchers and practitioners using distributed GPU clusters, though it is incremental as it builds on existing K-FAC methods.
The paper tackles the challenge of maintaining convergence and efficiency when training neural networks with many processors by developing a scalable K-FAC design for convolutional neural networks, achieving 18-25% faster training time than SGD on ResNet-50 with ImageNet-1k while matching baseline accuracy.
Training neural networks with many processors can reduce time-to-solution; however, it is challenging to maintain convergence and efficiency at large scales. The Kronecker-factored Approximate Curvature (K-FAC) was recently proposed as an approximation of the Fisher Information Matrix that can be used in natural gradient optimizers. We investigate here a scalable K-FAC design and its applicability in convolutional neural network (CNN) training at scale. We study optimization techniques such as layer-wise distribution strategies, inverse-free second-order gradient evaluation, and dynamic K-FAC update decoupling to reduce training time while preserving convergence. We use residual neural networks (ResNet) applied to the CIFAR-10 and ImageNet-1k datasets to evaluate the correctness and scalability of our K-FAC gradient preconditioner. With ResNet-50 on the ImageNet-1k dataset, our distributed K-FAC implementation converges to the 75.9% MLPerf baseline in 18-25% less time than does the classic stochastic gradient descent (SGD) optimizer across scales on a GPU cluster.