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

Non-reversible parallel tempering and optimal ladders #130

Open
ptiede opened this issue Jun 11, 2021 · 11 comments
Open

Non-reversible parallel tempering and optimal ladders #130

ptiede opened this issue Jun 11, 2021 · 11 comments

Comments

@ptiede
Copy link

ptiede commented Jun 11, 2021

Hi,

This package looks great. I wonder if you have considered using the adaptation schemes from Syed 2019 and Syed 2021.

I have implemented the first of those parallel tempering schemes in C++ and interfaced it with Stan to do some high-dimensional sampling for the EHT and found orders of magnitude improvements over other adaptation schemes. There are also many improvements in the second reference that should drastically increase the round-trip rate of the sampler.

@s-syed and I were actually planning on implementing a generic parallel tempering algorithm for Julia, but it looks like you have a great package here. Did you want to join forces? Having a state-of-the-art PT package in Julia that works with most of AbstractMCMC.jl would be pretty cool.

@HarrisonWilde
Copy link
Member

HarrisonWilde commented Jun 22, 2021

This sounds great, I had not actually seen the 2021 Syed paper, and I just finished implementing adaptation based on the Adaptive Parallel Tempering Algorithm from Miasojedow in 2013, I would be more than happy to talk and collaborate on this. Can you drop me an email at [email protected] ?

@sethaxen
Copy link
Member

Came here to suggest this. The Syed 2019 paper is great!

@s-syed
Copy link

s-syed commented Jun 24, 2021

Hi @sethaxen thank you for the kind words, the papers were just accepted to JRSS-B and ICML respectively last month. I think it could be really fruitful to join forces as @ptiede suggested. I would love to meet you guys and have a chat to discuss further!

@sethaxen
Copy link
Member

Congrats, @s-syed! And that would be great.

@ptiede I was wondering how you handled metric/step-size adaptation when using parallel tempering. Did the temperature levels each have their own adapted metric/step size, or was there one global metric/step size?

@ptiede
Copy link
Author

ptiede commented Jun 24, 2021

@sethaxen I set it up to use a separate step size and mass matrix for each tempering level. Using a global adaptation would probably increase the communication overhead and we wanted to limit this since our use case usually involves distributed computing.

Looking forward to working with everyone!

@HarrisonWilde
Copy link
Member

Good stuff, have emailed out to everyone to try and organise a meeting

@ParadaCarleton
Copy link
Member

ParadaCarleton commented Oct 11, 2021

This sounds great, I had not actually seen the 2021 Syed paper, and I just finished implementing adaptation based on the Adaptive Parallel Tempering Algorithm from Miasojedow in 2013, I would be more than happy to talk and collaborate on this. Can you drop me an email at [email protected]?

Have you written anything on how to use the adaptive tempering in MCMCTempering? When I went through the readme it only mentioned a way to call it with a specified number of steps, and didn't mention anything about adaptive tempering.

@nikola-sur
Copy link

Hi All,
I wanted to contribute to this repo by adding non-reversible parallel tempering functionality and just accidentally came across this thread right now! @s-syed and I are working on some more non-reversible PT methods right now, actually. Has there been any progress on implementing this and could I try to contribute?

@nikola-sur
Copy link

I see that the pull request has implemented a bunch of these features, so I guess I will step back. Great to see that people are interested in the method!

@ParadaCarleton
Copy link
Member

I see that the pull request has implemented a bunch of these features, so I guess I will step back. Great to see that people are interested in the method!

Actually, I don't think any of these methods have been implemented yet. We'd definitely love some help with getting them up and running!

@nikola-sur
Copy link

nikola-sur commented Feb 4, 2022

Sounds good! It will take me some time to get familiar with the existing code, but I am looking forward to contributing.

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

6 participants