A machine learning method includes connecting machines in a data-center using a network aware model consistency for stochastic applications; ensuring a communication graph of all machines in the data-center is connected; propagating all updates uniformly across the cluster without update; and preferring connections to a machine with first network throughput over machines with second network throughput smaller than the first network throughput.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A machine learning method, comprising: connecting machines in a data-center using a network aware model consistency for stochastic applications; ensuring a communication graph of all machines in the data-center is connected; propagating all updates uniformly across the cluster without update; and preferring connections to a machine with first network throughput over machines with second network throughput smaller than the first network throughput. 2. The method of claim 1, wherein the datacenter comprises with three network communication speeds at a memory-scale, a rack-scale, and data-center scale. 3. The method of claim 2, wherein the memory scale operates at memory bandwidth, the rack-scale operates at infiniband or 40G Ethernet speed and the datacenter scale operates at switch speed. 4. The method of claim 1, for a given fan-out of every model replica with i replicas in memory, j machines in rack and k racks, every model replica (i, j, k) communicates with (i+1, j, k), (i, j+1, k) and (i, j, k+1), wherein additional fan-out edges are first used to connect nodes within the same machine using a uniform random sequence and additional edges are connected to machines in decreasing order of throughput, wherein the uniform random sequence guarantees the preferring of connections. 5. The method of claim 1, comprising training a plurality of model replicas in parallel using parameter updates, wherein the model replicas train and compute new model weights and send or receive parameters from all other model replicas and apply received parameters to their own models. 6. The method of claim 1, comprising: installing a plurality of model replicas for training on a plurality of computer learning nodes; receiving training data at a each model replica and updating parameters for the model replica after trailing; sending the parameters to other model replicas with a communication batch size; evaluating received parameters from other model replicas; and dynamically adjusting the communication batch size to balance computation and communication overhead and ensuring convergence even with a mismatch in processing abilities on different computer learning nodes. 7. The method of claim 1, comprising providing MALT (distributed Machine Learning Toolset) that runs existing ML software over a cluster. 8. The method of claim 7, comprising providing a shared memory abstraction that runs existing ML software in parallel and allows the ML software to communicate updates periodically. 9. The method of claim 7, comprising providing a scatter-gather application program interface that allows pushing model parameters or model parameter updates (gradients) to parallel model replicas, wherein the replicas process the received values by invoking a user-supplied gather function locally. 10. The method of claim 7, wherein a MALT communication is performed over one-sided RDMA writes and provides abstractions for asynchronous model training and MALT abstracts RDMA programming, and handles system issues including recovering from unresponsive or failed nodes. 11. The method of claim 1, comprising providing a machine learning library that integrates with existing machine learning software and providing peer-to-peer data parallel machine learning. 12. The method of claim 1, comprising balancing computation and communication in distributed machine learning. 13. The method of claim 1, comprising adjusting the communication batch sizes to automatically balance processor and network loads. 14. The method of claim 1, comprising ensuring accurate convergence and high accuracy machine learning models by adjusting training sizes with communication batch sizes. 15. The method of claim 1, comprising training a plurality of model replicas train in parallel using parameter updates. 16. The method of claim 1, wherein the model replicas train and compute new model weights. 17. The method of claim 1, comprising sending or receiving parameters from all other model replicas and applying the parameters to the current model replica model. 18. The method of claim 1, comprising training on data captured by sensors coupled to an actuator. 19. The method of claim 18, wherein the actuator comprises motor or engine to move a physical object. 20. A machine learning system, comprising: a data-center using a network aware model consistency for stochastic applications, wherein the network aware model consistency ensures a communication graph of all machines in the data-center is connected, propagates all updates uniformly across the cluster without update, and prefers connections to a machine with first network throughput over machines with second network throughput smaller than the first network throughput; a plurality of computer learning nodes running a plurality of model replicas for training, each including a processor and a data storage device; code for receiving training data at a first model replica and updating parameters for the model replica after trailing; code for sending the parameters to other model replicas with a communication batch size; code for evaluating received parameters from other model replicas; and code for adjusting the communication batch size to balance computation and communication overhead and ensuring convergence even with a mismatch in processing abilities on different computer learning nodes.