Trackio Logging in NeMo AutoModel
Introduction
Trackio is a lightweight, local-first experiment tracker from Hugging Face with a wandb-style API. NeMo AutoModel logs training and validation metrics to Trackio from every recipe that supports Weights & Biases.
With Trackio integration, you can:
- Track runs in a local SQLite store with no account or server
- Browse and compare runs in the Trackio dashboard
- Sync a project to a Hugging Face Space to share it
- Log alongside Weights & Biases, MLflow, or Comet in the same run
Prerequisites
Trackio is included in the tracking and all extras and in the NeMo AutoModel container. For a base package installation, add the trackio extra:
Configuration
Enable Trackio logging by adding a trackio section to your recipe YAML configuration:
Configuration Parameters
Any other key in the trackio section is passed to trackio.init() unchanged. Useful ones include:
Storage Location
Local runs are written to a SQLite database under TRACKIO_DIR, which defaults to ~/.cache/huggingface/trackio. On a cluster, point it at a shared filesystem so the dashboard can read runs from any node:
What Gets Logged
NeMo AutoModel logs the same metrics to Trackio as to Weights & Biases:
- Training metrics at every remote-logging step (
step_scheduler.log_remote_every_steps): loss, gradient norm, learning rate, memory, throughput, and recipe-specific metrics such as the dLLM losses or draft acceptance. - Validation metrics. Named validation sets are prefixed with
val_<name>/. - MoE load-balance metrics when
moe_metricsis configured. - The full resolved recipe configuration as the run config.
Trackio records the step and timestamp of each row itself, so the step and timestamp fields of a metrics sample are not logged as metrics. Tensor values are logged as Python floats and non-numeric values are skipped.
Only rank 0 in distributed training creates a Trackio run and logs to it, so a multi-GPU or multi-node job produces exactly one run. GPU auto-logging therefore reports the GPUs visible to rank 0.
Usage Example
Add the trackio section to your recipe YAML (for example llama3_2_1b_squad.yaml) and launch training as usual:
The section can also be added entirely from the command line, for example --trackio.project my-project --trackio.space_id my-user/automodel-runs.
View Results
Open the dashboard for a local project:
For a project synced to a Space, open the Space URL printed at the start of training.
Integration with Other Loggers
Trackio can run alongside the other loggers; each one is enabled by its own YAML section:
Troubleshooting
Trackio Not Installed
If you see trackio is not installed, install the extra:
Runs Missing From the Dashboard
- Check that the dashboard and the training job use the same
TRACKIO_DIR. - Runs are created on rank 0 only; look for
Trackio experiment tracking enabledin the rank-0 log. - Metrics are sent every
step_scheduler.log_remote_every_stepssteps, not every step.