ML-Store is an attempt at implementing the concept of decentralization in the context of machine learning. Considering the growing concern for the security and sensitivity of private user data, the project aimed to utilize the concepts of federated learning and decentralized machine learning to find a solution to train machine learning models that would honor those concerns. To that end, this project involved making a web platform to share and train machine learning models with on-device machine learning without the need to upload private user data to a central server.
In this project, a machine learning engineer would upload their machine learning models they would like to have trained. Instead of the data being provided to the model in the server from various sources, the model itself is distributed among various participating users in the platform thus getting the models to the data instead. The users would voluntarily train the model in their own devices using the data within their devices; the user in return gets incentivized for their participation. The updates to the model are sent back to the server as new weight values for the model. Updates from all the different users are aggregated on the server storing the original model and are averaged to generate a newly trained version of this model which is then redistributed to the users for further training or could be used by the engineers for deployment in their own applications.
- /dml_backend : Laravel Server for authentication and content management
- /dml_frontend: Vuejs application to access and train models on browser
- /dml_backend/fed_avg_server: NodeJS server to perform federated-aveging of updates
- Bibhuti Poudyal (https://github.com/bibhuticoder)
- Rohan Shrestha (https://github.com/rohshr)
- Roshan Chapagain (https://github.com/Arobce)
For more details, view the project report.