Federated Learning API
Note
This document has been machine translated.
This section explains the Federated Learning API.
Federated Learning
Federated learning is a technique that enhances model accuracy by aggregating models trained across multiple clients on a server, while maintaining data privacy.
xData Edge provides an API to transfer models stored in the Model Store between xData Edge instances to enable federated learning through the coordination of multiple xData Edge nodes.
Model Store
We provide a feature called Model Store as a space for storing and sharing models.
A Model Store is created with an arbitrary identifier (DDC), and multiple models can be stored within a single Model Store.
※ Currently, there is a size limit of 255 MB for stored models.
Model and Model Information
A model is an arbitrary file.
Each model is assigned an ID called model_id, which is used to identify the model.
Metadata (such as update date and model state) that the system assigns in a one-to-one relationship with a model is referred to as model information. Additionally, model information can contain user-specific or federated learning algorithm-specific metadata, which is simply referred to as metadata.
Upstream Information
In the xData Edge federated learning API, for each Model Store, you can specify the endpoint URL and Model Store name of the upstream node that serves as the feedback destination for models. This is referred to as the upstream information of the Model Store.
When transferring (feedback) a model to an upstream node, it is transferred according to the pre-configured upstream information. Similarly, when receiving (transfer) a model aggregated by the upstream node, it is received according to the same pre-configured upstream information.
Federated Learning API List
xData Edge users can use the federated learning API to perform the following operations.
| API Method | Description |
|---|---|
| fl.feedback | Feedbacks models in the Model Store to the upstream Model Store. |
| fl.request_transfer | Retrieves the latest aggregated model from the upstream Model Store and stores it in the Model Store. |
| fl.create_upstream_info | Registers the upstream node's Model Store, which serves as the feedback destination for models, in the Model Store. |
| fl.update_upstream_info | Updates the upstream information registered in the Model Store. |
| fl.delete_upstream_info | Deletes the upstream information, which serves as the feedback destination for models, from the Model Store. |
| fl.list_upstream_info | Lists the upstream information of the Model Store. |
| fl.get_upstream_info | Retrieves the upstream information of the Model Store. |