NEBULA

A Platform for Decentralized Federated Learning

Projects

Researchers

Students

Introduction

NEBULA is a cutting-edge platform designed to facilitate the training of federated models within both centralized and decentralized architectures. It streamlines the development, deployment, and management of federated applications across physical and virtualized devices.

NEBULA boasts a modular architecture that consists of three core elements:

  • Frontend: A user-friendly interface for setting up experiments and monitoring progress.
  • Controller: An orchestrator that ensures efficient operation management.
  • Core: The fundamental component deployed on each device to handle federated learning processes.

Main features of the platform include:

  • Decentralization: Train models without a central server, leveraging decentralized federated learning.
  • Privacy-preserving: Maintain data privacy by training on-device and only sharing model updates.
  • Trustworthiness: Ensure the integrity of the learning process by verifying the reliability of the federation.
  • Blockchain integration: Support for blockchain technologies to enhance security and transparency.
  • Security: Robust security mechanisms to protect data and models.
  • Topology-agnostic: Support for various network topologies including star, ring, and mesh.
  • Model-agnostic: Compatible with a wide range of machine learning algorithms, from deep learning to traditional methods.
  • Network communication: Secure and efficient device communication with features like compression, network failure tolerance, and condition simulation.
  • Real-time monitoring: Provides live performance metrics and visualizations during the learning process.

NEBULA is developed by Enrique Tomás Martínez Beltrán in collaboration with the University of Murcia, Armasuisse and the University of Zurich.

For the complete list of contributors, please visit the contributors page.

NEBULA Services

Functionalities and services

Federated Learning

Train machine learning models across multiple devices without the need to share the data. This is achieved through the use of a decentralized approach that allows the devices to collaboratively learn a shared model while keeping all the training data on the device.

Scenario Definition

Define the training scenario by specifying the dataset, the model, the learning algorithm, and the communication topology. The platform provides a range of options to customize the training process and experiment with different configurations.

Security and Tustworthiness

Ensure the security and trustworthiness of the training process by implementing a range of security mechanisms. These include secure communication protocols, reputation systems, and blockchain integration to enhance transparency and accountability.

Monitoring and Analysis

Maintain a real-time overview of the training process and the performance of the federated models. The platform provides a range of monitoring and analysis tools to help users track the progress of their experiments and make informed decisions.

NEBULA Applications

Scenarios and use cases

Healthcare

Decentralized model training on patient data, ensuring privacy.

Industry 4.0

Real-time data processing and predictive maintenance in industrial IoT.

Mobile Services

On-device machine learning for personalized mobile experiences.

Military

Secure model training on sensitive military data.