What is vantage6?#
Vantage6 stands for privacy preserving federated learning infrastructure for secure insight exchange.
The project is inspired by the Personal Health Train (PHT) concept. In this analogy vantage6 is the tracks and stations. Compatible algorithms are the trains, and computation tasks are the journey. Vantage6 is completely open source under the Apache License.
What vantage6 does:
delivering algorithms to data stations and collecting their results
managing users, organizations, collaborations, computation tasks and their results
providing control (security) at the data-stations to their owners
What vantage6 does not (yet) do:
formatting the data at the data station
aligning data across the data stations (for the vertical partitioned use case)
The vantage6 infrastructure is designed with three fundamental functional aspects of federated learning.
Autonomy. All involved parties should remain independent and autonomous.
Heterogeneity. Parties should be allowed to have differences in hardware and operating systems.
Flexibility. Related to the latter, a federated learning infrastructure should not limit the use of relevant data.
Overview of this documentation#
This documentation space consists of the following main sections:
Introduction → You are here now
Installation → How to install vantage6 servers, nodes and clients
How to use → How to use vantage6 servers, nodes and clients
Technical Docs (Under construction) → Implementation details of the vantage6 platform
Developer community → How to collaborate on the development of the vantage6 infrastructure
Algorithm Development → Develop algorithms that are compatible with vantage6
Glossary → A dictionary of common terms used in these docs
Release notes → Log of what has been released and when
This is a - non-exhaustive - list of vantage6 resources.
docs.vantage6.ai → This documentation.
vantage6.ai → vantage6 project website
Academic papers → Technical insights into vantage6
vantage6 → Contains all components (and the python-client).
- 1. Installation
- 1.1. Requirements
- 1.2. Client
- 1.3. Node
- 1.4. Server
- 2. How to use
- 2.1. Client
- 2.2. Node
- 2.3. Server
- 3. Algorithm Development
- 3.1. Concepts
- 3.1.1. Input & output
- 3.1.2. Wrappers
- 3.1.3. Mock client
- 3.1.4. Child containers
- 3.1.5. Networking
- 3.1.6. Cross language
- 3.1.7. Package & distribute
- 3.2. Classic Tutorial
- 3.1. Concepts
- 4. Developer community
- 4.1. Contribute
- 4.2. Documentation
- 4.3. Release
- 5. Glossary