Sweeps
ivyx✓
Run a hyperparameter sweep and see which point won, through the engine your workspace already has
Sweeps
Run a hyperparameter sweep and see which point won, through the engine your workspace already has.
This hub stores nothing. It reads the parameters and metrics your pipeline already declares, runs a trial per point through an installed sweep engine, and ranks what comes back. With DVC that costs no extra Python package at all — the grid and the worker pool are already part of it.
What you can do
- See what your pipeline can be swept over — the parameters it declares, with the value each one currently has.
- Try several values at once — type them per parameter and the panel says how many trials that adds up to before you start.
- Run the trials in parallel — pick how many go at a time.
- Watch them land — the list fills in while the sweep runs, and stops polling when it finishes.
- Rank by the number you care about — choose the metric and whether higher or lower is better.
- Take the winner — one click puts that point in your workspace and runs your MLOps pipeline over it.
- Stop a sweep — the workers shut down on request.
What it does not do
It does not guess which number is the point. A pipeline that records both an accuracy and a loss gives no clue about which one you are optimising or which direction is better, so the panel asks and never assumes. If your pipeline declares no metrics, trials still run and nothing is ranked, and the panel says so instead of inventing an order.
It does not cut a space down to fit. A sweep larger than 200 trials is refused with its number rather than trimmed, because a trimmed grid quietly stops varying one of your parameters.
Requirements
A sweep engine. extension-mlops-dvc 1.6.0 or newer ships the DVC one, and
needs a workspace that is a git repository with params: and metrics:
declared in dvc.yaml.
Getting started
- Install this extension and a sweep engine.
- Declare the parameters your pipeline reads and the metrics it writes.
- Open Sweeps, type the values to try, and press Run.
- When the trials land, click the best one to apply it and run your pipeline.
The engine contract
An engine is a set of declared capability ids. The hub finds it by reading the capability catalogue once; nothing is imported across extensions and nothing is registered by hand.
| Id | Required | Meaning |
|---|---|---|
mlops.<engine>.sweep |
yes | queue a trial per point and start the workers |
mlops.<engine>.trials |
no | the space, the trials and the workers |
mlops.<engine>.trialApply |
no | put one trial's point in the workspace |
mlops.<engine>.sweepStop |
no | stop the workers |
mlops.<engine>.reveal |
no | the engine's own panel |
The full contract is punica-editor/docs/sweep-engines.md.
Capabilities
| Id | What it does |
|---|---|
sweeps.run |
Expand a space and queue one trial per point |
sweeps.trials |
The declared parameters and metrics, plus every trial |
sweeps.apply |
Apply a trial and run the pipeline over it |
sweeps.stop |
Stop the workers |
sweeps.open |
Reveal the panel |
License
MIT