Fedbiomed Main components
Fed-BioMed has three main components ensuring the correct execution of federated learning algorithms.These components are Node
, Researcher
and Network
, and are defined in the following sections:
Node
In Fed-BioMed, Node
provides 2 main functionalities:
Node
stores datasets, upon which the Federated Learning Model will be trained. Datasets paths towards files and folders in a TinyDB database, as well as other metadata such as datatype, data shape, ... .Node
trains a model upon aTrainRequest
(sent byResearcher
), and send it back to theResearcher
once training is completed.
Node
is a client that is responsible for sending replies in response to Researcher requests. Since Node
is not a server, communication between node and researcher is provided through Network
component. When a node is started,
it directly connects to the Network
component.
More details about Node
installation can be found here.
Researcher
In Fed-BioMed, a Researcher
is an entity that defines the Federated Learning model. In order to define a model, Researcher
has to provide 3 elements:
- a
TrainingPlan
(containing a model, method to load/pre-process data and dependencies) - a
Strategy
, which defines how nodes are selected / sampled while training a Federated Mode - an
Aggregator
, which purpose is to aggregate the local model coming from each node into an aggregated model. Aggregation is performed onResearcher
side.Researcher
can be run using plain Python scripts or Jupyter Notebook (thus in an interactive fashion).
Researcher
orchestrates the training, by sending Requests to Nodes
. Thus, for each Request sent by the Researcher
, Node
must answer back with an appropriate Reply.
More details about Researcher
and its installation can be found here.
Network
Network
is an entity connecting researcher to the nodes. It provides a Restful HTTP server used for sending TrainingPlan and model weights between Nodes
and Researcher
, and a MQTT server for short and fast message and Requests
exchange between Node
and Researcher
. Furthermore, MQTT
server enables each Node
to communicate with other Nodes
without passing by the Researcher
, permitting much more flexibility than other communication protocols such as gRPC.
Network
should work as a Trusted Third Party when considering advanced security options & protocols. More details about its configuration and deployment can be found here.
Fed-BioMed Architecture
Relationship between each main component aforementioned is detailed in the figure below:

As shown in the diagram, Network
is a central component in Fed-BioMed, that links Nodes
to Researcher
, and ensures message and files delivery. Nodes
are in charge of running the model sent by the Researcher
, and send the resulting trained model to the Researcher
. Large files such as TrainingPlan and model parameters are exchanged over a Restful HTTP server whereas messages, Requests and Replies are sent through a MQTT server.
Network
configuration
For information on how to configure Network
, please follow Network
configuration steps
Node
configuration
For information on how to configure Node
, please follow Node
configuration steps
Researcher
configuration
For information on how to configure Researcher
, please follow Researcher
configuration steps