Skip to content

feat(domain): add autoregressive solver-loop curriculum - #124

Closed
andrinr wants to merge 5 commits into
feat/ns-grid-solver-in-loopfrom
feat/ns-grid-solver-in-loop-curriculum
Closed

feat(domain): add autoregressive solver-loop curriculum#124
andrinr wants to merge 5 commits into
feat/ns-grid-solver-in-loopfrom
feat/ns-grid-solver-in-loop-curriculum

Conversation

@andrinr

@andrinr andrinr commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

State of this PR

This stacked follow-up turns the compact temporal-credit audit in #116 into a
paper-aligned autoregressive correction study. It keeps the existing
optimization/solver_in_loop experiment unchanged and adds the opt-in
optimization/solver_in_loop_curriculum experiment.

The new experiment separates three training protocols while holding the
solver, corrector architecture, data, optimiser schedule, and free-running
evaluation fixed:

  • ONE: one-step correction from reference states;
  • NOG: recurrent solver–corrector training with the solver outputs stopped
    in the backward pass;
  • WIG: the identical recurrent forward trajectory with full temporal
    differentiation through the solver.

Protocol

  • 32² candidate grid with correction after every native step (dt=0.02);
  • 128² pseudo-spectral production target and gated 256² convergence audit;
  • 32 training ICs and eight held-out ICs;
  • 259,554-parameter, five-block periodic ResNet corrector;
  • staged 1 → 2 → 4 → 8 → 16 → 32 look-ahead curriculum;
  • 11,000 optimiser updates per training protocol and model seed;
  • three paired model seeds;
  • supervision at every corrected state, without the solver-terminal auxiliary
    used by feat(domain): benchmark all differentiable solvers in the loop #116;
  • 300-step fully autoregressive held-out evaluation.

The output separates the gain from recurrent state exposure (NOG / ONE) from
the incremental gain from temporal solver gradients (WIG / NOG). It also
records curriculum checkpoint quality, a five-scale per-seed FD/AD sweep, update and wall-clock cost, correlation
horizon, energy/enstrophy/divergence diagnostics, final energy spectra, full
fields, and a five-column reference/solver/ONE/NOG/WIG rollout GIF.

Validation

  • Ruff lint and format pass on all changed files.
  • 530 tests pass and three are skipped.
  • The curriculum has an end-to-end in-process solver smoke covering staged
    optimisation, changed learning rates, ONE/NOG/WIG rollout arrays,
    correlations, checkpoint shapes, and rendering.

Offline results

Production results are pending. All numerical experiments will run offline on
Kander through the same Slurm/Pyxis runner and solver images used by #116. No
hosted benchmark label will be used.

Literature correspondence

The terminology follows the controlled ONE/NOG/WIG comparison in
Differentiability in Unrolled Training of Neural Physics Simulators
and the recurrent SOL_n protocol in
Solver-in-the-Loop.

@andrinr andrinr added the benchmark:none Skip benchmarks (maintainer trusts no answer-changing code) label Jul 27, 2026
@PasteurBot

Copy link
Copy Markdown
Contributor

📊 View the full benchmark results

No benchmarks ran for this PR, so there is no status report.


@andrinr

andrinr commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator Author

Folded into #118. The full solver-in-loop curriculum implementation is now on that draft PR; the ongoing offline Kander runs and their aggregated plots/GIFs will be reported there.

@andrinr andrinr closed this Jul 27, 2026
@pasteurlabs pasteurlabs locked and limited conversation to collaborators Jul 27, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

benchmark:none Skip benchmarks (maintainer trusts no answer-changing code)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants