-
Notifications
You must be signed in to change notification settings - Fork 220
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
Certify collaborator step (in case of TLS) internally registers it, need to separate them out #1412
Comments
Hi @noopurintel , if I understand correctly, the concern is that you need to manually add the collaborator1 and collaborator2 entries to |
You are right. Here, the expectation is to have "certify_collaborator" and "register_collaborator" as two separate functions. Importantly, there is no documentation or atleast TO-DOs available for non TLS scenario. |
It's true that there isn't official documentation for setting up a federation without TLS. I wonder though, what would be the use case for a non-TLS federation, except local testing? In FL experiments that deal with any kind of sensitive data it is paramount to protect the communication between the aggregator and collaborators, because leaking intermediate model updates can reveal more about the private data than the final model itself. As a workaround, we may consider adding a "non-TLS" flavor of the quickstart guide that clarifies the additional required step of populating |
Yes, that would do the needful without having to change the code. |
Raised this PR #1442 to document the same. |
Describe the bug
Right now, in case of TLS,
fx collaborator certify
step internally registers collaborators.This leads to confusion while running a non-TLS experiment where we need to perform collaborator registration separately as it isn't mentioned anywhere.
To Reproduce
Steps to reproduce the behavior:
fx workspace create --template torch_cnn_mnist --prefix my_workspace
my_workspace
folderplan/plan.yaml
and assignuse_tls: false
(default value is true)fx collaborator create -n a1 -d 1
andfx collaborator create -n a2 -d 2
plan/data.yaml
gets updated with two entriesa1,1
anda2,2
ValueError: Expected sequence membership, but a2 is not in ['collaborator1', 'collaborator2']
Expected behavior
The text was updated successfully, but these errors were encountered: