flower icon indicating copy to clipboard operation
flower copied to clipboard

FedFomo

Open jafermarq opened this issue 2 years ago • 5 comments

FedFomo

  • Title: Personalized Federated Learning with First Order Model Optimization
  • Venue: ICLR 2021
  • Link to paper: https://openreview.net/forum?id=ehJqJQk9cw

Do you want to work on this baseline?

🌻 Check everything about the Summer of Reproducibility on flower.dev/summer

All available baselines are listed in the Summer of Reproducibility Dashboard and also in the GitHub Issues with the summer-of-reproducibility label. The content is the same.

📝 It is advised to complete these steps before your start working on your code. But if you can't wait to implement your baseline with Flower (we totally understand it 😄), please ensure you follow the steps on how to contribute a new baseline.

What follows are the steps 1 & 2 in the Summer of Reproducibility instructions.

1. Join the Summer of Reproducibility program

  • [x] Join the Flower Slack and say "hi! 👋" in the channel #summer-of-reproducibility.
  • [x] Pick a baseline from our curated list <---------------------------------------- [you are doing this now]

2. Define the scope of your contribution

  • [x] What are you going to reproduce? Add a comment to your issue and tell us about your plan regarding this baseline: what experiments from the paper are you reproducing?, for which datasets ? the more details you provide us with the better !

  • [x] Check if you are eligible for a reward.

    As we have to comply with US/EU regulations, we have checked that individual contributors based on these countries or territories are eligible: Australia, Austria, Belgium, Bulgaria, Canada, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Gibraltar, Greece, Hong Kong SAR China, Hungary, India, Ireland, Italy, Japan, Latvia, Liechtenstein, Lithuania, Luxembourg, Malta, Mexico, Netherlands, New Zealand, Norway, Poland, Portugal, Romania, Singapore, Slovakia, Slovenia, South Korea, Spain, Sweden, Switzerland, Thailand, United Arab emirates, United Kingdom United States.

    If where you are based is not on the list, please send us an email ([email protected]) letting us know a bit about yourself (where are you currently based?, are you a university student? do you work at a public institution?). Please tell us the baselines you are interested in implementing (i.e. tell us your GitHub issue if you have crated one). We will reach back to you.

  • [x] We will discuss with you about your contribution plan, if it sounds like a substantial enough contribution according to the Summer of Reproducibility rules (check our website flower.dev/summer), you'll get the OK from us to start working on your baseline!

What happens next?

Is something wrong or not clear ?

  • Ask a question directly in your issue.
  • Reach out to us via the Flower Slack and ask your question in the #summer-of-reproducibility channel
  • Check all the details (including FAQ) in the Summer of Reproducibility website: flower.dev/summer

jafermarq avatar Jul 06 '23 15:07 jafermarq

Hi @jafermarq, I would like to implement the FedFomo baseline in flower framework.

Contribution Plan

  • The experiments will involve comparing the performance of FedFomo against FedAvg baseline.
  • I plan to reproduce (Table 2 and Figure 1) proposed in the paper using the CIFAR-10 and CIFAR-100 datasets.

My Background

I'm a recent graduate with a bachelor's degree in computer engineering from Faculty of Engineering - Alexandria University, eager to embark on a journey into the fascinating worlds of federated learning and privacy-preserving techniques.

omarmoo5 avatar Jul 18 '23 01:07 omarmoo5

Hi @omarmoo5, it's great to see you are keen in implementing FedFomo. Your contribution plan makes sense. We have also discussed your eligibility so everything is good from our side. I have now ✅ all the points in Step 1 & 2, added you as the assignee to this issue, and moved your baseline to the In Progress stage.

You'll find instructions on how to begin with the code by following the link in the What happens Next? section above. If you have doubts or suggestions on how to improve things, please reach out to me and the other contributors via our Slack. As a quick reminder, the Summer of Reproducibility ends at the end of September.

We are looking forward to see your FedFomo baseline in action!!

jafermarq avatar Jul 29 '23 09:07 jafermarq

Hi @jafermarq, I was wondering if FedFomo was still up for grabs. I would love to get started with implementing this in Flower. I plan to work in the same direction as @omarmoo5 mentioned, by comparing FedFomo with FedAvg as a start and building upon the experiments on varying heterogeneity levels (Table 2).

My background

  • Final-year undergrad at IIT Roorkee.
  • Research experience in areas like domain generalization, test-time adaptation and adversarial ML.
  • Previously participated in the ML Reproducibility Challenge.

apoorvaverma31 avatar Jan 08 '24 17:01 apoorvaverma31

Hi @apoorvaverma31, yes FedFomo is available. Having FedAvg vs FedFomo results as in Table 2 would be great! Let me know if you need any help starting with the implementation.

Please note that the Flower Summer of Reproducibility is now over. However, the process of contributing a new baseline remains the same. This means that once merged, your FedFomo implementation will be listed in the Flower Baselines documentation for others out there to use. Exciting 🙌

Happy to support you along the way ! Don't forget to join our Slack: https://flower.dev/join-slack/

jafermarq avatar Jan 09 '24 00:01 jafermarq

Hi @jafermarq, thanks for your reply. I'm super excited to be working on this!

apoorvaverma31 avatar Jan 09 '24 04:01 apoorvaverma31