The disclosed embodiments provide a system and method for performing version control for asynchronous distributed machine learning. During operation, the system transmits a first global version of a statistical model to a set of client computer systems. Next, the system obtains, from a first subset of the client computer systems, a first set of updates to the first global version. The system then merges the first set of updates into a second global version of the statistical model. Finally, the system transmits the second global version to the client computer systems asynchronously from receiving a second set of updates to the first and/or second global versions from a second subset of the client computer systems.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method, comprising: transmitting, from a server to a set of client computer systems, a first global version of a statistical model; obtaining, from a first subset of the client computer systems, a first set of updates to the first global version; merging, by the server, the first set of updates into a second global version of the statistical model; and transmitting the second global version to the client computer systems asynchronously from receiving a second set of updates to one or more of the first and second global versions from a second subset of the client computer systems. 2. The method of claim 1, further comprising: associating the first set of updates with the second global version; using the associated first set of updates to merge the second set of updates into a third global version of the statistical model without merging the first set of updates into the third global version; and transmitting the third global version to the set of client computer systems. 3. The method of claim 2, wherein associating the first set of updates with the second global version comprises: combining a set of update identifiers for the first set of updates into a version identifier for the second global version. 4. The method of claim 2, wherein using the associated first set of updates to merge the second set of updates into the third global version without merging the first set of updates into the third global version comprises: identifying the set of update identifiers in the version identifier for the second global version; and omitting merging of the first set of updates into the third global version based on the identified set of update identifiers. 5. The method of claim 1, further comprising: matching the server to the set of client computer systems for distribution of the statistical model based on a first attribute of the server and a second attribute of the set of client computer systems. 6. The method of claim 5, wherein the first attribute comprises at least one of: a processor speed; an amount of memory; and a network bandwidth. 7. The method of claim 5, wherein the second attribute comprises at least one of: network traffic; a popularity; and a cost. 8. The method of claim 1, wherein merging the first set of updates into the second global version of the statistical model comprises: using a set of weights associated with the first subset of the client computer systems to merge the first set of updates into the second global version. 9. The method of claim 8, wherein the set of weights is associated with at least one of: a recency of an update; a level of activity; a popularity; and a revenue. 10. The method of claim 1, wherein the first set of updates is merged into the second global version based on a regularization parameter for personalizing the statistical model on each of the client computer systems and an optimization parameter for the set of client computer systems. 11. An apparatus, comprising: one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the apparatus to: transmit a first global version of a statistical model to a set of client computer systems; obtain, from a first subset of the client computer systems, a first set of updates to a first global version of a statistical model; merge the first set of updates into a second global version of the statistical model; and transmit the second global version to the client computer systems asynchronously from receiving a second set of updates to one or more of the first and second global versions from a second subset of the client computer systems. 12. The apparatus of claim 11, wherein the memory further stores instructions that, when executed by the one or more processors, cause the apparatus to: associate the first set of updates with the second global version; use the associated first set of updates to merge the second set of updates into a third global version of the statistical model without merging the first set of updates into the third global version; and transmit the third global version to the set of client computer systems. 13. The apparatus of claim 12, wherein using the associated first set of updates to merge the second set of updates into the third global version without merging the first set of updates into the third global version comprises: identifying the first set of updates in a version identifier for the second global version; and omitting merging of the first set of updates into the third global version based on the identified first set of updates. 14. The apparatus of claim 11, wherein the memory further stores instructions that, when executed by the one or more processors, cause the apparatus to: select the set of client computer systems for distribution of the statistical model from the apparatus based on a first attribute of the apparatus and a second attribute of the set of client computer systems. 15. The apparatus of claim 11, wherein merging the first set of updates into the second global version comprises: using a set of weights associated with the first subset of the client computer systems to merge the first set of updates into the second global version. 16. The apparatus of claim 15, wherein the set of weights is associated with at least one of: a recency of an update; a level of activity; a popularity; and a revenue. 17. The apparatus of claim 11, wherein the first set of updates are merged into the second global version based on a regularization parameter for personalizing the statistical model on each of the client computer systems and an optimization parameter for the set of client computer systems. 18. A method, comprising: obtaining, from a server by a computer system, a first global version of a statistical model; using data on the computer system to produce a local version of the statistical model from the first global version; and transmitting an update comprising a difference between the local version and the first global version to the server asynchronously from receiving a second global version of the statistical model from the server. 19. The method of claim 18, further comprising: obtaining a regularization parameter for the computer system; producing the update based on the regularization parameter; and updating the local version with the second global version based on the regularization parameter. 20. The method of claim 19, further comprising: updating the regularization parameter based on the data on the computer system.