Appendix B — Glossary#

Term

Definition

Batch size (GNN training)

Number of query edges in one mini-batch during GNN forward + backward pass. Larger batches → higher GPU utilisation but more memory.

Batch size (XGBoost)

Number of embedding vectors loaded per DataIter call in batched mode. Separate from GNN batch size.

cuGraph-PyG

NVIDIA’s cuGraph integration with PyTorch Geometric, enabling GPU-accelerated graph sampling and message passing for large graphs.

DDP (DistributedDataParallel)

PyTorch’s multi-GPU training wrapper. Each process runs a full model replica; gradients are synchronised using NCCL after each backward pass.

Edge embedding

The fixed-size float vector produced by the GNN for each transaction edge. It encodes both the structural graph context and raw node/edge features. Passed to XGBoost for classification.

Edge type

A labelled triplet (source_node_type, relationship_name, destination_node_type), e.g., (account, transacts, merchant). The pipeline supports multiple edge types; exactly one must have fraud labels.

Ensemble (Triton)

A Triton model that chains multiple sub-models in sequence, passing outputs of one as inputs to the next. fraud_pipeline chains gnn_embedder xgb_fraud.

ExtMemQuantileDMatrix

An XGBoost data structure that transparently pages training data through disk during tree building. Requires XGBoost ≥ 3.0.

FIL (Forest Inference Library)

RAPIDS library for GPU-accelerated tree model inference. Used by the xgb_fraud Triton backend for sub-millisecond XGBoost scoring.

GAT (Graph Attention Network)

A GNN variant that computes per-edge attention weights during message passing, allowing the model to focus on the most informative neighbours.

GNN (Graph Neural Network)

A class of neural network that operates directly on graph-structured data by iteratively aggregating information from neighbouring nodes.

GraphSAGE (SAGE)

A scalable GNN algorithm that samples a fixed number of neighbours per node during training and aggregates their features using a learnable aggregator (typically mean).

Hybrid inference

An inference mode enabled by save_node_embeddings: true. At inference time, edges whose source and destination nodes were both seen during training are scored using a fast memmap lookup (the “known” or “saved-embedding” path). Edges with at least one unseen (novel) node fall back to the full GNN through Triton. The two paths are combined in a single client request.

Heterogeneous graph

A graph with multiple node types (e.g., accounts and merchants) and multiple edge types. This pipeline always operates on heterogeneous graphs.

Hidden channels

The width (number of dimensions) of the intermediate and output feature vectors produced by each GNN layer.

Model repository

The directory structure that Triton reads models from. Each subdirectory is one model; numbered subdirectories (1/, 2/) are model versions.

NCCL

NVIDIA Collective Communications Library. Provides high-bandwidth GPU-to-GPU communication primitives used by PyTorch DDP for gradient synchronisation.

Neighbourhood sampling

During GNN training, instead of using the full graph neighbourhood (which could be millions of nodes), a fixed number of neighbours (num_neighbors[i]) is randomly sampled at each hop.

Node type

A category of entity in the graph. Defined implicitly by the filename in nodes/ (e.g., account.csv → node type account).

PR-AUC

Area Under the Precision-Recall curve. Summarises classifier quality across all possible decision thresholds. Preferred over ROC-AUC for class-imbalanced datasets (like fraud, where 1–5% of edges are fraudulent).

Relationship name (rel)

The middle part of the edge type triple. E.g., in account_transacts_merchant.csv, the relationship is transacts.

Reverse edge

For every forward edge (src, rel, dst), the pipeline creates a backward edge (dst, rev_{rel}, src) automatically. This allows bidirectional information flow in the GNN.

SVS (Shapley Value Sampling)

A Captum attribution method that estimates Shapley values using random permutation sampling. Used in xgb_explainer to measure each feature group’s contribution to the fraud prediction.

Threshold (decision threshold)

The value of P(fraud) at which a transaction is flagged as fraudulent. Stored in model_config.json as val_threshold. Lower thresholds increase recall (catch more fraud) at the cost of precision (more false positives).

torchrun

PyTorch’s distributed training launcher. Spawns one process per GPU and sets LOCAL_RANK, RANK, WORLD_SIZE, and LOCAL_WORLD_SIZE environment variables. Always use torchrun rather than python to launch train.py.

WholeGraph

NVIDIA’s distributed graph storage library. Partitions node feature tensors across GPUs and provides transparent remote-access semantics during neighbourhood sampling.

XGBoost

Extreme Gradient Boosting. An ensemble learning algorithm that builds a sequence of decision trees, each correcting the residuals of the previous ones. Used as the final fraud classifier on top of GNN-derived embeddings.