License CodeStyle Pinpoint Satellite Style Build Status codecov Documentation Status

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.

https://fate.fedai.org

Federated Learning Algorithms In FATE

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.

Install

FATE can be installed on Linux or Mac. Now, FATE can support:

Native installation:

Software environment :jdk1.8+、Python3.6、python virtualenv、mysql5.6+、redis-5.0.2

Standalone

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: standalone-deploy

Cluster

FATE also provides a distributed runtime architecture for Big Data scenario. Migration from standalone to cluster requires configuration change only. No algorithm change is needed.

To deploy FATE on a cluster, please refer to cluster deployment guide: cluster-deploy.

KubeFATE installation:

Using KubeFATE, FATE can be deployed by either docker-compose or Kubernetes:

More instructions can be found in KubeFATE.

Running Tests

A script to run all the unittests has been provided in ./federatedml/test folder.

Once FATE is installed, tests can be run using:

sh ./federatedml/test/run_test.sh

All the unittests shall pass if FATE is installed properly.

Example Programs

Quick Start

We have provided a python script for quick starting modeling task. This scrip is located at "examples/federatedml-1.x-examples"

Obtain Model and Check Out Results

We provided functions such as tracking component output models or logs etc. through a tool called fate-flow. The deployment and usage of fate-flow can be found here

Doc

API doc

FATE provides some API documents in doc-api

Develop Guide doc

How to develop your federated learning algorithm using FATE? you can see FATE develop guide document in develop-guide

Other doc

FATE also provides many other documents in doc. These documents can help you understand FATE better.

Getting Involved

License

Apache License 2.0