事件链蒙特卡洛方法 – 暑期代码项目

大规模并行分解弹跳粒子采样器

在 JuliaCon 2021 上,介绍了一种新的采样蒙特卡洛方法(例如,作为贝叶斯推理中后验的采样算法)[1]。该方法利用分解结构来并行采样单个连续时间马尔可夫链,目标是联合分布。与并行吉布斯采样相比,该方法在任何时候都不会将坐标的子集固定。在吉布斯采样中,保持子集固定是实现大规模并行的主要手段:给定一组分离的坐标,条件后验分解成独立的子问题。在所提出的方法中,表示从后验中采样的参数向量的粒子永远不会停止移动,只有关于运动方向变化的决策会在坐标的子集上并行发生。

已经有两种实现可以使用 Julia 的多线程功能。在此基础上,贡献者将实现使用 GPU 计算技术的算法版本,因为该方法适合这些方法。

预期成果:使用 GPU 计算实现大规模并行分解弹跳粒子采样器 [1,2]。

推荐技能:GPU 计算、马尔可夫过程、贝叶斯推理。

导师Moritz Schauer

难度等级:困难,350 小时

[1] Moritz Schauer:ZigZagBoomerang.jl - 并行推理和变量选择。JuliaCon 2021 贡献 [https://pretalx.com/juliacon2021/talk/LUVWJZ/],YouTube:[https://www.youtube.com/watch?v=wJAjP_I1BnQ],2021。

[2] Joris Bierkens、Paul Fearnhead、Gareth Roberts:Zig-Zag 过程和大数据贝叶斯分析的超高效采样。统计年鉴,2019 年,47 卷,第 3 期,第 1288-1320 页。[https://arxiv.org/abs/1607.03188]。