[Workflow API] Enable participants in FederatedRuntime to review and approve plan#5
Open
nguptax1987 wants to merge 23 commits intodevelopfrom
Open
[Workflow API] Enable participants in FederatedRuntime to review and approve plan#5nguptax1987 wants to merge 23 commits intodevelopfrom
nguptax1987 wants to merge 23 commits intodevelopfrom
Conversation
Signed-off-by: Ishant Thakare <ishantrog752@gmail.com>
Signed-off-by: Ishant Thakare <ishantrog752@gmail.com>
Signed-off-by: Ishant Thakare <ishantrog752@gmail.com>
Signed-off-by: Ishant Thakare <ishantrog752@gmail.com>
Signed-off-by: Ishant Thakare <ishantrog752@gmail.com>
Signed-off-by: Ishant Thakare <ishantrog752@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
SUMMARY
This proposal introduces a structured mechanism for reviewing and agreeing on plans for executing FL experiments in
FederatedRuntimewithin the Workflow API.This feature enables all participants, including the Director and Envoys, to review and approve an experiment plan before execution.
The Director, acting as the orchestrator, manages this review process to ensure consistency, trust, and readiness across the federation.
Additionally, the User/Data Scientist who submitted the experiment plan will be notified of the outcome (approval or rejection) on completion of the review process.
MOTIVATION
Currently in
FederatedRuntime, users can initiate and execute Federated Machine Learning experiments without explicit approval from all participants (including Directors or Envoys).While this approach allows for a swift action, the absence of formal agreement or review process may lead to the following challenges:
Trust Concerns: Directors and Envoy admins, as owners of sensitive data, may seek greater control and insights regarding the experiments being conducted.
A formal review process is highly desirable for owners of sensitive data, allowing them to review the plan and enhance trust.
Risk of Execution Failures: If an Envoy is unprepared or disagrees with the proposed plan, it can result in execution failures.
A structured agreement process can help ensure readiness and consensus among all parties involved.
SCOPE
FederatedRuntime.The current design is flexible and can be extended in the future if this feature is needed.
KEY REQUIREMENTS
Feature Configuration
Each participant in the Federation shall be able to configure this feature individually.
The feature can be enabled or disabled by including an optional
review_experimentflag in each participant's configuration (YAML) file.The behavior of
review_experimentin each participant's configuration file shall be as follows:review_experiment: false→ plan is auto-approvedreview_experiment: true→ node-admin review and approval is requiredDefault: If the
review_experimentsetting is not present in the configuration, the participant defaults to manually approving the experiment(i.e., as if
review_experiment: true).CONFIGURATION FILE INTERFACE
review_experimentflag totruein the configuration file as shown below:PERSISTENCE OF CONFIGURATION
Changes to the configuration require a participant node to be restarted.
DIRECTOR AND ENVOY INTERFACE FOR REVIEWING AND APPROVING THE PLAN
review_experimentflag is enabled, the plan for the received experiment shall be printed on the console and the following interface will be presented to the Director and Envoys for reviewing and responding to the experiment plan.REVIEW TIMELINE
review_experimentflag is set totrue, Director and Envoy shall wait for manual approval (or rejection) of the plan.NOTIFY PLAN REVIEW OUTCOME TO USER/DATA SCIENTIST
EXPERIMENT EXECUTION ON CONSENSUS
PROPOSED APPROACH
The mechanism consists of two phases: Review Phase and Execution Phase.
Phase 1: Review Phase
Director Review
Envoy Review
Director Consensus
Phase 2: Execution Phase
If the Director and all Envoys approve the experiment:
SCENARIOS
Scenario A: Director rejects the plan
Scenario B: Director approves the plan and (any) Envoy rejects the plan
Scenario C: ALL participants approve the plan
RISKS AND MITIGATION
Different combinations of participant approvals and rejections shall be validated thoroughly to ensure that an experiment proceeds only when all participants have approved the plan.
VALIDATION
Manual
DEMONSTRATION
Feature shall be demonstrated by modifying the existing
openfl-tutorials/experimental/workflow/FederatedRuntime/101_MNISTtutorial.