Turing.jl: a general-purpose probabilistic programming language
Author(s)
Fjelde, Tor Erlend; Xu, Kai; Widmann, David; Tarek, Mohamed; Pfiffer, Cameron; Trapp, Martin; Axen, Seth; Sun, Xianda; Hauru, Markus; Yong, Penelope; Tebbutt, Will; Ghahramani, Zoubin; Ge, Hong; ... Show more Show less
Download3711897.pdf (3.891Mb)
Publisher Policy
Publisher Policy
Article is made available in accordance with the publisher's policy and may be subject to US copyright law. Please refer to the publisher's site for terms of use.
Terms of use
Metadata
Show full item recordAbstract
Probabilistic programming languages (PPLs) are becoming increasingly important in many scientific disciplines, such as economics, epidemiology, and biology, to extract meaning from sources of data while accounting for one's uncertainty. The key idea of probabilistic programming is to decouple inference and model specification, thus allowing the practitioner to approach their task at hand using Bayesian inference, without requiring extensive knowledge in programming or computational statistics. At the same time, the complexity of problem settings in which PPLs are employed steadily increasing, both in terms of project size and model complexity, calling for more flexible and efficient systems. In this work, we describe Turing.jl, a general-purpose PPL, which is designed to be flexible, efficient, and easy to use. Turing.jl is built on top of the Julia programming language, which is known for its high performance and ease-of-use. We describe the design of Turing.jl, contextualizing it within different types of users and use cases, its key features, and how it can be used to solve a wide range of problems. We also provide a brief overview of the ecosystem around Turing.jl, including the different libraries and tools that can be used in conjunction with it. Finally, we provide a few examples of how Turing.jl can be used in practice.
Department
MIT-IBM Watson AI LabJournal
ACM Transactions on Probabilistic Machine Learning
Publisher
ACM
Citation
Fjelde, Tor Erlend, Xu, Kai, Widmann, David, Tarek, Mohamed, Pfiffer, Cameron et al. "Turing.jl: a general-purpose probabilistic programming language." ACM Transactions on Probabilistic Machine Learning.
Version: Final published version
ISSN
2836-8924