Automatically Discovering Fast Parallelization Strategies for Distributed Deep Neural Network Training