Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Task Runner API: Secure Aggregation (securefederatedai#1346)
* feat(secagg): add utility functions Signed-off-by: Pant, Akshay <[email protected]> * feat(secagg): add callbacks for setup Signed-off-by: Pant, Akshay <[email protected]> * feat(secure aggregation): used callbacks to use aggregator client and tensor db Signed-off-by: Pant, Akshay <[email protected]> * feat(secure aggregation): read flag from plan and enable respective callbacks at the component Signed-off-by: Pant, Akshay <[email protected]> * feat(secure aggregation): modify function to save tensors sent by collaborators to handle secure aggregation setup phase Signed-off-by: Pant, Akshay <[email protected]> * feat(secure aggregation): add depedency in requirements list Signed-off-by: Pant, Akshay <[email protected]> * feat(secure aggregation): task runner exampel workspace Signed-off-by: Pant, Akshay <[email protected]> * fix(secure aggregation): change utility functions after testing Signed-off-by: Pant, Akshay <[email protected]> * fix(secure aggregation): change to only use callback for collaborator Signed-off-by: Pant, Akshay <[email protected]> * feat(secure aggregation): add setup steps for the server Signed-off-by: Pant, Akshay <[email protected]> * fix(secure aggregation): read enabling flag from plan.yaml Signed-off-by: Pant, Akshay <[email protected]> * feat(secure aggregation): add server side unmasking Signed-off-by: Pant, Akshay <[email protected]> * feat(secure aggregation): add client side masking Signed-off-by: Pant, Akshay <[email protected]> * fix(secure aggregation): add AggregationFunction * restructure: formatting changes Signed-off-by: Pant, Akshay <[email protected]> * restructure: formatting changes Signed-off-by: Pant, Akshay <[email protected]> * doc(secure aggregation): change workspace header Signed-off-by: Pant, Akshay <[email protected]> * fix(secure aggregation): remove redundant flag init and use conditional for agg function Signed-off-by: Pant, Akshay <[email protected]> * restructure: formatting changes Signed-off-by: Pant, Akshay <[email protected]> * fix(secure aggregation): add secure aggregation to collaborator callback list Signed-off-by: Pant, Akshay <[email protected]> * docs(secure aggregation): add documentation for taskrunner and workflow Signed-off-by: Pant, Akshay <[email protected]> * fix(sec agg): remove mnist example Signed-off-by: Pant, Akshay <[email protected]> * restructure(secagg): renamed setup fucntion to a more appropriate name Signed-off-by: Pant, Akshay <[email protected]> * style: pre-commit changes Signed-off-by: Pant, Akshay <[email protected]> * doc(secagg): fix typo Signed-off-by: Pant, Akshay <[email protected]> * restructure(secagg): rename methods and update docstrings Signed-off-by: Pant, Akshay <[email protected]> * restructure(secagg): rename callback Signed-off-by: Pant, Akshay <[email protected]> * fix(secagg): change agg_function selection in the collaborator Signed-off-by: Pant, Akshay <[email protected]> * style(secagg): move conditional outside method to where it is called Signed-off-by: Pant, Akshay <[email protected]> * fix(secagg): read only aggregator setting to check if secagg is enabled Signed-off-by: Pant, Akshay <[email protected]> * fix(secagg): read masks from db only once per collaborator Signed-off-by: Pant, Akshay <[email protected]> * feat(secagg): store col pvt seeds in tensor db insted of masks during bootstrap Signed-off-by: Pant, Akshay <[email protected]> * feat(secagg): subtract weighted avg of masks when taking a weighted average of tensors sent by collaborators Signed-off-by: Pant, Akshay <[email protected]> * restructure(secagg): reduce complexity of _generate_masks by splitting it into another method Signed-off-by: Pant, Akshay <[email protected]> * doc(secagg): fix the flags to be set in plan for enabling secagg Signed-off-by: Pant, Akshay <[email protected]> * restructure(aggregation function): rename SecureAggregation to SecureWeightedAverage Signed-off-by: Pant, Akshay <[email protected]> * docs(secagg): change to mention secure aggregation as a core security feature Signed-off-by: Pant, Akshay <[email protected]> * docs(secagg): emphasize the change required in plan Signed-off-by: Pant, Akshay <[email protected]> * docs(secagg): update docstring for aggregation function Signed-off-by: Pant, Akshay <[email protected]> * docs(secagg): update code-block language Signed-off-by: Pant, Akshay <[email protected]> --------- Signed-off-by: Pant, Akshay <[email protected]>
- Loading branch information