Skip to content

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.