From 77b5c289720418b5ba9ae365cac4efa5ca8ed621 Mon Sep 17 00:00:00 2001 From: Wonsuk Lee Date: Sun, 17 Dec 2023 17:26:06 +0900 Subject: [PATCH 1/3] Fixed typos in ToC --- reports/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reports/index.html b/reports/index.html index 88d90fc..f00e439 100644 --- a/reports/index.html +++ b/reports/index.html @@ -319,9 +319,9 @@

Table of Contents

  1. 4.1 Parameter Client-server Assignment
  2. 4.2 Model Distribution Strategy
  3. -
  4. Parameter Aggregation Strategies
  5. +
  6. 4.3 Parameter Aggregation Strategies
  7. 4.4 Model Training and Optimization
  8. -
  9. Synchronous and Asynchronous Learning
  10. +
  11. 4.5 Synchronous and Asynchronous Learning
  12. 4.6 Parameter Server Operations
From cf0ad2e9938652baf880ce77299d11791308fee1 Mon Sep 17 00:00:00 2001 From: Wonsuk Lee Date: Sun, 17 Dec 2023 17:29:09 +0900 Subject: [PATCH 2/3] Minor update for ToC --- reports/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reports/index.html b/reports/index.html index f00e439..d4f3b47 100644 --- a/reports/index.html +++ b/reports/index.html @@ -319,9 +319,9 @@

Table of Contents

  1. 4.1 Parameter Client-server Assignment
  2. 4.2 Model Distribution Strategy
  3. -
  4. 4.3 Parameter Aggregation Strategies
  5. +
  6. 4.3 Parameter Aggregation Strategies
  7. 4.4 Model Training and Optimization
  8. -
  9. 4.5 Synchronous and Asynchronous Learning
  10. +
  11. 4.5 Synchronous and Asynchronous Learning
  12. 4.6 Parameter Server Operations
From 08cf688c03f8e3698df664d0195fab1a54d06e20 Mon Sep 17 00:00:00 2001 From: Wonsuk Lee Date: Sun, 17 Dec 2023 17:41:23 +0900 Subject: [PATCH 3/3] Add new chapter6 --- reports/images/{annex1.jpg => example1.jpg} | Bin reports/index.html | 49 ++++++++++++++++++++ 2 files changed, 49 insertions(+) rename reports/images/{annex1.jpg => example1.jpg} (100%) diff --git a/reports/images/annex1.jpg b/reports/images/example1.jpg similarity index 100% rename from reports/images/annex1.jpg rename to reports/images/example1.jpg diff --git a/reports/index.html b/reports/index.html index d4f3b47..575f074 100644 --- a/reports/index.html +++ b/reports/index.html @@ -510,6 +510,55 @@

Table of Contents

+

6. Example of Federated Learning API

+ +

The sequence diagram depicts a federated learning process involving a server and multiple client nodes. +

+ +
+ federated learning process involving a server and multiple client nodes +
Figure 2. Federated Learning Process involving a Server and Multiple Client Nodes
+
+ +

+ Followings are the steps shown in the diagram: +

    +
  1. Initial Global Model: The process starts with the server having an initial global model.
  2. +
  3. Sending New Model to Clients: The server sends this initial model to the clients.
  4. +
  5. Local Training and Testing: Each client (Client 1, Client 2, etc.) then trains and tests the model with their local data. This is referred to as 'local model 1' and 'local model 2' for each respective client.
  6. +
  7. Requesting Local Models: After training, the server requests the updated local models from the clients.
  8. +
  9. Sending Local Models to Server: The clients send their locally trained models back to the server.
  10. +
  11. Aggregation of Local Models: The server aggregates these local models. This could involve averaging the weights or applying more complex aggregation algorithms.
  12. +
  13. Sending Updated Global Model: Finally, the server sends the updated global model back to the clients, and the process can repeat, as indicated by the loop in the diagram.
  14. +
+

+

+ This iterative process improves the global model over time while preserving the privacy of the local data. Followings are candidates or example of high-level API descriptions for web federated learning, considering the above steps: +

+

+ Model and parameter transmission API: +

    +
  1. Distribute global model {/api/post/global-model}: Server use this endpoint to send the latest global model to the client. The client responds with the model file or parameters acceptance.
  2. +
  3. Get local model {/api/get/local-model}: Clients send their locally trained model updates to this API. The request includes model parameters and possibly metadata about the local training.
  4. +
  5. Request updated weights of local model {/api/post/local-model}: The server requests the trained model weights from the clients.
  6. +
  7. Get global model {/api/global-mode}l: Clients fetch the current global model from the server.
  8. +
  9. Aggregate models {/api/model/aggregate}: The server receives models from the clients to trigger the aggregation process. The response would contain the aggregated model parameters.
  10. +
+

+

+ Federated Learning execution and management API: +

    +
  1. Load model {/api/models/load}: The server loads a global model into the training environment. The request payload includes the model identifier or path to the model file.
  2. +
  3. Initiating learning {/api/training/start}: The server initiates the federated learning algorithms. This API should include training parameters such as batch size, number of epochs, and learning rate.
  4. +
  5. Configuration of schedule {/api/training/schedule}: The server schedules training tasks. The request could specify timing, frequency, and priority of updating or aggregation of parameters.
  6. +
  7. Model evaluation {/api/evaluation/start}: The server starts the evaluation of the global model using a validation dataset. The request should include details about the dataset and evaluation metrics.
  8. +
  9. Post evaluation {/api/evaluation/results}: Clients or server fetch the evaluation results after the computation is complete.
  10. +
  11. Training status management {/api/training/status}: Clients or server query the status of the training process and status, including progress and any errors.
  12. +
  13. Control training process {/api/training/control}: Allows pausing, resuming, or stopping the training process as needed. The request specifies the control action to be taken.
  14. +
+

+ +

A. References

A.1 Normative references