Inspiration

Disco framework link

Disco is an existing distributed machine learning framework allowing to train deep learning models without sharing the data. In order to make this possible, the contributors download the model, then they update the weights locally with their private data and only send back their improvements.

For the moment, this process is done in a centralized manner. The contributors know how their input will be treated but can't verify if it has been done properly, and it is not possible to trace back or reward contributions...

What it does

Blockchain Disco, as its name says, implement blockchain for Disco. Our smart contract does the job of the Disco's centralized server. The contributions are stored and aggregated in the block chain. Thanks to that, everybody can verify that the Disco logic has been applied properly, trace back the contributions, and generate tokens proportional to the model improvement.

Once the model is trained, it is possible to know who the contributors are and how much they contributed. This can improve the trust in the model, and structure the model's ownership.

Steps:

  1. Sends update propositions
  2. Get Tau (update max amplitude)
  3. Update model's weights
  4. Declare Fraud and propose the right model's weights

How we built it

It has been built using a smart contract based on Ethereum. The programming language used is solidity.

Challenges we ran into

  • Encoding the neural network weights in order to fit in the block chain.
  • Finding validation functions

Accomplishments that we're proud of

  • Finding a smart contract compatible with Disco
  • Improvement of the initial service thanks to transparency and ownership tracing.

What we learned

What's next for Blockchain Disco

  • Solution refinement
  • Find a solution for bigger models
  • Reward contributions (Training = Mining)
  • List contributors with their contribution weight

Built With

Share this project:

Updates