Sharing Updatable Models (SUM) on Blockchain
Перейти к файлу
Justin D. Harris 605048ad3b
demo/perceptron: Support initializing more weights. (#4)
* demo/perceptron: Support initializing more weights.
* demo/deposit cost: Get slightly most accurate deposit cost.
2019-05-27 17:50:20 -04:00
assets README: Fill in with useful info. (#1) 2019-04-16 09:28:21 -06:00
demo demo/perceptron: Support initializing more weights. (#4) 2019-05-27 17:50:20 -04:00
simulation Add demo and simulation code. (#2) 2019-05-24 12:00:36 -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 Add demo and simulation code. (#2) 2019-05-24 12:00:36 -04:00

README.md

Decentralized & Collaborative AI on Blockchain

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: Decentralized & Collaborative AI on Blockchain Platforms, dark theme version here.

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.

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.