RepoNVIDIANVIDIApublished Aug 13, 2026seen 2h

NVIDIA/sports-intelligence-playbooks

Python

Open original ↗

Captured source

source ↗

NVIDIA/sports-intelligence-playbooks

Description: This repository provides a starter kit for sports intelligence built on NVIDIA AI stack: playbooks, training recipes, and inference for Multimodal Language Models.

Language: Python

License: Apache-2.0

Stars: 9

Forks: 0

Open issues: 0

Created: 2026-08-13T01:16:03Z

Pushed: 2026-09-10T06:02:11Z

Default branch: main

Fork: no

Archived: no

README: ![Sports Intelligence](assets/sports_intelligence_bright_canvas_banner.jpg)

NVIDIA Sports Intelligence Playbooks - AVLM

This repository provides a starter kit for sports-intelligence built on NVIDIA AI stack: playbooks, training recipes, and launch scripts using Multimodal Language Models.

Public recipes cover generic fine-tuning; these playbooks are a sports-focused multimodal baseline with video/audio data, eval, and distributed train/infer workflows wired in. The training and inference scripts themselves are still generic enough to reuse for other multimodal applications beyond sports.

> Model compatibility: Current recipes and configurations have been tested with the reference model documented in the training guide. The NeMo AutoModel stack supports additional models, and support for additional multimodal models is planned after testing confirms they meet our quality bar for sports intelligence.

What you get

  • End-to-end path: annotation → QA/MCQ data prep → SFT/LoRA → inference → evaluation
  • Video+audio recipes with resolution and frame-sampling knobs suited to sports clips
  • Measurable eval: per-class MCQ plus LLM-judge for open-ended answers
  • Reproducible Slurm/generic launches, checkpoint conversion/parity, and inference→eval pipelines
  • Side-by-side AutoModel vs Megatron-Bridge (SFT and LoRA)
  • Practical notes from debugging and optimizing multimodal training for sports

Docs: Sports Intelligence documentation

The playbooks cover one full AVLM round—from collecting and annotating multimodal sports data, through train/eval preparation, SFT/LoRA training, inference, and evaluation, with deployment as the next step. The repository layout below maps each stage to concrete scripts and guides; the two training stacks are interchangeable options for the training and inference steps.

![AVLM Training Lifecycle](assets/AVLM_training_lifecycle.png)

Two training stacks:

  • [NeMo AutoModel](https://github.com/NVIDIA-NeMo/Automodel) — full SFT and LoRA; generic (local) and Slurm launchers; container `nemo-automodel:26.06.00`.
  • [Megatron-Bridge](https://github.com/NVIDIA-NeMo/Megatron-Bridge) — full SFT and LoRA; generic (local) and Slurm launchers; container `nemo:26.06.00`.

AutoModel trains on Hugging Face checkpoints and is the easier on-ramp for most users. Megatron-Bridge uses Megatron-format checkpoints and richer parallelism (after HF→Megatron conversion), which is better when you need that scale and control.

![AVLM Training & Inference Stacks](assets/avlm_dual_stacks_block_diagram.png)

Repository layout

Area Component Path

Data prep QA / MCQ generation avlm/data_prep_example/tennis/

Training AutoModel SFT avlm/training/automodel/sft/ (generic/ + slurm/)

AutoModel LoRA avlm/training/automodel/lora/ (generic/ + slurm/)

Megatron-Bridge SFT avlm/training/megatron-bridge/sft/ (generic/ + slurm/)

Megatron-Bridge LoRA avlm/training/megatron-bridge/lora/ (generic/ + slurm/)

HF ↔ Megatron conversion avlm/training/megatron-bridge/hf_megatron_conversion/

Hyperparameter search avlm/training/hyperparam_search/

Inference AutoModel avlm/inference/automodel/ (configs/ + slurm/)

Megatron-Bridge avlm/inference/megatron-bridge/ (configs/ + slurm/)

Evaluation MCQ eval avlm/evals/mcq/

LLM-judge eval avlm/evals/qa_llm_judge/

Dependencies DeepEP wheels/deepep/ (pre-Hopper / A100; post-Hopper ships in nemo-automodel)

Getting started

Full walkthrough: training setup.

Clone this repo, cd to the root, and run launchers from there. Choose one stack under avlm/training/ — AutoModel (HF checkpoints) or Megatron-Bridge (Megatron checkpoints + Bridge recipes).

Containers

| Stack | NGC container | |-------|---------------| | AutoModel | `nemo-automodel:26.06.00` | | Megatron-Bridge | `nemo:26.06.00` |

Pull and run with Docker (e.g. for local GPUs / generic/ training):

# NeMo AutoModel
docker pull nvcr.io/nvidia/nemo-automodel:26.06.00
docker run --gpus all -it --rm \
-v "$PWD":/workspace -w /workspace \
nvcr.io/nvidia/nemo-automodel:26.06.00 bash

# NeMo Framework (Megatron-Bridge)
docker pull nvcr.io/nvidia/nemo:26.06.00
docker run --gpus all -it --rm \
-v "$PWD":/workspace -w /workspace \
nvcr.io/nvidia/nemo:26.06.00 bash

On Slurm clusters that use enroot, convert each NGC image once to a .sqsh squashfs file for job launches (no Docker daemon on compute nodes). Then set CONTAINER_IMAGE in launch_local.yaml to that .sqsh path:

# NeMo AutoModel
enroot import -o nemo-automodel_26_06.sqsh \
docker://nvcr.io/nvidia/nemo-automodel:26.06.00

# NeMo Framework (Megatron-Bridge)
enroot import -o nemo_26_06_00.sqsh \
docker://nvcr.io/nvidia/nemo:26.06.00

SFT and LoRA dirs share the same shape: configs/ (recipe YAML), generic/ (train when GPUs are already up), slurm/ (interactive + sbatch). Copy launch.yamllaunch_local.yaml, then set CONTAINER_IMAGE, CACHE_DIR, and cluster fields. Framework code defaults to the container install (/opt/Automodel or /opt/Megatron-Bridge); optional git bootstrap is only for pinning a different upstream commit (see the stack guides).

Suggested first path

1. Edit the recipe YAML (train/val JSONL paths and video root). 2. Smoke on 1 node × 8 GPUs via generic/ or Slurm interactive before multinode sbatch. 3. AutoModel / DeepEP: post-Hopper images already include DeepEP; on pre-Hopper (e.g. A100) the matching wheel under wheels/deepep/ is installed automatically...

Excerpt shown — open the source for the full document.