I am trying to figure out how federated learning is implemented.
As far as I understand for now, the federated version xgboost includes gRPC to establish server/client communication between host and remote workers. SSL/TLS is implemented in rabit via library mbedtls to ensure the security of data transfer among host and workers.
However, until now I did not quite get the idea of how federated learning implemented, e.g.
- How privacy is preserved among host and workers or between workers during AllReduce in rabit?
- Is MPC or differential privacy or other techniques for privacy-preserving techniques implemented yet?
- Who is the aggregator? is host the aggregator?
I will continue to read the code to get the global picture of the implementation. But it would also be very helpful if someone could give some explanations on those questions.
I am trying to figure out how federated learning is implemented.
As far as I understand for now, the federated version xgboost includes gRPC to establish server/client communication between host and remote workers. SSL/TLS is implemented in rabit via library mbedtls to ensure the security of data transfer among host and workers.
However, until now I did not quite get the idea of how federated learning implemented, e.g.
I will continue to read the code to get the global picture of the implementation. But it would also be very helpful if someone could give some explanations on those questions.