Skip to content

Latest commit

 

History

151 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

This repository is the source code for the work: "Robust Collaborative Inference with Vertically Split Data Over Dynamic Device Environments". In our research we try to answer the question: Can we develop a cross-device decentralized collaborative learning (CL) method that maintains strong performance at test time even under near-catastrophic faults?

To answer our research question we formulate, Dynamic Network Collaborative Learning (DN-CL) context and develop a method MAGS (Multiple Aggregation with Gossip Rounds and Simulated Faults) for the context.

The setup of DN-CL is shown below: Alt text

For the DN-CL context, the results of our experiments suggest that MAGS performs better than other baselines. Alt text

Requirements

Our result is based on torch==1.13.1 and torch_geometric==2.3.1. It also requires some other basic packages such as numpy.

To use StarcraftMNIST, you need to install sc2image.

For logging and processing final results, we use wandb.

Reproducing Results

Here is an example of running our experiment


python main.py --dataset 'starmnist' --drop_mode 'device' --drop_rate_train 0.5 --graph_type 'uni' --k_mvfl 3 --model_setup 'MVFL' --n_device 16 --n_gossip 4 --seed 16

Here dataset specifies the dataset to be StarcraftMNIST.

drop_mode specifies the fault pattern to be device fault or communication fault.

drop_rate_train specifies the fault rate. For each run, we track the performance under different test fault rates which does not need to be specified here.

graph_type specifies the baseline network to be uni(complete) or grid.

k_mvfl specifies the number of aggregators. A VFL setup can be realized by setting k_mvfl to 1

n_device specifies the number of devices.

model_setup is MVFL.

If you don't want to use wandb to log your results, you can add --no_wandb to the command line. If you want to use wandb, you need to specific your wandb-entity.

Citation

If this is useful, you could cite our work as:

@inproceedings{ganguli2025robust,
  title={Robust Collaborative Inference with Vertically Split Data Over Dynamic Device Environments},
  author={Ganguli, Surojit and Zhou, Zeyu and Brinton, Christopher and Inouye, David I},
  booktitle={Proceedings of the Twenty-sixth International Symposium on Theory, Algorithmic Foundations, and Protocol Design for Mobile Networks and Mobile Computing},
  pages={191--200},
  year={2025}
}

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages