Table of Contents
Introduction
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.
License
Apache License 2.0
How to use this document
Just follow the instruction.
Deployment Architecture
Pre-Installation Requirements
Hardware Requirements
Minimum Hardware Requirements
Single Machine with Linux or Mac system installed.
Recommended Hardware Requirements
Software Prerequisites
Introductions
FATE can be installed on Linux or Mac. Now, FATE can support:
Native installation: standalone and cluster deployments;
KubeFATE installation:
Multipal parties deployment by docker-compose, which for devolopment and test purpose;
Cluster (multi-node) deployment by Kubernetes
Native installation:
Software
...
environment :jdk1.8+、Python3.6、python virtualenv、mysql5.6+
...
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:
For development or testing purposes, docker-compose is recommended. It only requires Docker enviroment. 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 FATE system. For more detail, please refer to Deployment on Kubernetes.
More instructions can be found in KubeFATE.
Database Prerequisites
Schema scripts
Other Installation Requirements
Jump Host Requirements
Network Requirements
Bare Metal Node Requirements
Execution Requirements (Bare Metal Only)
Installation High-Level Overview
Bare Metal Deployment Guide
Install Bare Metal Jump Host
Creating a Node Inventory File
Creating the Settings Files
Running
Virtual Deployment Guide
Standard Deployment Overview
Snapshot Deployment Overview
Special Requirements for Virtual Deployments
Install Jump Host
Verifying the Setup - VMs
Upstream Deployment Guide
Upstream Deployment Key Features
Special Requirements for Upstream Deployments
Scenarios and Deploy Settings for Upstream Deployments
Including Upstream Patches with Deployment
Running
Interacting with Containerized Overcloud
Verifying the Setup as defined the Akraino validation feature project plus any additional testing specific to the blue print
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.
...
Developer Guide and Troubleshooting
Utilization of Images
Post-deployment Configuration
Debugging Failures
Reporting a Bug
...
Uninstall Guide
...
Troubleshooting
Error Message Guide
...
Maintenance
Blue Print Package Maintenance
- Software maintenance
- Hardware maintenance
- Blue Print Deployment Maintenance
...
Frequently Asked Questions
...
License
...
References
FATE-Client Installation
FATE-client is an easy tool for interacting with FATE. We strongly recommend you install FATE-client and take its advantage to use FATE conveniently. Please refer to this document for more details on FATE-Client.
...