I passionately believe that Stan has already proven to be a ground-breaking open source project that has unlocked a whole raft of practical applications for Bayesian inference. However, I think Stan is currently only scratching the surface of its potential to make a difference. To continue to grow, I believe Stan needs to embrace a desire to continually evolve. I would like to be involved in the SGB as I believe that my experience can help unlock Stan true potential.
I’d like to serve on the SGB to enable Stan to have broader applicability, utility and use.
NUTS was a revolutionary advance. By making it possible to apply NUTS to a diverse range of applications, Stan has made it possible for a vast range of users to use Bayesian models to extract information they see as important from their data. While the ecosystem around Stan has served users well, because of Stan’s tight-coupling to problems that can be tackled with NUTS, Stan’s applicability is limited to problems that can be posed as being dependent on fixed-dimensionality vector-valued parameters.
Other problems (eg related to dynamic problems and discrete parameters) exist. Not only this, but users are identifying that they need to solve these problems. Meanwhile, algorithms are being proposed as solutions. My personal view is that the Stan ecosystem makes it hard for these people (both the users posing these problems and the algorithm developers proposing solutions) to fully exploit Stan’s potential: users can misinterpret guidance to imply that they are posing the wrong problem; in my experience at least, algorithm developers can struggle to contribute in the presence of the combination of well-rehearsed arguments to maintain the algorithmic status-quo and a seemingly-impenetrable codebase (which makes it hard to accumulate empirical evidence to counter those arguments).
It is clear to me that the Stan developer community does not want this situation to exist or to persist. Indeed, I am very optimistic that there is hope! More specifically, I am enthused by the recent development of BridgeStan [BridgeStan 1.0.0 released]. BridgeStan provides algorithm developers with the ability to try out their approaches in the context of Stan models. I believe BridgeStan will ease the process of objectively comparing approaches and help provide an environment where users can be provided with solutions to problems that they cannot currently tackle with Stan. Put simply: BridgeStan is an important step to enabling users to tackle problems that Stan cannot currently handle.
I am also aware that there are a large number of researchers around the world developing algorithms that could help Stan’s users but which currently create siloed github repos, each of which have somewhat modest user bases. Such researchers do not view themselves as Stan developers but do represent a latent potential to augment the funding and people that are aligned with Stan’s development. If we can align the output of such ongoing research with Stan’s development goals, there is then an increased chance that we can create a virtuous circle whereby we secure funding explicitly aligned with Stan’s development and such funded development achieves more `bang for its buck’.
Streamlining the process of broadening Stan’s applicability, utility and use will require further changes to how Stan is governed, how development is funded and how the community feels. The SGB has a vital role to play in facilitating this shift and I would love to have the opportunity to help make this happen.
My initial exposure to Stan was as a user. For example, a Stan model that two of my PhD students developed has been used since February 2021 by UK government as one of approaches that contributes to the official calculation of the UK’s R-number for COVID-19. While I have also helped with the organisation of StanCon2020, my primary involvement with Stan has been as the lead for a research group of approximately 60 researhers (PhD students, post-docs and data scientists) at the University of Liverpool in the UK. I have secured funds that have enabled my team to work over recent years, somewhat behind the scenes, to develop software and algorithms pertinent to Stan. These algorithms have been developed to address issues that the potential users I interact with see as gaps in Stan’s applicability. While our contributions to Stan releases have not been extensive (and this is arguably my point), we have recently developed a post-processing tool (currently using BridgeStan) that uses control variates to dramatically reduce the standard error associated with parameter estimates output by Stan at negligible computational cost [Control Variates for Reduction of Sample Variance in Stan]. However, our focus has been on developing Sequential Monte Carlo (SMC) methods that can extend Stan’s applicability in three ways:
- users want to exploit available compute (eg GPU farms purchased for Deep Learning) to apply Stan at scale such that they can be significantly more ambitious in terms of the models that they can apply to their data: we are using SMC samplers as an inherently parallel alternative to MCMC to achieve this;
- users want to tackle streaming problems [StanCon 2020. Talk 5: Simon Maskell. Towards an Interface for Streaming Stan - YouTube] and calibrate the models used in such contexts: we have adapted Stan to use Fixed-Lag SMC (ie a high performance particle filter) and associated calibration techniques (eg SMC^2);
- users want to tackle problems involving model selection (including problems, eg involving decision forests, with unknown dimensionality that could be tackled using Reversible Jump): we are developing a software framework that ensures self-consistency when modelling discrete variables (akin to auto-diff ensuring that the gradient is actually equal to the gradient of a specified function) as well as implementing SMC samplers (and other efficient algorithms, eg HINTS: [HINTS: An alternative to NUTS that doesn't require gradients]) in this context.
I believe this experience means that I am well placed to serve on the SGB to facilitate the vision described above. Given the magnitude of the changes that I view as necessary, I propose to serve for the maximum two year term.