Distributed Federated Learning System in ChRIS
- Skills & Tools: Python, Docker, AWS EC2, ChRIS, CUBE, OpenSSL, PyTorch, Flower Federated Learning Framework
- Github URL: Source Code Link
- Final Sprint Presentation: Slides
- Final Video Demo: Google Video
Federated (machine) learning is a process that enables several different computers distributed across networks to train a single model without requiring the sharing of data.
For this project, I engineered a novel federated learning system using the Flower Framework that runs in Boston Children's Hospital's ChRIS environment.
The system efficiently facilitates federated learning across distributed ChRIS instances on separate networks (including hospital networks).
All message passing mechanism required for federated learning are compliant with HIPAA and PHI laws. Client side connections are initiated as outbound connections through a proxy bastion (AWS EC2 instance) enabling this system to be functional with hospital firewall restrictions and unique ChRIS networking restrictions.
In this group project, I took charge and individually implemented the federated learning logic by interfacing with Flower APIs, and individually engineered the system's capabilities for distributed (across networks) connections by configuring a proxy bastion (AWS EC2 instance) to enable the distributed functionality, and ensure compliance with privacy laws, and security requirements.