Mycelium is a federated learning project that harnesses the unused computational power of everyday devices to train AI models, eliminating the need for expensive, centralized data centers. By leveraging IBM's diffprivlib, we implement differential privacy, ensuring that user data remains encrypted and secure while still contributing to powerful AI training.
- Fully Decentralized: Train AI models using your PC’s GPU without needing a data center.
- Data Security: Implements IBM’s diffprivlib to keep data private and secure.
- TensorFlow Integration: Perform machine learning tasks using TensorFlow, split across decentralized nodes.
- Pandas Workflow: Streamlined data handling using pandas for splitting data across nodes.
- Horizontal Averaging: Consolidate insights from multiple nodes to improve model accuracy.
- Energy Efficient: Reduce carbon footprints by eliminating the need for traditional data centers.
Dillinger uses a number of open source projects to implement Federated Learning:
- IBM diffprivlib – For encryption and differential privacy.
- TensorFlow – For running machine learning models.
- Modal – To simulate user nodes.
- Pandas – For data splitting and workflow distribution.
- Python – Core programming language for model development.
- npm - Package management
MyCelium requires an update version of npm to run. Install the dependencies and and start the Modal server.
cd mycelium
npm install
pip install -r requirements.txt
modal run ComputeNode1.py # Federated Learning starts here
modal run ComputeNode2.py
modal run ComputeNode3.py
modal run DecentralizedModel.py # pdating gobal model with new weights MIT
Feel free to contact me for any questions or recruitment opportunities [Jon's Linkedin]: https://www.linkedin.com/in/jkozlik/
If you're a recruiter, feel free to click our profiles and click on my Linkedin link