Daisy is a federated learning (FL) framework designed to provide hierarchical, distributed node deployment, integrating technologies such as 5G and multi-access edge computing (MEC). It addresses issues like mobility, unstable networks, and inconsistent data availability for mobile smart agents such as vehicles and robots. Daisy offers the following advantages:
- Flexibility: Daisy supports both star topology and hierarchical topology.
- Reliability: Daisy accounts for unstable network environments and offers a connection recovery mechanism.
- Mobility-aware: Daisy allows mobile clients to upload their local models to nearby edge servers, significantly reducing communication costs, minimizing latency, and improving upload success rates.
Daisy is highly extensible, enabling users and developers to port most existing FL algorithms. We particularly recommend Daisy for researchers and developers working in the following scenarios:
- Traditional FL
- Hierarchical FL
- FL with unstable networks
- FL with mobile clients
- Asynchronous FL
For algorithm development (user mode): For Daisy users, this document will help you install Daisy in user mode via pip.
For framework development (dev mode): For Daisy contributors, this document will help you install Daisy in dev mode by building a poetry project.
Several examples are provided to quickly familiarize Daisy: