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

## Release 3.0.0

### Breaking Changes

* **Multi-node multi-GPU (MNMG) pipeline** — training now requires `torchrun` and the new `gpu: multi` / `gpu: single` config field. Legacy non-`torchrun` entrypoints are no longer supported, while single-GPU runs remain supported with `gpu: single` (or `NPROC=1`).
* **New config schema** — the YAML/JSON config format has changed substantially. The `FullConfig` schema now groups all settings under `paths` and `models[].hyperparameters.gnn` / `models[].hyperparameters.xgb`. Old flat configs are not compatible and must be migrated.
* **Triton server version** — the serving container is now `nvcr.io/nvidia/tritonserver:26.04-py3`. Artifacts generated by earlier training containers are not compatible with this server version.
* **`kind: GNN_XGBoost_NP`** — Node Prediction is now a first-class `kind` option in the config rather than a separate container entrypoint.
* **Mask file placement** — train/val/test mask files are now placed in `edges/` (EP) or `nodes/` (NP). The previous location is no longer supported.
* **Edge filename parser** — the `src`/`rel`/`dst` parsing now always takes the **first** token as `src` and the **last** token as `dst`. Multi-token node type names (e.g., `credit_card`) in edge filenames are no longer supported.

### New Features

* **Automated HPO** — `llm_tune.sh` (LLM-guided iterative tuning) and `grid_search.py` (Cartesian grid search) ship inside the container.
* **LLM Explainability** — `fraud_pipeline_explained` ensemble chains GNN → XGBoost Shapley Value Sampling → OpenAI-compatible LLM for human-readable fraud explanations. Works with any OpenAI-compatible endpoint (NVIDIA NIM, OpenAI, Ollama, etc.).
* **Multi-GPU horizontal inference scaling** — `serve.sh` accepts `NUM_GPUS` and `INSTANCES_PER_GPU` and patches all `config.pbtxt` files atomically.
* **Parquet and ORC support** — node, edge, label, and attribute files can now be CSV, Parquet, or ORC. Formats can be mixed within a dataset.
* **XGBoost external memory modes** — `batched`, `extmem`, and `memmap` options for datasets that exceed CPU RAM.
* **Focal loss** — `focal_gamma` and `focal_alpha` GNN hyperparameters for severe class imbalance.
* **Production threshold calibration** — `prior_test` parameter corrects the decision threshold for the production class ratio.
* **Zero-downtime model updates** — Triton model versioning support documented; `serve.sh` supports rolling updates.
* **`inf_num_neighbors`** — separate neighbor sampling cap for inference, enabling deployment on graphs with high-degree nodes.