Isaac GR00T N1.6 Fine-Tuning
Fine-tune and benchmark NVIDIA's GR00T N1.6 robotics foundation model on DGX Station
Basic idea
NVIDIA Isaac GR00T N1.6 is a 3-billion-parameter open vision-language-action (VLA) foundation model for generalist humanoid robot skills. It combines a Cosmos-family vision-language backbone with a 32-layer Diffusion Transformer (DiT) action head that denoises continuous robot actions from multimodal input — language instructions and camera images. The model is pre-trained on a large mixture of robot demonstration data, then adapted to specific embodiments and tasks through fine-tuning.
High-level architecture (VLM + DiT action head), as in the upstream Isaac GR00T repo:
Source: NVIDIA Isaac GR00T — media/GR00T-reference-arch-diagram.png. If the local image above is missing, the upstream copy is at https://raw.githubusercontent.com/NVIDIA/Isaac-GR00T/n1.6-release/media/GR00T-reference-arch-diagram.png.
In this playbook you will fine-tune GR00T N1.6 on the LIBERO Spatial benchmark on a DGX Station with GB300 (large unified memory). That setup supports a high global batch size (128) on a single GPU, which improves training throughput compared to typical 24–80 GB consumer or datacenter GPUs.
LIBERO Spatial (what you are fine-tuning on)
LIBERO Spatial is part of the LIBERO suite of simulated tabletop manipulation benchmarks. The spatial split emphasizes where objects need to be placed: tasks such as putting a bowl on a stove burner vs a plate, placing utensils in a mug vs next to it, or moving objects to left/right/front targets on the table. Episodes include third-person RGB video, proprioceptive state, language instructions, and continuous end-effector actions in a consistent LeRobot v2 layout. Understanding these constraints helps when you read training logs or open-loop evaluation plots.
What kind of fine-tuning this playbook uses
This playbook runs the default Isaac GR00T fine-tuning recipe from launch_finetune.py: not full-model weight updates of the entire 3B VLM. In the stock configuration, training focuses on the action head (DiT) and projector / adapter paths that map observations into the action model, with strong state dropout and color jitter so the policy leans on vision. Optional flags such as --tune-llm or --tune-visual (mentioned under Next steps) trade compute and memory for updating more of the backbone. LoRA is not the default here; if your team uses LoRA or other PEFT variants, treat that as a separate configuration branch from this playbook.
NVIDIA DGX Station (why this hardware)
DGX Station is a deskside AI system built for large-memory GPU training and inference (this playbook targets GB300 with 284 GB HBM3e). Beyond robotics, the same class of machine supports large-model fine-tuning, RAG serving, multi-modal training, and CUDA research where single-GPU memory and bandwidth dominate. For GR00T, the headline benefit is fitting much larger batch sizes per GPU than on smaller cards, which stabilizes gradients and improves samples per second when the data pipeline keeps up.
What you'll accomplish
- Check out the
n1.6-releasebranch of Isaac GR00T so commands, embodiment tags, anddemo_data/match GR00T N1.6 - Set up the environment with
uv(project-local.venv) and understand what the optionalinstall_deps.shscript changes on the system - Apply the recommended PyAV
get_frames_by_indicespatch whentorchcodecis unavailable so LIBERO AV1 video decoding does not stall on an ffmpeg subprocess fallback - Verify the base model, fine-tune on LIBERO Spatial at batch size 128, run open-loop evaluation, and measure inference latency (with GB300 / Blackwell TorchDynamo compilation notes)
What to know before starting
- Familiarity with Python virtual environments (
source .venv/bin/activate) - Familiarity with PyTorch training concepts (batch size, loss, checkpoints)
- Basic robot manipulation vocabulary (trajectories, observations, actions)
- Comfort running commands that may use
sudofor system packages (or use the documented user-space alternative)
Prerequisites
- NVIDIA DGX Station with GB300 (Blackwell SM103, 284 GB HBM3e)
- CUDA toolkit usable by PyTorch:
nvcc --versionshould show CUDA 12.8+ (often already under/usr/local/cudaon DGX images) - Git and Git LFS (
git lfs version) — LFS is required for some demo assets and submodules; install withsudo apt-get install -y git-lfsthengit lfs installif missing - Hugging Face account and HF_TOKEN for model and dataset downloads
- Network access to Hugging Face, GitHub, and PyPI
- At least ~30 GB free disk for
.venv, checkpoints, and the LIBERO download
Time & risk
- Duration: ~45 minutes end-to-end when the video backend is healthy (setup, downloads, ~20–25 min training at 2000 steps, eval and inference)
- Risks:
scripts/deployment/dgpu/install_deps.shperforms system-levelaptoperations and may install the CUDA 12.8 toolkit if/usr/local/cudais absent (see Instructions). Model download requires Hugging Face authentication. - Rollback: Remove the cloned
Isaac-GR00Tdirectory and optionallyrm -rf ~/.local/share/uvif you want to reclaimuvcaches. Revertingapt-installed packages is a separate admin task; the playbook does not uninstall them automatically. - Last Updated: 05/26/2026
- First Publication
