SKCompress: compressing sparse and nonuniform gradient in distributed machine learning