results(searches): Phase 2 NSS scan wave 1 — H2.1 confirmed (inner-steps axis) - #156
Open
Jammy2211 wants to merge 3 commits into
Open
results(searches): Phase 2 NSS scan wave 1 — H2.1 confirmed (inner-steps axis)#156Jammy2211 wants to merge 3 commits into
Jammy2211 wants to merge 3 commits into
Conversation
Two RAL A100 sbatch scripts for the Phase 2 mainline-af.NSS scan (inference programme issue #149), both testing H2.1 — that the +8.4-nat logZ bias the 2026-08-23 anchor row confirmed at inner=5 is slice-MCMC under-mixing, removable at num_mcmc_steps >= 2d (d = 15 for the MGE cell): inner30 num_mcmc_steps=30 (2d) est ~5203 s --time 2:30:00 inner45 num_mcmc_steps=45 (3d) est ~7721 s --time 3:30:00 Every other knob matches the anchor (n_live 200, num_delete 50, dlogz -3, seed 42, unchunked), so the diff is inner steps only. Estimates scale the anchor's 839.6 s sampler wall linearly in inner steps and add ~45 s viz + ~120 s compile margin; --time is ~1.5x. Artifact isolation uses the existing --config-name lever only (no framework change): config_name sets both the results basename (_profile_cli.resolve_output_paths) and the af.NSS search ``name`` (searches/_samplers.build_nss), so each arm writes its own hpc_hpc_a100_fp64_inner<N>.json and fits under its own output/ directory. num_mcmc_steps is additionally an NSS __identifier_fields__ entry, so the autofit identifier differs and no arm can silently resume the anchor's completed fit. Prepared for review only — not submitted.
…p mixing (#149) RAL jobs 338492/338493 (A100 fp64, fork knobs except num_mcmc_steps): inner=30 (2d) collapses the +8.4-nat logZ bias to +0.7; inner=45 (3d) brackets the Nautilus reference at -0.5. Every maxL within tolerance of the truth bar; evals linear in inner steps; wall slightly sub-linear. Evidence-correct NSS at these knobs costs ~5-7.6x Nautilus's A100 wall, so Gate A's wall-time case moves to the num_delete/n_live axes (wave 2, at inner=2d). Includes the wave-1 submit scripts (arm encoded in --config-name so artifacts and autofit identifiers stay disjoint) and the phase_02 RESULTS.md wave-1 section + wave-2 plan. Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_019s6eAYCjAvn7tRNetAFadP
Four RAL A100 sbatch scripts for the Phase 2 mainline-af.NSS scan, all holding inner steps at 30 (2d — the operating point wave 1 established, logZ 31691.20 vs Nautilus 31690.5) and moving the wall-time axes: inner30_nd20 n_live 200 num_delete 20 (0.1m) est ~6155 s --time 3:00:00 inner30_nd100 n_live 200 num_delete 100 (0.5m) est ~3667 s --time 2:00:00 inner30_n500 n_live 500 num_delete 125 (.25m) est ~10712 s --time 5:15:00 inner30_n1000 n_live 1000 num_delete 250 (.25m) est ~21258 s --time 12:00:00 Estimates scale the wave-1 inner30 row (n200/nd50: 4218.6 s sampler, 1,492,747 evals, 2.826 ms/eval) through the nested-sampling replacement count R = dlogX * m * g(k/m), g(x) = x / -ln(1-x): total replacements are ~linear in n_live and only weakly dependent on num_delete (g = 0.949 / 0.869 / 0.721 at k/m = 0.1 / 0.25 / 0.5). Wave-1 evals (6.37x, 9.66x for inner 30, 45 vs the nominal 6x, 9x) support the inner-invariance of R. --time is ~1.7x each estimate, except n1000 whose 1.7x crosses 10 h and is set to 12:00:00. nd20 additionally carries an assumed 1.30x utilisation penalty (2.5x narrower vmap, 2.73x more outer iterations) — the one unmeasured factor in the set. chunk_size stays unset on every arm: peak inner-step memory scales with num_delete, not n_live, and the recorded 937 MiB at num_delete=50 extrapolates to ~4.58 GiB at num_delete=250 — ~6% of an 80 GB A100. Naming follows wave 1: --config-name sets both the results basename and the af.NSS search name, and every moved knob is an NSS __identifier_fields__ entry, so no arm can clobber or resume another. Prepared for review only — not submitted.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up slice to #149/#150 (Phase 2 entry + CP-2 anchor). Two A100 arms varying only
num_mcmc_stepsvs the anchor (n_live 200, num_delete 50, dlogz −3, seed 42), plus the wave-1 submit scripts and the phase_02 ledger update.Result — H2.1 confirmed as pre-registered
The fork-era +7–13-nat logZ bias is inner-kernel under-mixing: it falls monotonically with inner steps and brackets the Nautilus reference at 3d. All max logL within the ≤2-nat tolerance of the truth bar. Both runs verified genuine (current version stamp, plausible walls, no resume-trap marker).
Gate A consequence: evidence-correct NSS (inner ≥ 2d) costs ~5–7.6× Nautilus's wall on the same tier at these knobs — the wall-time case moves to the
num_delete/n_liveaxes (wave 2, at inner=2d; plan inphase_02_nss_mainline/RESULTS.md).Mechanics
--config-name(hpc_a100_fp64_inner30/45): separates the results artifacts, the autofit output dirs, and the recordedconfig_namein one knob; all five science knobs verified to enter the search identifier (NSS.__identifier_fields__), closing the completed-fit resume trap that bit the anchor.ruff+build_readme.py --checkclean; dashboard row regenerated.🤖 Generated with Claude Code
https://claude.ai/code/session_019s6eAYCjAvn7tRNetAFadP