/xain

The eXpandable AI Network (XAIN) represents an agnostic Federated Machine Learning framework to build privacy-preserving AI applications.

Primary LanguagePythonApache License 2.0Apache-2.0

CircleCI PyPI GitHub license

XAIN

The XAIN project is building a GDPR-compliance layer for machine learning. The approach relies on federated machine learning (FedML) as enabling technology that removes compliance-related adoption barriers of AI applications used in production.

At present, the source code in this project demonstrates the effectiveness of our FedML implementation on well known benchmarks using a realistic deep learning model structure. We will soon add a link to details on those experiments.

In the future, we will open source here a first minimal viable product for this layer. And we will add links to articles and papers that describe our approaches to networking, architecture, and privacy-preserving technology. We will also provide references to legal opinions about how and why our compliance layer for machine learning meets the demands of GDPR.

POLITE NOTE: We want to point out that running the benchmarks as described below is consuming considerable resources. XAIN cannot take any responsibilities for costs that arise for you when you execute these demanding machine-learning benchmarks.

Quick Start

XAIN requires Python 3.6+. To install the xain package just run:

$ pip install xain

XAIN can also be installed with GPU support through the gpu extra feature. To install the xain package with support for GPUs just run:

$ pip install xain[gpu]

Running training sessions and benchmarks

To run training sessions, see the benchmark package and the benchmark documentation.

Install from source

For development we require some extra system dependencies:

  • clang-format 8+
    • Linux: sudo apt install clang-format
    • macOS: brew install clang-format

Clone Repository & Install XAIN in development mode

To clone this repository and to install the XAIN project, please execute the following commands:

$ git clone https://github.com/xainag/xain.git
$ cd xain

$ pip install -e .[dev]

Verify Installation

You can verify the installation by running the tests

$ pytest

Building the Documentation

The project documentation resides under docs/. To build the documentation run:

$ cd docs/
$ make docs

The generated documentation will be under docs/_build/html/. You can open the root of the documentation by opening docs/_build/html/index.html on your favorite browser.

Related Papers and Articles