Coordinated version control system, method, and recording medium for parameter sensitive applications
First Claim
1. A version enforcement system having server side and a client side including a parameter server having a plurality of parameter sets and a plurality of learners communicating with the plurality of parameter sets, the system comprising:
- a parameter collecting circuit configured to collect the plurality of parameter sets from the parameter server;
a version examining circuit configured to determine versions of each of the parameter sets;
a mismatch detecting circuit configured to detect if a mismatch exists between the versions of each of the parameter sets;
a determining circuit configured to determine a correct version for each of the parameter sets to generate if the mismatch detecting circuit detects the mismatch;
a requesting circuit configured to request that said each of the parameter sets generates the correct version;
a success checking circuit configured to verify that said each of the parameter sets generates the correct version in response to the request by the requesting circuit; and
a local parameter updating circuit configured to automatically update local parameters for computation by a learner with the correct version of the parameter sets,wherein the parameter collecting circuit, the version examining circuit, the mismatch detecting circuit, the determining circuit, the requesting circuit, the success checking circuit, and the local parameter updating circuit operate on the server side.
1 Assignment
0 Petitions
Accused Products
Abstract
Version vector-based rules are used to facilitate asynchronous execution of machine learning algorithms. The method uses version vector based rule to generate aggregated parameters and determine when to return the parameters. The method also includes coordinating the versions of aggregated parameter sets among all the parameter servers. This allows to broadcast to enforce the version consistency; generate parameter sets in an on-demand manner to facilitate version control. Furthermore the method includes enhancing the version consistency at the learner'"'"'s side and resolving the inconsistent version when mismatching versions are detected.
45 Citations
19 Claims
-
1. A version enforcement system having server side and a client side including a parameter server having a plurality of parameter sets and a plurality of learners communicating with the plurality of parameter sets, the system comprising:
-
a parameter collecting circuit configured to collect the plurality of parameter sets from the parameter server; a version examining circuit configured to determine versions of each of the parameter sets; a mismatch detecting circuit configured to detect if a mismatch exists between the versions of each of the parameter sets; a determining circuit configured to determine a correct version for each of the parameter sets to generate if the mismatch detecting circuit detects the mismatch; a requesting circuit configured to request that said each of the parameter sets generates the correct version; a success checking circuit configured to verify that said each of the parameter sets generates the correct version in response to the request by the requesting circuit; and a local parameter updating circuit configured to automatically update local parameters for computation by a learner with the correct version of the parameter sets, wherein the parameter collecting circuit, the version examining circuit, the mismatch detecting circuit, the determining circuit, the requesting circuit, the success checking circuit, and the local parameter updating circuit operate on the server side. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 18)
-
-
10. A version enforcement method having a server side and a client side including a parameter server having a plurality of parameter sets and a plurality of learners communicating with the plurality of parameter sets, the method comprising:
on the server side; collecting the plurality of parameter sets from the parameter server; determining versions of each of the parameter sets; detecting if a mismatch exists between the versions of each of the parameter sets; determining a correct version for each of the parameter sets to generate if the detecting detects the mismatch; requesting that said each of the parameter sets generate the correct version; checking that said each of the parameter sets generate the correct version in response to the request by the requesting; and automatically updating local parameters for computation by a learner with the correct version of the parameter sets. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
19. An asynchronous execution facilitation system having a server side and a client side including a parameter server having a plurality of parameter sets and a plurality of learners communicating with the plurality of parameter sets, comprising:
on the server side; a server checking circuit configured to check each pull request to the parameter server for an immediate version vector and a local epoch of the learner; and an aggregation returning circuit configured to compare the immediate version vector pulled by the parameter server with a comparison condition such that if the comparison condition is satisfied, the aggregation returning circuit causes the parameter server to return a second aggregated parameter to the learner, the comparison condition being a comparison of the immediate version vector to a current version of the second aggregated parameter set of the parameter server.
Specification