TAP: Accelerating Large-Scale DNN Training Through Tensor Automatic Parallelisation