stripe/rainier
Bayesian inference in Scala.
解决的问题
Rainier 提供了一个基于马尔可夫链蒙特卡洛(MCMC)的高性能 Scala API,用于贝叶斯推断。它允许用户构建具有连续参数的生成模型,从观测数据中推断后验分布,进而用于预测和决策。
工作原理
Rainier 使用静态的、类似 TensorFlow 的计算图,结合自动微分和快速的 CPU 执行。它完全用纯 Scala 实现,为数值计算生成优化的、非包装的、JIT 友好的 JVM 字节码。推断通过类似 Stan 和 PyMC3 的哈密顿蒙特卡洛(HMC)采样器的变体实现。
适用人群
在 JVM 生态系统(如使用 Spark 或 Hadoop 集群)中工作的开发人员和数据科学家,需要一个高性能的贝叶斯推断库,适用于数据可放入单台机器内存的模型。
主要亮点
- 通过优化的 JVM 字节码实现高性能 CPU 执行。
- 纯 Scala 实现,外部依赖极少,无 JNI 库。
- 带自动微分的静态计算图。
- 积极预计算数据以加速执行。
- 可轻松部署到 Spark 或 Hadoop 集群。
相关
- 项目
- 项目
- 项目
- 项目