CPC G06N 20/00 (2019.01) [G06Q 20/08 (2013.01); G06Q 20/22 (2013.01)] | 17 Claims |
1. A system comprising:
a blockchain in a blockchain network;
a plurality of training participant clients, each comprising a processor that, when executing one or more instructions stored in a memory, configures each training participant client to:
generate, using a dataset corresponding to a particular training participant client, a plurality of gradient calculations, each corresponding to a different training iteration for machine learning model training comprising a plurality of training iterations;
a training aggregator in the blockchain network, the training aggregator comprising a processor that, when executing one or more instructions stored in a memory, configures the training aggregator to:
receive, from each training participant client, the plurality of gradient calculations,
combine the plurality of gradient calculations into an aggregate model, and
generate a plurality of transaction proposals, each comprising corresponding gradient calculations, a batch comprising a subset of samples from the dataset, a loss function identifying a cost metric, and an original model parameter, wherein the batch and the original model parameter are stored outside of the blockchain, and wherein the corresponding gradient calculation and the loss function are stored in the blockchain; and
an endorser node in the blockchain network, the endorser node comprising a processor that, when executing one or more instructions stored in a memory, configures the endorser node to:
receive the plurality of transaction proposals from the training aggregator,
endorse of the plurality of transaction proposals, in response to a validation of the corresponding gradient calculation by the endorser using the verify gradient smart contract, and
send the endorsed transaction proposals to the training aggregator, wherein the training aggregator is further configured to:
generate a blockchain transaction based on the endorsed transaction proposals,
send the blockchain transaction to the blockchain, and
combine the endorsed transaction proposals into a new aggregate model.
|