Client Flow

1. Claim Outstanding Rewards:

Automatically retrieve and claim any uncollected rewards for previous epochs, enhancing user incentive alignment.

2. Role Assignment Wait Period:

Pause the workflow and wait for the assignment of a specific role to the user within the federated learning process.

3. Role-Based Actions:

The client executes different actions based on the assigned role:

i. Proposer:

  1. Download global model parameters:

    Retrieve the latest global model parameters from the blockchain.

  2. Retrain model with dataset:

    Use the input dataset to fine-tune the global model parameters locally.

  3. Upload updated model parameters:

    Store the updated parameters on IPFS to preserve privacy and decentralization.

  4. Submit contribution hash:

    Register the contribution with the FlockManager to provide a transparent record of contributions.

ii. Voter:

  1. Download global model & calculate initial accuracy:

    Retrieve latest parameters and assess initial accuracy on the user's test dataset partition.

  2. Retrieve current epoch's contributions:

    Gather the contribution hashes for the current learning epoch.

  3. Download contributions from IPFS:

    Retrieve the localised insights for aggregation.

  4. Aggregate contributions via averaging:

    Compile individual contributions to update the global model.

  5. Upload aggregated model to IPFS:

    Store the updated model securely and transparently.

  6. Push aggregated model hash to blockchain:

    Register the aggregated model's hash for validation.

  7. Calculate aggregated model accuracy:

    Test the updated model on the user's data partition to assess performance.

  8. Determine output accuracy:

    Compute the final accuracy metric.

  9. Submit vote score:

    Cast a vote based on the accuracy delta (step 8 vs step 1), contributing to the consensus process.

  10. Training Completion Check:

    Continue the loop, executing the appropriate steps for the assigned role, until the federated learning process reaches its defined completion criteria.

The loop ensures a seamless and continuous engagement with the FLock ecosystem, allowing participants to contribute to the learning process and aligning their incentives

Last updated