Substra is an open source federated learning (FL) software. It provides a flexible Python interface and a web app to run federated learning training at scale.
Substra’s main usage is in production environments. It has already been deployed and used by hospitals and biotech companies (see the MELLODDY project for instance). Substra can also be used on a single machine on a virtually split dataset to perform FL simulations and debug code before launching experiments on a real network.
Substra was created by Owkin and is now hosted by the Linux Foundation for AI and Data.
How does it work?¶
- Substra has three user interfaces:
Substra: a low-level Python library (also called SDK). Substra is used to create datasets, functions and machine learning tasks on the platform.
SubstraFL: a high-level federated learning Python library based on Substra. SubstraFL is used to run complex federated learning experiments at scale.
A web application used to monitor experiments training and explore their results.
Client side: Install Substra and SubstraFL python libraries with the following command:
pip install substrafl. Substra python library is a dependency of SubstraFL, so it will be automatically installed. More information on the installation can be found here.
Server side: There are two options to deploy the server side of Substra (backend, frontend and orchestrator):
Local deployment: to deploy locally on a single one machine. Useful for quick tests and for development.
Production deployment: for real deployments.
You can start doing local FL experiments with Substra by installing only the client side.