GiGL Architecture#
Components#
GiGL contains six components, each designed to facilitate the platforms end-to-end graph machine learning (ML) tasks. The components and there documentation (linked) are as follows:

Config Populator: Processing template config files and updating with fields that are needed for downstream components.

Data Preprocessor: Reading and processing node, edge, and feature/data engineering.

Subgraph Sampler: Generate k-hop localized subgraphs for each node in the graph.

Split Generator: Split the data into training, validation, and test sets.

Trainer: Run distributed training either locally or on the cloud.

Inferencer: Runs inference to generate output embeddings and/or predictions.
For convenience we link the source code pointers:#
Component |
Source Code |
---|---|
Config Populator |
|
Data Preprocessor |
|
Subgraph Sampler |
|
Split Generator |
|
Trainer |
|
Inferencer |
Diagrams#
The figure below illustrates at a high level how all the components work together. (Purple items are work-in-progress.)

The figure below is a example GiGL workflow with tabularized subgraph sampling for the task of link prediction, in which the model is trained with triplet-style contrastive loss on a set of anchor nodes along with their positives and (in-batch) negatives.