diff --git a/reports/index-0.4.html b/reports/index-0.4.html new file mode 100644 index 0000000..de76cde --- /dev/null +++ b/reports/index-0.4.html @@ -0,0 +1,718 @@ + + + + + + + + + +Federated Learning API + + + + + + + + + + + + +
+ +

Federated Learning API v0.4

+

+ Draft Community Group Report + +

+
+
This version:
+ https://w3c.github.io/federated-learning-cg/reports/index.html +
+
Latest published version:
+ https://w3c.github.io/federated-learning-cg/reports/index.html +
+
Latest editor's draft:
https://w3c.github.io/federated-learning-cg/reports/index.html
+ + + + +
Editor:
+ 신성필(Sungpil Shin) (한국전자통신연구원(ETRI))
+ 이원석(Wonsuk Lee) (한국전자통신연구원(ETRI)) +
+ + +
Feedback:
+ GitHub w3c/federated-learning-cg + (pull requests, + new issue, + open issues) +
+
+ + +
+
+

Abstract

+

This proposal defines interfaces that enables the implementation and management of federated learning systems.

+
+

Status of This Document

+ This specification was published by the + Federated Learning Community Group. It is not a W3C Standard nor is it + on the W3C Standards Track. + + Please note that under the + W3C Community Final Specification Agreement (FSA) + other conditions apply. + + Learn more about + W3C Community and Business Groups. +

+ GitHub Issues are preferred for + discussion of this specification. + + +

+
+ +

1. Introduction

+ + +

1.1 Background

+ + +

The scope of the Federated Learning API specification encompasses the development of a standardized interface that enables the implementation and management of federated learning systems. + It focuses on the communication and coordination between central servers and client devices participating in federated learning, with an emphasis on privacy-preserving machine learning techniques. + The specification covers the interactions, protocols, and data formats necessary for secure and efficient model training across decentralized devices.

+ +
+ +

1.2 Terminology

+ +
Note
+

Need to be developed.

+
+
+ +

1.3 Conformance

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

+ The key word MUST in this document + is to be interpreted as described in + BCP 14 + [RFC2119] [RFC8174] + when, and only when, they appear in all capitals, as shown here. +

+
+ + +

2. Requirements

+

The functional requirements for Federated Learning API outline the essential capabilities and specifications necessary to enable seamless communication, + secure data transmission, and effective coordination of federated learning systems. These requirements encompass device registration, data upload, model synchronization, + evaluation, result retrieval, training control, and ensuring security and privacy measures.

+ +

2.1 Device Registration

+ +

The API should allow devices or clients to securely register themselves with the federated learning system. + The API should allow devices or clients to securely register themselves with the federated learning system. + The API should provide endpoints for device registration, including necessary parameters and data formats.

+ +
+ +

2.2 Data Upload

+ +

The API should enable clients to securely upload their locally held data to the central server or coordinator for model training. + It should support various data formats and provide guidelines for data serialization and transmission. + The API should include endpoints for data submission, metadata specification, and possibly data encryption or anonymization.

+ +
+ +

2.3 Model Synchronization

+ +

The API should handle the communication and synchronization of model parameters between the central server and client devices. + It should provide endpoints for retrieving the current model state, sending model updates from clients to the server, and distributing updated models back to the clients. + The API should support efficient and secure transmission of model parameters, taking into account bandwidth limitations and data privacy requirements.

+ +
+ +

2.4 Model Evaluation

+ +

The API should include endpoints for clients to request model evaluation on their local data. + It should support the transmission of evaluation requests and relevant data securely to the server. + The API should allow clients to retrieve evaluation metrics or results from the server.

+ +
+ +

2.5 Result Retrieval

+ +

The API should enable clients to retrieve the final trained model or other relevant results from the central server. + It should provide endpoints for requesting and downloading the trained model or aggregated results. + The API should ensure secure transmission of results and provide mechanisms for access control to protect sensitive information.

+ +
+ +

2.6 Training Control

+ +

The API should allow for controlling the federated learning process, such as starting, pausing, or terminating model training. + It should provide endpoints for managing training sessions, setting training parameters, and monitoring the progress of training. + The API should support error handling and provide appropriate status codes for different training control operations.

+ +
+ +

2.7 Security and Privacy

+ +

The API should incorporate security measures, such as authentication, encryption, and access control, to protect the federated learning system. + It should ensure the privacy and confidentiality of data during transmission and storage. + The API should adhere to privacy regulations and best practices for handling sensitive information.

+ +
+ +

2.8 Extensibility and Compatibility

+ +

The API should be designed with extensibility in mind, allowing for the addition of new functionalities or endpoints in the future. + It should be compatible with existing web standards and frameworks, facilitating integration with different software platforms and tools.

+ +
+ +
+ +
  • 3.1 Parameter Aggregation Strategies
  • +
  • 3.2 Model Training and Optimization
  • +
  • 3.3 Synchronous and Asynchronous Learning
  • +
  • 3.4 Parameter Server Operations
  • + +

    3. Methodology

    +

    The methodologies section outlines the fundamental techniques and approaches to federated learning. + This section encompasses neural network parameter aggregation strategies, model training and optimization, synchronous and asynchronous learning, and parameter server operations.

    + +

    3.1 Parameter Aggregation Strategies

    + +

    The foundational algorithms for federated learning, Federated Averaging, or FedAvg, aggregates model updates by averaging them. + The central server calculates a weighted average based on the number of data points from each client.

    + +
    + +

    3.2 Model Training and Optimization

    + +

    For model training, clients can use their local data to train models. The frequency of synchronization with the central server varies based on + the algorithm and design decisions. To further ensure data privacy, noise can be added to model updates, providing differential privacy. + This protects individual data points while allowing the central model to learn general patterns.

    + +
    + +

    3.3 Synchronous and Asynchronous Learning

    + +

    Depending on the application, federated learning can operate in synchronous mode (all clients send updates simultaneously) or asynchronous mode (clients send updates at different times). + The bandwidth optimization techniques such as model compression or quantization can be used to reduce the size of model updates, optimizing for limited bandwidth scenarios.

    + +
    + +

    3.4 Parameter Server Operations

    + +

    A hierarchical structure can be used where multiple local aggregators collect updates before sending to the central server for large-scale deployments. Techniques and tools to optimize + parameter server, such as model pruning of neural network, can be supported to make federated learning more optimalize for resource-constrained devices. + +

    + +
    + + +
    + + + +

    A. References

    A.1 Normative references

    + +
    [RFC2119]
    + Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc2119 +
    [RFC8174]
    + Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words. B. Leiba. IETF. May 2017. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc8174 +
    +