Why not train from scratch?
Training a large policy from zero needs enormous data and compute, and throws away everything a pretrained model already knows about perception and motion. Fine-tuning keeps that foundation and only teaches the model what’s new about your task — far less data, far less time.Full fine-tuning vs LoRA
The naive approach updates every weight in the model. That’s expensive to train, expensive to store, and gives you one monolithic model per task. LoRA (Low-Rank Adaptation) takes a smarter route: freeze the base model and train small adapter weights that slot on top of it.| Full fine-tuning | LoRA | |
|---|---|---|
| Params trained | All of them | A tiny fraction |
| Training cost | High | Low |
| Storage | A full model per task | One base + small adapters |
| Swapping tasks | Reload a whole model | Swap an adapter |
Where the training data comes from
Fine-tuning needs trajectories, and good trajectories are the hard part — see Physical AI at a glance. Cadenza closes that gap by generating data as a byproduct of simulation: every mission is logged tick-by-tick and scored automatically, so rollouts arrive already labeled and ready to become a training set.The Cadenza workflow
The full loop spans both layers of the stack — you build in the SDK and operate with the CLI:- Build the robot, scene, and policy interface in the SDK.
- Gather scored rollouts by running missions in simulation.
- Convert those rollouts into VLA training data.
- Train a LoRA adapter on that data.
- Evaluate the new policy back in simulation — and on hardware.
- Repeat, each pass producing a sharper policy and more data.
Build with the SDK
Stand up a robot and a scene to gather data from.
Run the loop in the CLI
Gather rollouts and fine-tune end to end.