Welcome to XFL’s documentation!

XFL is a high-performance, high-flexibility, high-applicability, lightweight, open and easy-to-use Federated Learning framework. It supports a variety of federation models in both horizontal and vertical federation scenarios. To enable users to jointly train model legally and compliantly to unearth the value of their data, XFL adopts homomorphic encryption, differential privacy, secure multi-party computation and other security technologies to protect users’ local data from leakage, and applies secure communication protocols to ensure communication security.

Highlights:

  • High-performance algorithm library

    • Comprehensive algorithms: support a variety of mainstream horizontal/vertical federation algorithms.

    • Excellent performance: significantly exceeds the average performance of federated learning products.

    • Network optimization: adapt to high latency, frequent packet loss, and unstable network environments.

  • Flexible deployment

    • parties: support two-party/multi-party federated learning.

    • schedulering: any participant can act as a task scheduler.

    • hardware: support CPU/GPU/hybrid deployment.

  • Lightweight, open and easy to use:

    • Lightweight: low requirements on host performance.

    • Open: support mainstream machine learning frameworks such as Pytorch, Tensorflow, PaddlePaddle and Jax, and user can conveniently design their own horizontal federation models.

    • Easy to use: able to run in both docker environment and Conda environment.

Function support

Function

Implementation

Horizontal Federation

Vertical Federation

XGBoost

Deep Learning Framework

Pytorch/Tensorflow/PaddlePaddle/Jax

Partial Homomorphic Encryption

Fully Homomorphic Encryption

One Time Pad

Secure Multi-party Computation

Differential Privacy

PSI(Private Set Intersection)

PIR(Private Information Retrieval)

GPU Support

Cluster Deployment

Online Inference

Federated Node Management

Federated Data Management