Techniques for Training Large Neural Networks