Optimal Gradient Compression for Distributed and Federated Learning | Synapse