Stan is a probabilistic programming language that is popular in the statistics community, with a high-level syntax for expressing probabilistic models. Stan differs by nature from generative probabilistic programming languages like Church, Anglican, or Pyro. This paper presents a comprehensive compilation scheme to compile any Stan model to a generative language and proves its correctness. We use our compilation scheme to build two new backends for the Stanc3 compiler targeting Pyro and NumPyro. Experimental results show that the NumPyro backend yields a 4.1x speedup compared to Stan in geometric mean over 25 benchmarks. Building on Pyro we extend Stan with support for explicit variational inference guides and deep probabilistic models. That way, users familiar with Stan get access to new features without having to learn a fundamentally new language.


翻译:Stan 是统计界流行的一种概率编程语言, 用于表达概率模型的高级语法。 Stan 自然性质与教会、 英国圣公会或皮洛等基因性概率编程语言不同。 本文提出了一个综合汇编计划, 将任何斯坦模式编成一种基因化语言, 并证明其正确性。 我们用我们的编程计划为Stanc3编程者针对Pyro 和 NumPyro 建立两个新的后端。 实验结果表明, NumPyro 后端与斯坦相比, 具有4.1x 速度, 以几何平均值超过25个基准。 在Pyro 的基础上, 我们扩展Stan, 支持明确的变异推断指南和深度概率模型。 这样, 熟悉Stan 的用户就可以在不必学习基本新语言的情况下获得新特征。

0
下载
关闭预览

相关内容

编译器(Compiler),是一种计算机程序,它会将用某种编程语言写成的源代码(原始语言),转换成另一种编程语言(目标语言)。
最新【深度生成模型】Deep Generative Models,104页ppt
专知会员服务
69+阅读 · 2020年10月24日
【经典书】贝叶斯编程,378页pdf,Bayesian Programming
专知会员服务
247+阅读 · 2020年5月18日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
151+阅读 · 2019年10月12日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
【新书】Python编程基础,669页pdf
专知会员服务
194+阅读 · 2019年10月10日
无监督元学习表示学习
CreateAMind
27+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
已删除
将门创投
5+阅读 · 2018年3月21日
条件GAN重大改进!cGANs with Projection Discriminator
CreateAMind
8+阅读 · 2018年2月7日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Arxiv
0+阅读 · 2021年3月8日
Arxiv
0+阅读 · 2021年3月5日
Arxiv
23+阅读 · 2021年3月4日
Arxiv
6+阅读 · 2017年7月17日
VIP会员
Top
微信扫码咨询专知VIP会员