From 379c228ed5bf9f077854cf437c309dbca6b477e0 Mon Sep 17 00:00:00 2001 From: liuyuliang092 Date: Thu, 23 Feb 2023 08:53:43 +0800 Subject: [PATCH 1/3] PROPOSAL_VISUAL_MODELING MANAGEMENT TERMINAL PR Signed-off-by: liuyuliang092 --- ...SAL_VISUAL_MODELING MANAGEMENT TERMINAL.md | 47 ++++++++++++++++++ proposal/images/fate-portal-v.png | Bin 0 -> 30663 bytes 2 files changed, 47 insertions(+) create mode 100644 proposal/PROPOSAL_VISUAL_MODELING MANAGEMENT TERMINAL.md create mode 100644 proposal/images/fate-portal-v.png diff --git a/proposal/PROPOSAL_VISUAL_MODELING MANAGEMENT TERMINAL.md b/proposal/PROPOSAL_VISUAL_MODELING MANAGEMENT TERMINAL.md new file mode 100644 index 0000000..99fb44d --- /dev/null +++ b/proposal/PROPOSAL_VISUAL_MODELING MANAGEMENT TERMINAL.md @@ -0,0 +1,47 @@ +# Proposal: Visual modeling management side # +Author: zhangyifei态liuyuliang +Discussion: N/A +Issue: [FATE/issues/3893](https://github.com/FederatedAI/FATE/issues/3893) + +# Abstract # +This proposal describes a visual modeling manager based on Java and Vue implementation, which enables users to use FATE algorithms for federated modeling by dragging and dropping flow charts. In addition, the project also includes other management functions, such as participant management, data source management, training task management, model management, forecasting, modeling process results viewing, etc + +# Background # +Is rich in the FATE of the learning algorithm, can support a variety of federal model training, but for the user's entry is higher, are not so friendly to the user experience, we are always in the process of training to adjust model parameters so that the observation model are the training results meet expectations, with the introduction of the visualized modeling process of drag drag type, Support the independent operation of each algorithm and result confirmation in the process of modeling, and facilitate the management of each participant, clear the use of data samples, to ensure that data samples are not abused, reduce the access threshold of users, and optimize user experience. + +# Proposal # +Our suggestion is to achieve this by creating a Portal project, which is a web service implemented based on Java and Vue, which can help users use various machine learning algorithms in FATE by dragging and dropping flowcharts. The project is deployed in different users through docker deployment, and by registering local service information to the central management node fml_manager, it is convenient for each participant to find the required partner. +The overall structure diagram is as follows: + +
+ +
+ +The central management node fml_manager depends on https://github.com/FederatedAI/FedLCM/tree/main/fml-manager +It encapsulates the algorithm in FATE into an independent visual drag-and-drop component, and provides the page required for the component to configure hyperparameters, changing the modules and parameters required in the FATE task from JSON configuration to DAG flowchart configuration. +It parses the components of the DAG flow chart in the UI, automatically generates the DSL and CONF parameters required for FATE task operation, interacts with FATE through fate-flow, submits tasks, executes status queries, etc. +It makes all the algorithms and hyperparameters of the algorithms in FATE configurable, which means that if FATE adds or modifies algorithms or hyperparameters, it will not need to be redeployed, but only need to maintain the parameters. + +# Non-Goals # +This project relies on the fml_manager module of FedLCM in FATE to discover the parties. + +# Rationale # +N/A + +# Compatibility # +The fate-portal should try to support deploying the currently supported FATE releases. And try to keep up the same release cadence as FATE. +The current version only supports FATE1.x + +# Implementation # +We will implement the first version of the service, including the front UI and back end, supporting the following: + +1. Support participant management, including registration, discovery, signing, etc + +2. Support data sample management, including self-owned data samples and data samples of partners + +3. Support visual modeling, including algorithm component list, drag canvas, component parameter configuration, etc + +4. Support data sample uploading, intersection, standardization, feature screening, vertical logistic regression and other algorithms in FATE. + +# Open issues (if applicable) # +N/A diff --git a/proposal/images/fate-portal-v.png b/proposal/images/fate-portal-v.png new file mode 100644 index 0000000000000000000000000000000000000000..2236ac1fef8a1b23f3644afa6c0f0d65f9a7cec4 GIT binary patch literal 30663 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 Date: Mon, 3 Apr 2023 16:20:18 +0800 Subject: [PATCH 2/3] =?UTF-8?q?add=20new=20description=20=EF=BC=9Acreate?= =?UTF-8?q?=20a=20separated=20repository?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liuyuliang092 --- proposal/PROPOSAL_VISUAL_MODELING MANAGEMENT TERMINAL.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/proposal/PROPOSAL_VISUAL_MODELING MANAGEMENT TERMINAL.md b/proposal/PROPOSAL_VISUAL_MODELING MANAGEMENT TERMINAL.md index 99fb44d..48b5d44 100644 --- a/proposal/PROPOSAL_VISUAL_MODELING MANAGEMENT TERMINAL.md +++ b/proposal/PROPOSAL_VISUAL_MODELING MANAGEMENT TERMINAL.md @@ -45,3 +45,5 @@ We will implement the first version of the service, including the front UI and b # Open issues (if applicable) # N/A + +Project will create a separated repository in FederatedAI org, and named "FATE-Site-Portal-Java". \ No newline at end of file From 9f536132687b884684d003015e558f9cff9e1e22 Mon Sep 17 00:00:00 2001 From: liuyuliang092 Date: Mon, 10 Apr 2023 15:51:48 +0800 Subject: [PATCH 3/3] modify repo name Signed-off-by: liuyuliang092 --- proposal/PROPOSAL_VISUAL_MODELING MANAGEMENT TERMINAL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proposal/PROPOSAL_VISUAL_MODELING MANAGEMENT TERMINAL.md b/proposal/PROPOSAL_VISUAL_MODELING MANAGEMENT TERMINAL.md index 48b5d44..0aa9287 100644 --- a/proposal/PROPOSAL_VISUAL_MODELING MANAGEMENT TERMINAL.md +++ b/proposal/PROPOSAL_VISUAL_MODELING MANAGEMENT TERMINAL.md @@ -46,4 +46,4 @@ We will implement the first version of the service, including the front UI and b # Open issues (if applicable) # N/A -Project will create a separated repository in FederatedAI org, and named "FATE-Site-Portal-Java". \ No newline at end of file +Project will create a separated repository in FederatedAI org, and named "FATE-Portal-Java". \ No newline at end of file