Evidence estimation by sequential Monte Carlo over a family of soft level ensembles
with
The two paths on an asymmetric double well, both starting from the prior —
QES quenching a level to depth beside tempered SMC annealing
uv sync --extra devuv run python examples/spike_slab.py --D 10 --seeds 3uv run pytest -qqes/level.py the family, the weights, the ESS dissection
qes/kernel.py the inner MCMC kernels and the score metric
qes/adapt.py step and metric adaptation
qes/qes.py anchor, level loop, evidence estimator
qes/tempered.py tempered SMC, matched in everything but the path
examples/ spike-slab, Gaussian, double well
Built on blackjax: the inner
kernel chosen as MALA (mcmc.mala), and resampling, ESS, and the schedule
bisection come from the SMC machinery. The kernel is preconditioned by a
diagonal metric read from the previous level's particle scores, and a single
scalar step size is held near the optimal acceptance rate by a constant-gain
controller.
@misc{yallup2026quenchedensemblesampling,
title={Quenched Ensemble Sampling},
author={David Yallup},
year={2026},
eprint={2609.15894},
archivePrefix={arXiv},
primaryClass={stat.ML},
url={https://arxiv.org/abs/2609.15894},
}© 2026 David Yallup. Released under the Apache 2.0 license.
This work was supported by a Google Research Grant
