Berrut Approximated Coded Computing: Straggler Resistance Beyond Polynomial Computing
This addresses the straggler issue in distributed machine learning for large-scale models, offering a more flexible and stable alternative to existing coded computation methods.
The paper tackles the straggler problem in distributed learning by proposing Berrut Approximated Coded Computing (BACC), which allows approximate computation from any subset of worker nodes, overcoming limitations of existing coded computation methods that are restricted to polynomials and require large subsets. The approach is shown to be numerically stable and, in simulations, trains a deep neural network faster than repetition coding.
One of the major challenges in using distributed learning to train complicated models with large data sets is to deal with stragglers effect. As a solution, coded computation has been recently proposed to efficiently add redundancy to the computation tasks. In this technique, coding is used across data sets, and computation is done over coded data, such that the results of an arbitrary subset of worker nodes with a certain size are enough to recover the final results. The major challenges with those approaches are (1) they are limited to polynomial function computations, (2) the size of the subset of servers that we need to wait for grows with the multiplication of the size of the data set and the model complexity (the degree of the polynomial), which can be prohibitively large, (3) they are not numerically stable for computation over real numbers. In this paper, we propose Berrut Approximated Coded Computing (BACC), as an alternative approach, which is not limited to polynomial function computation. In addition, the master node can approximately calculate the final results, using the outcomes of any arbitrary subset of available worker nodes. The approximation approach is proven to be numerically stable with low computational complexity. In addition, the accuracy of the approximation is established theoretically and verified by simulation results in different settings such as distributed learning problems. In particular, BACC is used to train a deep neural network on a cluster of servers, which outperforms repetitive computation (repetition coding) in terms of the rate of convergence.