Neursafe is an open source community that focuses on AI Security and Safety, among which Neursafe FL as a sub project of Neursafe, provides federated learning solutions. Federated learning is a privacy preserving machine learning method that utilizes a large number of decentralized data remaining on client devices collaborates to complete the training of machine learning models. The goal of Neursafe FL is to create a reliable, efficient, easy-to-use federated learning and federated computing platform under the premise of privacy and security. Neursafe-FL features the following:
- Use cryptographic algorithms such as differential privacy, multi-party secure computing (MPC) and homomorphic encryption to ensure privacy and the security of intermediate data.
- Provide a variety of federated aggregation algorithms to ensure the convergence and convergence efficiency of the model under different data distributions.
- Provide a low-cost migration solution from existing machine learning to federation, currently supports Pytorch, Tensorflow/Keras
Neursafe FL support two installation modes, the minimal installation mode of standalone and cluster mode based on Kubernetes, as follow:
- standalone mode: In this mode, only federated training of a single job can be performed. During the training process, only the coordinator and clients of the job are required to participate, which is suitable for scenarios where you can quickly experience Neursafe FL or locally verify the correctness of the federated learning code.
- cluster mode: There are complete functions and features of Neursafe FL, such as job management and scheduling, client management and selection, etc.
System components in standalone mode support running as processes or containers, while all components in cluster mode must run as containers. Please refer to the Build document to select the correct build mode and required Neursafe FL components.
See the install documentation for Neursafe FL installation. Neursafe FL support install as standalone mode or cluster mode.
See the quick start documentation to learn how to use Neursafe FL for federated training, using standalone deployment mode in this example.
We welcome all kinds of contributions, please refer to the CONTRIBUTING to get started.