Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Contributing MUSE to BlackJAX #1

Open
junpenglao opened this issue Jan 17, 2022 · 2 comments
Open

Contributing MUSE to BlackJAX #1

junpenglao opened this issue Jan 17, 2022 · 2 comments

Comments

@junpenglao
Copy link

Hi @marius311,
Great work on MUSE! I am wondering if you are interested in contributing MUSE to BlackJAX.

Some benefits:

  • Easy discoverable for broader Bayesian Computation community
  • We will maintain it for you (forward compatibility)!
  • Easy comparison with other MCMC algorithm (for benchmarking, numerical analysis)

Best,
Junpeng

@marius311
Copy link
Owner

marius311 commented Jan 20, 2022

Thanks for the interest! I agree those reasons are all highly compelling and I'm definitely interested, but given limited time right now I think I have to prioritize finishing up this package which will include just Jax and PyMC at first, and some other projects. But potentially once the Jax part of this is done, blackjax is pretty trivial? I haven't looked too deep into that package, but would part of this mean writing the MUSE solver itself in a way which is jit-able by Jax? (the solver here uses the jit-ed posterior and gradients, but may not itself be jit-able I haven't checked)

@junpenglao
Copy link
Author

I think the code change should be pretty minimal, what makes an algorithm "integrated" to BlackJAX is how the high level user facing API. For example, for MCMC, user supply the log_prob func that takes parameters (we are working on SGMCMC that takes parameters and (minibatch) observed). For MUSE, most of the work will be basically around how to make it easier for user to supply these components (theta_logp, sample_x_z, etc)

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

No branches or pull requests

2 participants