-
Notifications
You must be signed in to change notification settings - Fork 939
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Flower Baseline: Ditto #3756
Comments
Hi @oscardilley your are right, Ditto was one of the baselines proposed for Summer of Reproducibility but it wasn't completed. Would you like to add it to Flower Baselines? Do you need any help? |
Hey @jafermarq, yes, I would really like to contribute it as a baseline - I have started reconfiguring it into the required format. I think I am getting on well so far, but is this the best channel to ask any future questions I may have? |
Hi @jafermarq ,
The reproduction of Ditto is going well, but I have a couple of sticking
points that I was hoping you could advise on...
From the paper <https://arxiv.org/abs/2012.04221> + repo
<https://github.com/litian96/ditto>, they don't seem to provide some of
hyperparameters used to achieve the reported results, specifically:
- Whether the stated learning rate applies to the local and global
objectives, in relation to Algorithm 2.
- The number of clients selected for each round of training.
- The number of local iterations to update the global and personalised
parameters.
With this in mind, what level of result reproduction do you expect?
Further, would it be acceptable, for the contribution, to only replicate a
subset of the results. i.e. the 'clean' tests without clients acting
maliciously?
Thanks!
…On Fri, Jul 12, 2024 at 10:05 AM Javier ***@***.***> wrote:
Hi @oscardilley <https://github.com/oscardilley> your are right, Ditto
was one of the baselines proposed for Summer of Reproducibility but it
wasn't completed. Would you like to add it to Flower Baselines? Do you need
any help?
—
Reply to this email directly, view it on GitHub
<#3756 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AO72UZXJDXILZSTV4B6JYSLZL6L6PAVCNFSM6AAAAABKS7L6X6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRVGE2DONBSGY>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Hi, @jafermarq, please could you advise on this? |
Hi @oscardilley, I am new here but work already in ML Field with flower. I would like to contribute. Do you need any help? Where can I start? |
Hi @oscardilley, @mercurius80, Just checking in here. Are there any updates or is there anything we can do to help? |
It seems that in their repo, they treat the learning rate as one (local and global are the same), I can't find code that distinguishes between them both. 20 clients seem to be default but that they sample 10 of them (fraction 50%). Local iterations seem to be set to 2 and something called |
Hi @WilliamLindskog, thanks for reaching out. Sorry for the delay on this, I have been busy with work. Good spot on those parameters. Following up from a previous question that I had - for it to be an acceptable reproduction/ baseline, how many/ which of the plots from the paper would it be ideal to reproduce? I am hoping to have some time to pick this back up in April. |
@jafermarq any thoughts on how many plots? I'd say the more the merrier, however Figure 4 and 6 should be included I'd say. |
@oscardilley @WilliamLindskog with Baselines we typically aim to have the core results reproduced. In the case of Ditto I see those in Table 1. Having a plot out of these (or even additional experiments is nice) but probably is better to focus on the table. It should be fine having adversaries ratios 20% and 80%. How does that sound ? |
Sounds great, thanks. I will crack on in April time and submit a PR. On 29 Jan 2025, at 17:45, Javier ***@***.***> wrote:
@oscardilley @WilliamLindskog with Baselines we typically aim to have the core results reproduced. In the case of Ditto I see those in Table 1. Having a plot out of these (or even additional experiments is nice) but probably is better to focus on the table. It should be fine having adversaries ratios 20% and 80%. How does that sound ?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Paper
"Ditto: Fair and Robust Federated Learning Through Personalization" by Tian Li, Shengyuan Hu, Ahmad Beirami, Virginia Smith
Link
https://arxiv.org/abs/2012.04221
Maybe give motivations about why the paper should be implemented as a baseline.
From what I can see it was proposed for the summer of reproducibility but has not yet been contributed:
#2026 (comment)
I have implemented this as a part of other research and would like to contribute the work.
Is there something else you want to add?
No response
Implementation
To implement this baseline, it is recommended to do the following items in that order:
For first time contributors
first contribution
docPrepare - understand the scope
Verify your implementation
EXTENDED_README.md
that was created in your baseline directoryREADME.md
is ready to be run by someone that is no familiar with your code. Are all step-by-step instructions clear?README.md
and verify everything runs.The text was updated successfully, but these errors were encountered: