Simple, Distributed, and Accelerated Probabilistic Programming
We describe a simple, low-level approach for embedding probabilistic programming in a deep learning ecosystem. In particular, we distill probabilistic programming down to a single abstraction---the random variable. Our lightweight implementation in TensorFlow enables numerous applications: a model-parallel variational auto-encoder (VAE) with 2nd-generation tensor processing units (TPUv2s); a data-parallel autoregressive model (Image Transformer) with TPUv2s; and multi-GPU No-U-Turn Sampler (NUTS). For both a state-of-the-art VAE on 64x64 ImageNet and Image Transformer on 256x256 CelebA-HQ, our approach achieves an optimal linear speedup from 1 to 256 TPUv2 chips. With NUTS, we see a 100x speedup on GPUs over Stan and 37x over PyMC3.
Code (1)
Tasks
GPUProbabilistic ProgrammingMethods 이 논문이 사용한 방법론
Similar Papers 제목 키워드 기반
Pyro: Deep Universal Probabilistic Programming
Pyro is a probabilistic programming language built on Python as a platform for developing advanced probabilistic models in AI research. To scale to large datasets and high-dimensional models, Pyro uses stochastic variati…
GPUProbabilistic ProgrammingVariational InferenceComposable Effects for Flexible and Accelerated Probabilistic Programming in NumPyro
NumPyro is a lightweight library that provides an alternate NumPy backend to the Pyro probabilistic programming language with the same modeling interface, language primitives and effect handling abstractions. Effect hand…
Probabilistic ProgrammingSpreadsheet Probabilistic Programming
Spreadsheet workbook contents are simple programs. Because of this, probabilistic programming techniques can be used to perform Bayesian inversion of spreadsheet computations. What is more, existing execution engines in …
Decision MakingDecision Making Under UncertaintyProbabilistic ProgrammingVariational InferenceA Low-Level Index for Distributed Logic Programming
A distributed logic programming language with support for meta-programming and stream processing offers a variety of interesting research problems, such as: How can a versatile and stable data structure for the indexing …
Accelerated first-order primal-dual proximal methods for linearly constrained composite convex programming
Motivated by big data applications, first-order methods have been extremely popular in recent years. However, naive gradient methods generally converge slowly. Hence, much efforts have been made to accelerate various fir…
DenoisingImage Denoising