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:

../../../_images/config_populator_icon.png

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

../../../_images/data_preprocessor_icon.png

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

../../../_images/subgraph_sampler_icon.png

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

../../../_images/split_generator_icon.png

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

../../../_images/trainer_icon.png

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

../../../_images/inferencer_icon.png

Inferencer: Runs inference to generate output embeddings and/or predictions.

Diagrams#

The figure below illustrates at a high level how all the components work together. (Purple items are work-in-progress.)

GiGL System Figure

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.

gigl_nablp