-
Notifications
You must be signed in to change notification settings - Fork 5
Cleaned benchmark and workflow. Added HE, DP, and Lowrank #42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
… tracking from cluster-specific metrics.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request refactors and streamlines the benchmarking infrastructure for federated graph learning while adding support for differential privacy, low-rank compression, and homomorphic encryption. The changes modernize the codebase with improved configuration management, simplified workflow execution, and enhanced monitoring capabilities.
Key changes include:
- Unified benchmarking loop that iterates over datasets, algorithms, and trainer counts
- New privacy-preserving techniques: differential privacy (DP) and low-rank compression modules
- Enhanced monitoring system with initialization tracking and theoretical communication cost estimation
- Improved Ray cluster setup scripts with better documentation and reliability
Reviewed Changes
Copilot reviewed 43 out of 89 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| setup_cluster.sh | Updated cluster setup with commented Docker sections and improved port forwarding instructions |
| ray_cluster_configs/ | Modified resource allocation and scaling configurations for head and worker nodes |
| quickstart.py | Added configuration parameters for DP, low-rank compression, and HE features |
| fedgraph/federated_methods.py | Major refactor with enhanced run functions supporting new privacy techniques |
| fedgraph/monitor_class.py | Enhanced monitoring with initialization time tracking and cluster-aware functionality |
| fedgraph/differential_privacy/ | New module implementing DP mechanisms with Gaussian, Laplace, and local DP support |
| fedgraph/low_rank/ | New module providing SVD-based parameter compression for bandwidth reduction |
| benchmark/ | Updated benchmarking scripts and visualization tools with improved data extraction |
Comments suppressed due to low confidence (2)
fedgraph/differential_privacy/dp_mechanisms.py:1
- torch.svd is deprecated. Use torch.linalg.svd instead for better numerical stability and future compatibility.
import torch
fedgraph/federated_methods.py:1
- [nitpick] The removed print statement provided useful debugging information. Consider keeping it or replacing with proper logging.
import argparse
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
This pull request refactors the
benchmark_GC.pyscript to streamline and modernize the benchmarking process for federated graph classification algorithms. The changes simplify the codebase, improve maintainability, and enhance usability for running experiments across multiple datasets and algorithms. Notably, the script now uses a unified benchmarking loop, removes redundant code, and adds better configuration management. Additionally, the README's Slack invite link has been updated.Benchmarking script improvements:
run_fedgraph, removing manual server/trainer setup and algorithm selection logic.Codebase cleanup:
Documentation update:
README.mdto the new workspace URL.