stripe/rainier

Bayesian inference in Scala.

何を解決するか

Rainier は、マルコフ連鎖モンテカルロ(MCMC)を用いたベイズ推論のための高性能な Scala API を提供します。ユーザーは連続パラメータを持つ生成モデルを構築し、観測データから事後分布を推論できるようになります。その結果得られた事後分布は、予測や意思決定に活用できます。

動作方法

Rainier は自動微分と高速な CPU 実行を備えた静的 TensorFlow 風の計算グラフを使用しています。純粋な Scala で実装されており、数値計算用に最適化された非ボクシング、JIT 友好的な JVM バイトコードを生成します。推論は、Stan や PyMC3 などのツールと同様のハミルトニアン・モンテカルロ(HMC)サンプラーのバリエーションを使用して行われます。

対象ユーザー

Spark や Hadoop クラスタなど JVM エコシステム内で作業している開発者やデータサイエンティストで、データが単一のマシンの RAM に収まるモデルに対して高性能なベイズ推論ライブラリが必要な方。

特徴

  • 最適化された JVM バイトコードによる高性能 CPU 実行。
  • 外部依存が少なく、JNI ライブラリを一切使用しない純粋な Scala 実装。
  • 自動微分を備えた静的計算グラフ。
  • 実行速度向上のための積極的な事前計算。
  • Spark や Hadoop クラスタへの簡単なデプロイ。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト