DOC | Quick Start | 中文
FATE (Federated AI Technology Enabler) is an open-source project initiated by Webank's AI Department to provide a secure computing framework to support the federated AI ecosystem. It implements secure computation protocols based on homomorphic encryption and multi-party computation (MPC). It supports federated learning architectures and secure computation of various machine learning algorithms, including logistic regression, tree-based algorithms, deep learning and transfer learning.
FATE already supports a number of federated learning algorithms, including vertical federated learning, horizontal federated learning, and federated transfer learning. More details are available in federatedml.
FATE can be installed on Linux or Mac. Now, FATE can support two installation approaches:
-
Native installation: standalone and cluster deployments;
-
Cloud native installation using KubeFATE:
-
Multi-party deployment by Docker-compose, which is for the development and testing purpose;
-
Cluster (multi-node) deployment by Kubernetes.
-
Software environment: JDK 1.8+, Python 3.6, python virtualenv and mysql 5.6+
FATE provides Standalone runtime architecture for developers. It can help developers quickly test FATE. Standalone support two types of deployment: Docker version and Manual version. Please refer to Standalone Deployment Guide.
FATE also provides a Cluster (distributed) runtime architecture for big data scenario. Migration from Standalone Runtime to Cluster Runtime requires only changes of the configuration. No change of the algorithm is needed. To deploy FATE on a cluster, please refer to Cluster Deployment Guide.
Using KubeFATE, FATE can be deployed by either Docker-Compose or Kubernetes:
-
For development or testing purposes, Docker-Compose is recommended. It only requires Docker environment. For more detail, please refer to Deployment by Docker Compose.
-
For a production or a large scale deployment, Kubernetes is recommended as an underlying infrastructure to manage a FATE cluster. For more detail, please refer to Deployment on Kubernetes.
More instructions can be found in the repo of KubeFATE.
FATE-client is a tool for easy interaction with FATE. We strongly recommend you install FATE-client and use it with FATE conveniently. Please refer to this document for more details on FATE-Client.
A script to run all the unit tests has been provided in ./python/federatedml/test folder.
Once FATE is installed, tests can be run using:
$ sh ./python/federatedml/test/run_test.sh
All the unit tests should pass if FATE is installed properly.
A tutorial of getting started with modeling tasks can be found here.
Functions such as tracking component output models or logs can be invoked by a tool called fate-flow. The deployment and usage of fate-flow can be found here.
FATE provides API documents in doc-api.
To develop your federated learning algorithms using FATE, please refer to FATE Development Guide.
To better understand FATE, refer to documents in doc/.
-
Join our maillist FATE-FedAI Group IO. You can ask questions and participate in the development discussion.
-
Check out the FAQ for any questions you may have.
-
Please report bugs by submitting issues.
-
Submit contributions using pull requests.
-
Bilibili: @FATEFedAI
-
Twitter: @FATEFedAI