Skip to content

Research modern TensorFlow Federated implementation #22

@iAmGiG

Description

@iAmGiG

Background

The 2020 research attempted to implement federated learning using TensorFlow Federated (TFF) 0.40.0, but:

  1. TFF 0.40.0 has unresolvable dependency conflicts (jaxlib==0.3.14 doesn't exist for Python 3.9+)
  2. The FL code (train_federated_simulation.py) never successfully used botnet data - it still uses EMNIST digits
  3. Time pressure + API complexity led to incomplete adaptation

See: docs/project-analysis/RETROSPECTIVE.md lines 103-143

Goals for Modern Branch

  1. Evaluate modern TFF versions:

    • TFF 0.60+ (2024 releases)
    • Check if API has improved since 2020
    • Verify TensorFlow 2.15+ compatibility
  2. Alternative frameworks:

    • Flower - Modern FL framework, framework-agnostic
    • Better documentation than 2020-era TFF
    • Active community support
  3. Implementation research:

    • Can we adapt tabular data (115 features) to FL architecture?
    • Simulate multiple IoT devices as FL clients
    • Compare centralized vs federated training results
  4. Stretch goal:

    • Actually implement FL with N-BaIoT dataset
    • Per-device models with federated aggregation
    • Demonstrate privacy-preserving botnet detection

Success Criteria

  • Survey modern FL frameworks (TFF, Flower, PySyft)
  • Prototype FL implementation with botnet data
  • Compare accuracy: centralized vs federated
  • Document findings and recommendations

Notes

  • This is research/exploration, not a blocker
  • Focus on modern main branch, not archive branches
  • Original 2020 attempt was valid for the time - tools have improved
  • May result in new paper/publication if successful

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestmodernizationModernizing code, dependencies, and structure

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions