Skip to content

research: point-source gradient-search admission measurement (MultiStartAdam, 2026.10.17.1) - #29

Merged
Jammy2211 merged 4 commits into
mainfrom
feature/ps-source-gradient-admission
Oct 17, 2026
Merged

Jammy2211 merged 4 commits into
mainfrom
feature/ps-source-gradient-admission

Conversation

@Jammy2211

@Jammy2211 Jammy2211 commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The gradient-search admission measurement the point-source source-plane campaign (PyAutoPulse point-source-source) is parked on. af.MultiStartAdam runs in the analysis-declared forward gradient_mode. It uses the same L5 target as the Nautilus leaf, on the released 2026.10.17.1 wheels (private RAL venv, jax 0.11.2), RAL CPU (ral) + A100 (--exclusive), seeds 0–4, two step ceilings. Closes #25 on merge.

Evidence, not a verdict. At a 3000-step ceiling every seed converges in 259–1432 steps to the Nautilus log-L range (16.43–16.49) with all parameters ≤ 0.80σ (Nautilus σ) from truth. At the library-default 300, 4/5 seeds stop on the budget, at up to 1.44σ. The likelihood with its gradient is 0.8–3.7% of search wall on RAL CPU, 0.3–2.3% on A100. The rest is a fixed per-fit cost (~7 s CPU / ~19 s A100: compile, start draws, output) and per-step optimiser overhead. A100 is slower end to end than an 8-CPU slice here, because the step is launch-bound. Whether this answers the admission question, or a BlackJAX NUTS/SMC leaf is still wanted, is the human's call.

Scripts Changed

  • scripts/point_source/simple/multi_start_adam.py (new): MultiStartAdam leaf, library-default 300-step ceiling.
  • scripts/point_source/simple/multi_start_adam_n3000.py (new): same, ceiling 3000 (auto-convergence ends the run).
  • scripts/misc/searches/_point_runner.py: gradient admission bar (batched value_and_grad per eval, value-only cost, compile, steps, evals = steps × starts, share), MAP vs truth in committed-Nautilus σ, package_versions provenance for installed-release runs.
  • scripts/misc/test/test_point_runner.py: tests for the new pure helpers.
  • scripts/misc/wall/check_submits.py: cell-id mapping for the two setup-layout leaves (keeps the leaf-is-instrument check).
  • hpc/batch_cpu/submit_search_multi_start_adam_simple_ral_cpu, hpc/batch_gpu/submit_search_multi_start_adam_simple_a100 (new; private venv, ral / exclusive A100).
  • .github/workflows/lint.yml: smoke the two new leaves.
  • Results: 20 rows under results/searches/point_source/multi_start_adam{,_n3000}/, SLURM logs results/logs/point_source/*.41249{5,8}_*, regenerated README / dashboard/summary.json / dashboard/catalogue.json; journal in wiki/project/state.md; setup + searches README notes.

Runs

RAL 412494 (venv build), 412495 (CPU array, 10 tasks), 412498 (A100 array, 10 tasks): all COMPLETED 0:0. Cortex: PyAutoCortex a87fd8c (runs logged). Companion timing PR: PyAutoLabs/autolens_profiling#432.

Validation

ruff check / format, pytest scripts/misc/test (131 passed), build_readme.py --check, export_inference_summary.py --check, check_submits.py --check, smoke short-circuit of both new leaves: all pass locally. Heart: organism STALE; scoped (autolens_inference, autolens_profiling) GREEN, no in-scope blockers.

Notes for review

  • autolens_inference is also claimed by hst-cleanslate-light-mode (feat: lens-light mode variant, row provenance and pinned clean-slate submits #24); paths are disjoint, but README/summary/catalogue are regenerated files and may need a re-render on whichever merges second.
  • No Nautilus control was re-run on this stack: same-config rows would overwrite the 2026-09-28 rows. The reference σ is the committed Nautilus rows.
  • Tier: judge — human /prm.

🤖 Generated with Claude Code

https://claude.ai/code/session_01QBeyBLN7ntDChx9v1fmt6M

Jammy2211 and others added 2 commits October 17, 2026 13:38
…ce (admission bar)

Adds scripts/point_source/simple/multi_start_adam{,_n3000}.py over the shared
point runner: the batched value-and-gradient admission bar (per-eval cost,
compile, steps to convergence, evals = steps x starts, likelihood share), the
MAP against truth in committed-Nautilus posterior widths, installed package
versions for runs from a released stack, and the RAL submits (ral CPU array,
exclusive A100 array) on a private 2026.10.17.1 venv. Refs #25.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QBeyBLN7ntDChx9v1fmt6M
…2026.10.17.1); journal

Twenty rows (ceilings 300 and 3000 x seeds 0-4 x RAL CPU 412495 / A100 412498)
from a private venv of the released wheels, their SLURM logs, the regenerated
README / summary / catalogue, and the journal entry. Refs #25.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QBeyBLN7ntDChx9v1fmt6M
Jammy2211 and others added 2 commits October 17, 2026 14:49
@Jammy2211
Jammy2211 merged commit c377050 into main Oct 17, 2026
1 check passed
@Jammy2211
Jammy2211 deleted the feature/ps-source-gradient-admission branch October 17, 2026 16:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

research: point-source source-plane gradient-search admission measurement (MultiStartAdam, 2026.10.17.1)

1 participant