How is Julia doing? I’m talking about the programming language, of course! What does the probabilistic programming landscape in Julia look like? What are Julia’s distinctive features, and when would it be interesting to use it?
To talk about that, I invited Chad Scherrer. Chad is a Senior Research Scientist at RelationalAI, a company that uses Artificial Intelligence technologies to solve business problems.
Coming from a mathematics background, Chad did his PhD at Indiana University of Bloomington and has been working in statistics and data science for a decade now. Through this experience, he’s been using and developing probabilistic programming languages – so he’s familiar with python, R, PyMC, Stan and all the blockbusters of the field.
But since 2018, he’s particularly interested in Julia and developed Soss, an open-source lightweight probabilistic programming package for Julia. In this episode, he’ll tell us why he decided to create this package, and which choices he made that made Soss what it is today. But we’ll also talk about other projects in Julia, like Turing or Gen for instance.
Our theme music is « Good Bayesian », by Baba Brinkman (feat MC Lars and Mega Ran). Check out his awesome work at https://bababrinkman.com/ !
Links from the show:
- Chad's Website: https://cscherrer.github.io/
- Chad on Twitter: https://twitter.com/ChadScherrer
- Soss Package: https://github.com/cscherrer/Soss.jl
- Soss Presentation at 2019 Strata NYC: https://slides.com/cscherrer/2019-09-26-strata#/
- Passage -- A Parallel Sampler Generator for Hierarchical Bayesian Modeling: https://bit.ly/2UTmaYB
- Dynamic HMC in Julia: https://github.com/tpapp/DynamicHMC.jl
- Advanced HMC in Julia: https://github.com/TuringLang/AdvancedHMC.jl
- Monte Carlo Measurements in Julia: https://github.com/baggepinnen/MonteCarloMeasurements.jl
- Turing.jl -- Bayesian inference with probabilistic programming: https://turing.ml/dev/
- Gen.jl -- Probabilistic modeling and inference in Julia: https://www.gen.dev/
- Etalumis -- Bringing Probabilistic Programming to Scientific Simulators at Scale: https://arxiv.org/abs/1907.03382
- Omega.jl -- A programming language for causal and probabilistic reasoning: http://www.zenna.org/Omega.jl/latest/
- JuliaLang -- The Ingredients for a Composable Programming Language: https://white.ucc.asn.au/2020/02/09/whycompositionaljulia.html
- Simpy -- Discrete event simulation for Python: https://simpy.readthedocs.io/en/latest/