Description
This issue focuses on implementing fully decentralized aggregation mechanisms for federated learning in py-libp2p. Instead of a fixed coordinator or server, aggregation of model updates should be distributed among peers using simple consensus strategies.
Motivation
Most federated learning still assumes a central server or trusted aggregator. To move toward true decentralization, we need protocols where peers can collectively decide how to merge updates. For example:
- Round-robin aggregation: each round, a different peer takes responsibility for averaging received updates.
- Gossip averaging: peers periodically exchange partial averages until convergence.
- Weighted updates: peers include metadata (e.g., dataset size) so aggregation weights reflect data contributions.
This ensures no single point of failure or control in the training process.
Tasks
🔁 Implement round-robin aggregator rotation across peers
📊 Add weighted averaging based on peer metadata
🌐 Explore gossip-style aggregation (pairwise averaging)
🧪 Build test harness for multiple peers simulating update rounds
📜 Document trade-offs of each aggregation method in README
Success Criteria
- At least two decentralized aggregation strategies are implemented.
- Multiple peers can train, share updates, and aggregate without any central coordinator.
- Logs/README show example runs and aggregation traces.
Description
This issue focuses on implementing fully decentralized aggregation mechanisms for federated learning in py-libp2p. Instead of a fixed coordinator or server, aggregation of model updates should be distributed among peers using simple consensus strategies.
Motivation
Most federated learning still assumes a central server or trusted aggregator. To move toward true decentralization, we need protocols where peers can collectively decide how to merge updates. For example:
This ensures no single point of failure or control in the training process.
Tasks
🔁 Implement round-robin aggregator rotation across peers
📊 Add weighted averaging based on peer metadata
🌐 Explore gossip-style aggregation (pairwise averaging)
🧪 Build test harness for multiple peers simulating update rounds
📜 Document trade-offs of each aggregation method in README
Success Criteria