FedML-AI / FedML

FEDML - The unified and scalable ML library for large-scale distributed training, model serving, and federated learning. FEDML Launch, a cross-cloud scheduler, further enables running any AI jobs on any GPU cloud or on-premise cluster. Built on this library, TensorOpera AI (https://TensorOpera.ai) is your generative AI platform at scale.
https://TensorOpera.ai
Apache License 2.0
4.11k stars 773 forks source link

[FedML-HE] How is the merging of decrypted weights done? #2103

Open LeMB2A opened 1 month ago

LeMB2A commented 1 month ago

Hello, I have two questions concerning FedML-HE:

My first question is about the Threshold-Key Management protocol that you presented in the Appendix of the paper. You mentioned that the participants partially-decrypt the aggregated parameters and merge the results to obtain the result in plaintext. Would you please explain to me how the merging is done? Do each participant send the weights he decrypted to the other participants so that each one of them can merge the weights locally?

My other question is regarding the Homomorphic operations done by the Aggregator, is it a Fully-Homomorphic Encryption (homomorphic addition and multiplication)?

Thank you

mayank64ce commented 1 month ago

Check the source code here: https://github.com/FedML-AI/FedML/tree/master/python/examples/federate/cross_silo/mqtt_s3_fedavg_fhe_mnist_lr_example .

does that help ?