BlackJAX is a library implementing sampling and variational inference algorithms commonly used in Bayesian computation. It is designed for ease of use, speed, and modularity by taking a functional approach to the algorithms' implementation. BlackJAX is written in Python, using JAX to compile and run NumpPy-like samplers and variational methods on CPUs, GPUs, and TPUs. The library integrates well with probabilistic programming languages by working directly with the (un-normalized) target log density function. BlackJAX is intended as a collection of low-level, composable implementations of basic statistical 'atoms' that can be combined to perform well-defined Bayesian inference, but also provides high-level routines for ease of use. It is designed for users who need cutting-edge methods, researchers who want to create complex sampling methods, and people who want to learn how these work.
翻译:BlackJAX是一个实现贝叶斯计算中常用采样与变分推断算法的库。它采用函数式方法实现算法,以易用性、计算效率和模块化为设计目标。BlackJAX使用Python编写,通过JAX编译并运行类似NumPy的采样器和变分方法于CPU、GPU及TPU上。该库通过直接操作(未归一化的)目标对数密度函数,与概率编程语言实现良好集成。BlackJAX旨在提供一系列底层、可组合的基本统计“原子”实现,这些原子可组合以执行定义明确的贝叶斯推断,同时提供高层级例程以简化使用。其目标用户包括需要前沿方法的研究人员、希望构建复杂采样方法的开发者,以及希望理解算法工作原理的学习者。