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.
