Blackjax MCLMC support #7699
Replies: 3 comments 24 replies
-
Is
|
Beta Was this translation helpful? Give feedback.
-
Just to give a sense of the performance benefits, here's our paper, with a comparison between NUTS and Metropolis Adjusted Microcanonical Sampling (MAMS) on some standard test problems, in table 1: https://arxiv.org/pdf/2503.01707. MAMS is nowhere near as battle-tested as NUTS, but it seems to give a 2x or greater speedup in most cases we tried, is easier to parallelize, and we're interested in getting input from pymc users with difficult problems (hence this discussion). |
Beta Was this translation helpful? Give feedback.
-
Just following up on this, as my group is still interested in getting MCLMC into PyMC. Re. the above, I agree that bayeux would work, but since our main motivation is discoverability by general PyMC users, our main focus is on seeing if we can get it into PyMC directly. From the discussion above, it sounds like a class for external samplers is needed (ala https://github.com/pymc-devs/pymc/pull/7719/files) - does that sound right? I've been putting off approaching this, but will need to sooner or later |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
MCLMC is an algorithm intended as a statistically more efficient alternative to NUTS HMC. I'm interested in adding the option to PyMC to use it via the Blackjax implementation, in the spirit of
pm.sample(nuts_sampler="blackjax")
, so maybe something likepm.sample(mclmc_sampler="blackjax")
.It comes with either an unadjusted version (no MH, controlled asymptotic bias, faster) or an MH adjusted version, both of which are faster than NUTS for a range of benchmarks of interest.
Basically my question is: would PyMC be open to a PR along these lines? For public facing visibility, we'd like to put the algorithm into PyMC rather than use PyMC indirectly (i.e. extract a density from a probabilistic program in PyMC), and I thought this might be the best way.
Beta Was this translation helpful? Give feedback.
All reactions