SymetryML6.1
  • Introduction
  • Guides
    • Onboarding Guide
    • Technical Requirements
    • Admin User Guide
    • Installation Guide
      • Installation Guide - GPU
      • Installation Guide - Spark
  • SymetryML GUI
    • ML Toolkit
      • The SymetryML Difference
      • Data Mining Lifecycle
      • SymetryML Concepts
      • Data Sources
      • Streams
      • Encoders
      • Projects
      • Models
    • Sequence Models
    • SymetryML Federated Learning
      • Creating the Federation
      • Load data to local project
      • Requesting Federation Information from Admin Node
      • Joining a Federation with a peer node
      • Federated Data & Modelling
      • Appendix
    • DEM Generator
  • SymetryML Rest Client
    • REST API Reference Guide
      • SymetryML REST API Security
      • SymetryML JSON API Objects
      • Encoder Object REST API
      • SymetryML Projects REST API
      • About Federated Learning
      • Hipaa Compliance and Federated Learning
      • Federated Learning API
        • Federated Learning Topologies
        • Federated Learning with Nats
        • Federated Learning with AWS
        • Fusion Projects
      • Exploration API
      • Modeling API
      • Exporting and Importing Model
      • Third Party Model Rest API
      • SymetryML Job Information
      • Prediction API
      • Data Source API
      • Project Data Source Logs
      • Stream Data Source API
      • AutoML with SymetryML
      • Transform Dataframe
      • Select Model with SymetryML
      • Auto Select with SymetryML
      • Tasks API
      • Miscellaneous API
      • WebSocket API
      • Appendix A JSON Data Structure Schema
      • Appendix B Sample Code
  • SymetryML SaaS
    • SaaS Homepage
    • SaaS Dashboard
    • SaaS Account
    • SaaS Users
    • SaaS Licence
Powered by GitBook
On this page
  1. SymetryML GUI
  2. SymetryML Federated Learning

Federated Data & Modelling

PreviousJoining a Federation with a peer nodeNextAppendix

Last updated 2 years ago

Depending on your choice of the Sync Schedule you might have to wait a few minutes for the two nodes to sync up.

Because of the asynchronous nature of fed synchronization that happens in the background, it is important to check for errors by clicking on the Error Log icon, as well as the the Sync Log icon for general sync information.

Once the nodes are in sync, it is now time to see how the federation allows sharing of these local projects so that every peer can each build one unified federated project. Afterwards, we will take a look at how individual nodes of the same federation are able to build identical models.

Let us take a look at Node 2:

Here is a view of the project of Node 2 prior to joining the federation:

Below is a view of the project of Node 2 after joining the federation and sharing/receiving projects from the federation (in this example only one other peer in the federation).

The first noticeable difference is that the COUNT increased from a local count of 10,000 to a federated COUNT of 20,000. Node 1 has a COUNT of 10,000 and Node 2 has a COUNT of 10,000, hence the federated COUNT is now totalling 20,000 as demonstrated in the figure above. Once again, the remaining statistics (i.e. Mean, Variance, Std. Dev, and Skewness) now reflect the total from all peers in the federation.

Because syncronisation across federation happen at the same time, we can be sure that Node 1 has the same statistics for the shared variables.

Federated Learning Model Building

Left click on Exploration, and you will be presented with a drop down menu with various options. Select Create Model, which will present another drop-down menu where you can choose what class of model you wish to build. In this case we are building a multi-linear regression model, hence we are going to select Regression and MLR.

The next screen requires you to name your model:

Next we select our Input and Target variables, and when complete we select Build Model:

Next we can left click on the model name, in this case Node1_MLR, and a drop-down menu will appear where we select Model Info, or we can simply double click on the model name and the General Model Info will be presented (i.e. Model Name, Model Type, # of Attributes, Time to build model(s), # Models built).

Next, we navigate to the grey pane at the bottom of the page, and click on the portion labelled Additional Model Info, which will initiate the blue pane to rise up, revealing additional model information, and select Coefficient Stats:

Following the same steps for Node 2, which is also part of this federation, we arrive at the same last step, as presented for Node 1 above, to reveal the model parameters of the MLR model built on Node 2 :

As we can see, both peers produce identical models in that they produce the exact same model parameters even though both models were built separately in their respective local SymetryML projects. All SymetryML's project in each peer of a federation eventually converge when they synchronize thus allowing each peer to build identical models.

Now that peer/node 1 has synced with other peers in the federation, we are ready to demonstrate how individual peers in a federation are able to build models. For further information on how to create models in the web UI of SymetryML, you can reference the following document . The following is a simple example of how to build models on any peer of a federation:

Node 2: Local project prior to joining Federation
Node 2: project after joining Federation
Node 1: Model Building
Federation Node 1: Name the model
Federation Node 1: Select Input & Target variables, and build the model
Federation Node 1: Model Parameters, Additional Model Info (Coefficient Stats)
Federation Node 2: Model Parameters, Additional Model Info (Coefficient Stats)
SML Web User Guide model section