Parallel Complexity of Forward and Backward Propagation
This work addresses the computational bottleneck of training neural networks by providing theoretical parallel complexity bounds, which is incremental as it builds on existing formulations but offers new algorithmic insights.
The paper tackles the problem of parallelizing forward and backward propagation in neural networks by formulating them as triangular systems of equations, showing that for feedforward and recurrent networks, backward propagation can be performed in O(log k) and O(log k log τ) parallel steps, respectively.
We show that the forward and backward propagation can be formulated as a solution of lower and upper triangular systems of equations. For standard feedforward (FNNs) and recurrent neural networks (RNNs) the triangular systems are always block bi-diagonal, while for a general computation graph (directed acyclic graph) they can have a more complex triangular sparsity pattern. We discuss direct and iterative parallel algorithms that can be used for their solution and interpreted as different ways of performing model parallelism. Also, we show that for FNNs and RNNs with $k$ layers and $τ$ time steps the backward propagation can be performed in parallel in O($\log k$) and O($\log k \log τ$) steps, respectively. Finally, we outline the generalization of this technique using Jacobians that potentially allows us to handle arbitrary layers.