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
User guide → How to use vantage6 as a researcher
Node admin guide → How to install and configure vantage6 nodes
Server admin guide → How to configure and deploy vantage6 servers
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).
Planning → Contains all features, bugfixes and feature requests we are working on. To submit one yourself, you can create a new issue.
Discord → Chat with the vantage6 community
Community meetings → Bi-monthly developer community meeting
- 1. User guide
- 2. Node admin guide
- 2.1. Requirements
- 2.2. Install
- 2.3. Use
- 2.4. Configure
- 3. Server admin guide
- 3.1. Requirements
- 3.2. Install
- 3.3. Deploy
- 3.4. Install optional components
- 3.5. Use
- 3.6. Configure
- 3.7. Shell
- 4. Algorithm Development
- 4.1. Concepts
- 4.1.1. Input & output
- 4.1.2. Wrappers
- 4.1.3. Mock client
- 4.1.4. Child containers
- 4.1.5. Networking
- 4.1.6. Cross language
- 4.1.7. Package & distribute
- 4.2. Classic Tutorial
- 4.1. Concepts
- 5. Technical Docs
- 5.1. Architecture
- 5.2. Features
- 5.3. Node
- 5.4. Server
- 5.4.1. Main server class
- 5.4.2. Starting the server
- 5.4.3. Permission management
- 5.4.4. Socket functionality
- 5.4.5. API endpoints
- 5.4.6. SQLAlchemy models
- 5.4.7. Mail service
- 5.4.8. Default roles
- 6. Developer community
- 6.1. Contribute
- 6.2. Documentation
- 6.3. Release
- 7. Glossary