Skip to main content
The Runs object is a singleton that manages multiple concurrent training runs within a single trainer process. It is the central coordination point for multi-run RL training, enabling a single trainer to serve multiple orchestrator experiments simultaneously with separate LoRA adapters, optimizers, and schedulers.

Overview

When max_concurrent_runs > 1, the trainer can train multiple runs in parallel. Each run:
  • Has its own LoRA adapter weights
  • Has its own optimizer and scheduler
  • Tracks its own training progress (step, tokens, samples)
  • Loads its own orchestrator configuration
ResponsibilityDescription
DiscoveryScans for run_* directories and loads configs
MappingProvides bidirectional run ID ↔ index mapping
ProgressTracks per-run training step, tokens, samples
SynchronizationKeeps all ranks in sync via distributed store
HooksEnables lazy initialization of per-run resources
LoRA ManagementRegisters modules for multi-adapter parameter access
State AccessProvides per-run parameters and state dicts
This design enables efficient multi-tenant training where a single trainer can serve multiple experiments with independent adapter weights, optimizers, and learning rate schedules.