Contributing to Open Mined

PUBLISHED ON NOV 16, 2017 — DEVELOPMENT

Ok. So I have a lot more freedom to explore my personal passions and I’ve found an open source project that I am going to contribute to called OpenMined.

Across my research in MA-AI (Multi-Agent AI), I came across a cool project called OpenMined. You can visit the link for the project here: openmined.org. It’s an open source project, focused on democratizing deep learning models and data through a whole bunch of cool things such as homomorphic encryption, federated learning, and blockchain.

This won’t be all my time, but it will be a side project that I do. To date, I’ve made a few commits, and plan to make way more once I get a better idea of the project.

The rest of this post is going to go through some of the advantages of joining a project like openmined, explain why I’m doing it, and explain the point of the project.


5 Reasons to Contribute to an Open Source Project

Why would someone ever contribute to an open source project? For me, I think there’s a couple of advantages for developing in the open community.

  1. People can look at your code and evaluate your skills.
  2. You get connected with an awesome community.
  3. You have more freedom than a traditional software project.
  4. You get exposed to people from a whole bunch of different backgrounds.
  5. Nobody is there for the paycheck. We are all here because we are passionate about AI.

Seemed to me a logical choice to get more involved with an open source project.


5 Cool Things About OpenMined

  1. It has all the benefits of an open source project.
  2. It is dealing with a very real problem.
  3. It has an active community.
  4. It is internationally contributed #letsmeetup.
  5. Some of the things I want to research in the future with Multi-Agent AI can leverage the OpenMined framework.

If you get a chance, check out the repo at Github/OpenMined. The project just started recently and most of the work is in discussion. The OpenMined organization did most of the prior work in homomorphic encryption, and you can check out the library here: Github/PySyft. I’ve contributed a few commits so far, and plan to do a lot more once we have gotten farther in determining an architecture for the final project.


What is the problem OpenMined is trying to solve?

The current problem is that deep learning models are not encrypted, and that has model and data security implications. This is a particularly relevant problem with sensitive information such as personal health information, which you probably do not want out in the wild. However, you probably also want really accurate models to predict your health status. It’s a precarious situation. Either hand companies sensitive data that they can abuse or irresponsibly handle OR don’t get highly performant models.

If you are a data scientist, right now there is no great ecosystem to train models from data. Moreover, models are pretty insecure right now, and there’s a lot of research being done that could compromise personal data even in a NN. This means as a consumer, without a system like OpenMined you should be weary to share you data.

OpenMined tries to solve that problem, by loosening the monopoly on training data empowering consumers to make money from their data and do this in a way where your data is completely secure. #Showmethemoney!!!


How does OpenMined work?

OpenMined is a combination of a few ideas all squished together.

  1. Homographic Encryption
  2. Blockchain/Smart Contract
  3. Deep Learning
  4. Federated Learning

Here’s the basic idea:

Open mind is an ecosystem where people can sell their data to data scientists who are training deep learning models. Your data is safely encrypted across models and you remain anonymous through the training.

You data will enter a marketplace, and so no single company can “claim” you data. This has the possibility of revolutionizing the way people train and test models and empowers the little guy to make high performance models just like Google or Facebook.

Bottom Line: Your personal data stays personal

The encryption libraries built at PySyft will allow models to be transferred anonymously. This means that models that use your data are safe from theft or manipulation. With OpenMined, theoretically there is less liability for someone to share data within the network and the models won’t know anything about your individual data. On the flip side, data scientists will have access to data so they can build high performance models that are as good as Google.

Is it done? No. In fact it’s really early stages. There are a lot of kinks and discussions theories to be considered, but it is definitely a start in the right direction and I’m looking forward to seeing what happens to the project in time.

The result of OpenMined

You get paid. Data scientist get a high performance model and access to a lot of data.

That’s what I call a win win.

Is there more to it?

Of course there is! This is just the basic ideas in the project. All the pieces of the project eventually get much more involved but I didn’t want to bore you with details. Feel free to check out the repository if you want to learn more.

Cheers,
Andor