> This page is for version 3.0.0 (Latest) (default).
> For other versions, use one of these documentation indexes:
> - 3.0.0 (Latest) (default): https://docs.nvidia.com/nim/financial-fraud-training/3.0.0/llms.txt
> - 2.0.0: https://docs.nvidia.com/nim/financial-fraud-training/2.0.0/llms.txt
> - 1.0.0: https://docs.nvidia.com/nim/financial-fraud-training/1.0.0/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nim/financial-fraud-training/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nim/financial-fraud-training/_mcp/server.

# 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. |