Skip to main content

Module fidelity

Module fidelity 

Expand description

Multi-fidelity oniro trials: run each trial at a per-trial run.steps budget (M4.7, docs/design/09-implementation.md §13).

SegmentedObjective cuts one trial into resumable rungs so a scheduler can prune or fork it. A multi-fidelity sampler — Dehb — is the other axis: it decides per trial how much budget a configuration deserves, cheaply screening many configurations at a low fidelity and paying the full budget only for the promising ones. This module is the hand-off that lets Dehb drive real oniro:

  trial 0  Dehb::target_fidelity -> 4    oniro run steps=4     report(4, value)
  trial 1  Dehb::target_fidelity -> 4    oniro run steps=4     report(4, value)
  ...                                    (many cheap screens)
  trial n  Dehb::target_fidelity -> 36   oniro run steps=36    report(36, value)

Each trial is one cold oniro run at exactly its target fidelity — not a resumed chain. That is the honest shape for a multi-fidelity sampler: a job at fidelity b is a fresh evaluation of a configuration for b steps, and a lower fidelity is a cheaper, noisier proxy of the full one. (Warm-continuing a promotion the way DEHB’s paper does would need a faithful oniro warm restart — docs/design/04-rl-and-oniro.md §B.3 PR5 — which SAC/PPO do not yet have: their resume restores the actor only, so a chained rung does not approximate one long run. Measured against oniro 934b9ae: a 3000-then-resume-3000 SAC chain reaches roughly the first segment’s return, not a 6000-step run’s. Running each fidelity cold sidesteps that entirely and keeps the comparison exact.)

ctx.report(fidelity, value) both records the value and charges the study’s fidelity budget (Budget::with_fidelity_units), so a Dehb study and a full-fidelity Random study run to the same total step budget — the only comparison a multi-fidelity method may be judged on (docs/design/09-implementation.md §13, the DEHB oracle). At that matched budget DEHB evaluates many more configurations, because most of them ran cheap.

Structs§

FidelityObjective
Runs one oniro trial at a per-trial fidelity chosen by a FidelitySource.

Enums§

FidelitySource
Where a trial’s fidelity (its run.steps budget) comes from.