SymetryML Documentation

Creating the Federation

Creating a federation usually starts with a single node. This node will be the administrator of the federation and will control things such as who gets access to a federation and the overall sync schedule of the federation

After you log in to the SymetryML GUI, you arrive at the main SymetryML GUI interface. In the upper left corner you see the heading Projects, and directly below is the Create Project icon, which provides a drop-down menu with the following options:

  • Empty Project
  • Local Project
  • Create Federation
  • Join Federation
  • Fusion Project

SymetryML GUI : Creating a Federation

In this tutorial, we are going to focus on the latter two options which constitute the federated learning capabilities of SymetryML:

  • Create Federation
  • Join Federation

When you click on the Create Federation option, you are presented with the following consecutive windows:

Federated Learning: Creating a Federation (window1)

Federated Learning: Creating a Federation (window2)

The following information needs to be supplied:

Parameters NeededDescription
Project NameThis is the name of the local project.
Project TypeThis applies to the local project, declare whether the local project is CPU, GPU, Partition, etc.
Project EncoderOptional parameter specifying the encoder to be used.

Click Next to choose the type of Federation backend.

AWS is the default choice for Federation Type. If you wish to use NATS proceed here

Creating AWS Federation

Parameters NeededDescription
Federation NameName for your federation.
AWS RegionThis is the region where S3 bucket will reside.
AWS S3 BucketThis is the name of the S3 bucket where updates will be saved to.
Sync ScheduleThe frequency at which your nodes will share their information.
AWS S3 Access KeyEnter AWS Access Key information here.
AWS S3 Secret KeyEnter AWS Secret Key information here.

Once all the information above is satisfied, click Finish. Click here to continue to the next section, Load data to local project.

Creating NATS Federation

Parameters NeededDescription
Federation NameName for your federation.
NATS HostsLocation of the NATS server
Sync ScheduleThe frequency at which your nodes will share their information.
NATS Request Timeout(s)Timeout in seconds
NATS Max MemoryNATS maximum memory
Authentication TypeOne of None, Password, Token
User NameUser name if Authentication Type is Password
PasswordPassword if Authentication Type is Password
TokenToken if Authentication Type is Token

Once all the information above is satisfied, click Finish. Click here to continue to the next section, Load data to local project.

Federated Learning: Creating a Federation - NATS

Federation Restrictions

Parameters NeededDescription
HIPAA CompliantAdhere to strict HIPAA Compliance.
SMPCEnable SMPC

On this page