Sharing Updatable Models (SUM) on Blockchain
Перейти к файлу
Justin D. Harris c8cb40b1b5
README/setup: Add steps for using public Docker images. (#19)
2019-07-11 15:10:22 -04:00
assets Use new assets (#17) 2019-07-11 13:34:36 -04:00
demo README/setup: Add steps for using public Docker images. (#19) 2019-07-11 15:10:22 -04:00
simulation README/setup: Add steps for using public Docker images. (#19) 2019-07-11 15:10:22 -04:00
.gitattributes Add demo and simulation code. (#2) 2019-05-24 12:00:36 -04:00
.gitignore Add demo and simulation code. (#2) 2019-05-24 12:00:36 -04:00
LICENSE Initial commit 2019-04-15 13:37:14 -07:00
README.md Use new assets (#17) 2019-07-11 13:34:36 -04:00

README.md

Decentralized & Collaborative AI on Blockchain

Animated logo for the project. A neural network appears on a block. The nodes change color until finally converging. The block slides away on a chain and the process restarts on the next blank block.
Demo Simulation Security
Build Status Build Status Build Status

Decentralized & Collaborative AI on Blockchain is a framework to host and train publicly available machine learning models. Ideally, using a model to get a prediction is free. Adding data consists of validation by three steps as described below.

Picture of a someone sending data to the addData method in CollaborativeTrainer which sends data to the 3 main components as further described next.
  1. The IncentiveMechanism validates the transaction, for instance, in some cases a "stake" or deposit is required.
  2. The DataHandler stores data and meta-data on the blockchain. This ensures that it is accessible for all future uses, not limited to this smart contract.
  3. The machine learning model is updated according to predefined training algorithms. In addition to adding data, anyone can query the model for predictions, and the incentive mechanism may be triggered to provide users with payments or virtual "karma" points.

More details can be found in the initial paper describing the framework, accepted to Blockchain-2019, The IEEE International Conference on Blockchain: (coming July 2019)

This repository contains:

  • Demos showcasing some proof of concept systems using the Ethereum blockchain. There is a locally deployable test blockchain and demo dashboard to interact with smart contracts written in Solidity.
  • Simulation tools written in Python to quickly see how models and incentive mechanisms would work when deployed.
Picture of a QR code with aka.ms/0xDeCA10B written in the middle.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.