Skip to content

Stochastic Participant Selection on Dynamic Vertical FL System via Data Padding

Notifications You must be signed in to change notification settings

r-gheda/Dynamic-VFPS

Repository files navigation

Dynamic-VFPS

Distributed ML Seminar Project 2022/23

How to run

To run:

  1. Build the image with docker build -t pyvertical:latest .
  2. Launch a container with docker run -it -p 8888:8888 pyvertical:latest
    • Defaults to launching jupyter lab

Code design

This framework design took inspiration from the PySyft-based PyVertical framework by OpenMined. The original framework supported SplitNN with one client owning all the data and a server owning all the labels. PyVertical have been extended with new functionalities, including:

  • Multi-client Vertical Federated Learning support (Server owns labels, clients own data)
  • Dynamic VFL system support (More details below)
  • Some minor dependencies fixes for Python packages' requirements

Contributions

This work is an improvement on paper: "VF-PS: How to Select Important Participants in Vertical Federated Learning, Efficiently and Securely?". Further details are provided in the report.