OpenMined / PySyft

Perform data science on data that remains in someone else's server
https://www.openmined.org/
Apache License 2.0
9.39k stars 1.99k forks source link

GSoC Project: Combine Federated Learning & SplitNN APIs #3111

Closed H4LL closed 4 years ago

H4LL commented 4 years ago

Mentor: Adam J Hall

Federated Learning and SpitNN are both methods for distributing the training of a neural network across multiple machines for the sake of privacy. However, they have different tradeoffs. At present, one can either choose to use one algorithm or the other, but not a combination of both. In this project, we seek to remedy this by creatively combining them in a clean, cohesive API. More generally, we also want to allow for greater flexibility/ granularity in how the splitnn can be implemented/ combined with other techniques or vertically distributed data.

Required Skills:

Knowledge of PyTorch and Deep Learning Familiarity (or willingness to become familiar) with PySyft Ability to understand Federated Learning Ability to understand SplitNN

Difficulty: Medium

While the project itself is not complex (neither Federated Learning or SplitNN are hard to understand), this project does require some significant API work within PySyft (which is, itself, a complex library).

Useful Links;

PyTorch - https://pytorch.org/blog PySyft - https://github.com/OpenMined/PySyft PyGrid - https://github.com/OpenMined/PyGrid Google Summer of Code - https://summerofcode.withgoogle.com Intro to SplitNN - https://medium.com/analytics-vidhya/split-neural-networks-on-pysyft-ed2abf6385c0

Please comment below if you'd like to be considered for this.

haofanwang commented 4 years ago

Hi, Adam, @H4LL

I'm Haofan Wang, currently a graduate student at CMU, I can send you my resume if needed. I'd like to be considered for this project in GSoC. I'm experienced with DL and Pytorch, and I'm taking the course on Udacity now and reading paper of Federated learning and SplitNN.

I'd like to begin working on the project and collaborate with you. Any suggestions for how to get started? I hope to contribute and get selected in the project. Thanks.

AbinavRavi commented 4 years ago

Hello,

I am Abinav, currently a Master's student at Technical University Munich. I would like to be considered for the project for GSoC. I have a work experience of about 2 years with Pytorch and Deep learning. I am halfway through the Secure and Private AI in Udacity. It would be great if you could point out relevant issues to get started with the project.

Thank you

H4LL commented 4 years ago

Hey guys,

Get in touch on slack and we can talk about some ways you can initially contribute!

Cheers!

adityaprabhat01 commented 4 years ago

Hello @H4LL I am Aditya, an Undergrad from India. I have been familiarizing myself with PySyft code base as well as its usage. Exhaustively learning about Federated learning and SplitNN through lectures, paper and presentations and really getting interested in this domain. Looking forward to contribute to PySyft towards this project.

Thank You!

haofanwang commented 4 years ago

Hi, @H4LL, I have left a message on slack for you, just check it. As we have a different time zone, may you give your working time schedule?

michalk8 commented 4 years ago

Hey @H4LL , my name's Michal, I'm a Master's student from Prague and I'd be very interested in working on this project. I have both school- and work-related knowledge of PyTorch and consider myself rather privacy minded. That's why when I first heard of PySyft (through one of Andrew Trasks' lecture) I had found it very cool and appealing. Looking forward to contribute!

ucalyptus commented 4 years ago

@H4LL PySyfter here. Have contributed to some of the tutorial translations. Would be good to go once I get a deep dive into the library.

H4LL commented 4 years ago

Hi, @H4LL, I have left a message on slack for you, just check it. As we have a different time zone, may you give your working time schedule?

replied to this on slack

H4LL commented 4 years ago

@H4LL PySyfter here. Have contributed to some of the tutorial translations. Would be good to go once I get a deep dive into the library.

Sure, get in touch on slack if you want to give something a bash!

H4LL commented 4 years ago

Hey @H4LL , my name's Michal, I'm a Master's student from Prague and I'd be very interested in working on this project. I have both school- and work-related knowledge of PyTorch and consider myself rather privacy minded. That's why when I first heard of PySyft (through one of Andrew Trasks' lecture) I had found it very cool and appealing. Looking forward to contribute!

Sure, reach out on slack @Adam J Hall

vineetjai commented 4 years ago

Hi @H4LL I am Vineet Jain, a final year undergraduate student at IIT Kharagpur. I had experience in DL, TensorFlow, PyTorch, and PySyft. I had done my past summer internship in Federated Learning Project(where I had implemented FL on Raspberry pi's (as clients' server) using PySyft ) where I had used PySyft, Tensorflow federated learning, and Tensorflow Federated Core. I am interested in PySyft projects. I am looking forward to contributing!

nin-ed commented 4 years ago

Hi @H4LL I am Edwin Toppo, an undergraduate student from India. I have experience in Deep Learning and Pytorch, and have implemented in projects. I've acquired basic knowledge of federated learning and split NNs and I'm still working on it. I am interested to work along, and looking forward to contribute in this project.

hazemessamm commented 4 years ago

Hi Adam, @H4LL

I'm Hazem Essam, I'm a Computer Science student at Arab Academy for Science, Technology and Maritime Transport, I would like to be considered for this project in GSoC. I have experience with Deep Learning, Federated Learning, Pytorch and TensorFlow and I took the Secure and Private AI course on Udacity.

I would like to start working on the project. Do you have any suggestions on how to get started? I hope to contribute and get selected in the project, I can send you my resume if you need it,

realsidg commented 4 years ago

Hi @H4LL ,

I'm Siddharth Garg, a Computer Science Sophomore from VIT University (Institute of Eminence), India. I am interning as a Computer Vision Engineer at FindMind Analytics. I have a specialization in Deep Learning from deeplearning.ai. As well as a professional certification from IBM in Applied AI. I have worked with Python, PyTorch, Tensorflow and a few other deep learning libraries.

I would like to contribute to this project as part of the GSoC. Can you help me out in getting started?

NiWaRe commented 4 years ago

Hello @H4LL ! I'm Nicolas Remerscheid, currently studying in the Master of Data Engineering and Analytics at the Technical University of Munich in Germany (TUM), same as @AbinavRavi I have been learning and using PyTorch for nearly two years now. I first took the Deep Learning Nanodegree on Udacity being awarded a Full-Scholarship by Facebook (Top 300/10.000 students) As part of the program I initiated and helped start a Human Activity Recognition Android App which aims at providing a non-intrusive way of surveillance for the elderly (e.g.: If there isn't a movement for a couple of days somebody should check if everything's alright) by using LSTM, CNN Approaches to use Accelerometer and Gyroscope in a normal Smartphone to classify whether a person is walking, going up stairs, resting, etc. After that I also took part in the Udacity first phase challenger scholarship for "Secure&Private AI". That is also how I found about this community and the GSoC (by the posting of Sourav Das) As my Master is also specialized on Machine Learning I took various Machine Learning and Deep Learning Courses both also containing weekly assignments with practical hands-on PyTorch Projects. The latter also included the mathematical concepts behind Privacy-Preserving (Machine Learning) Techniques such as Differential Privacy and Federated Learning. As already visible in my effort to create the HAR-Android-App I'm very committed to advancing the benefit AI can have on society while maintaining privacy and data ownership rights as key rights of decision and freedom. If needed I would be happy to elaborate on my specific motivation for this project or my relevant qualifications and/or to send you my CV or LinkedIn.

Unfortunately I found out about this outstanding possibility too late to contribute much until now. (For now I'm only in the process of translating some of the PySift Notebooks into my native language German as a first contribution #2782 and am in the process of registration for GSoC) I would be very grateful however if you could also invite me to the Slack-Community and tell me how I could start contributing and how I could increase my chances of being a part of the GSoC as part of this project.

Thanks in advance!

karlhigley commented 4 years ago

The Slack org is open and you can join here. Join the #gsoc channel!

NiWaRe commented 4 years ago

The Slack org is open and you can join here. Join the #gsoc channel!

Alright, thanks! For some reason the link on the blog entry said I should contact an Administrator.

karlhigley commented 4 years ago

Will try to get that fixed! Thanks for pointing it out.

punitvara commented 4 years ago

@karlhigley Is any one working on this ? I can take this task for my outside GSoC contribution

karlhigley commented 4 years ago

No idea!

github-actions[bot] commented 4 years ago

This issue has been marked stale because it has been open 30 days with no activity. Leave a comment or remove the stale label to unmark it. Otherwise, this will be closed in 7 days.