blackjax-devs/blackjax

BlackJAX is a Bayesian Inference library designed for ease of use, speed and modularity.

何を解決するか

BlackJAX は、確率プログラミング言語(PPL)から分離された、ベイズ推論用のモジュール式サンプラーのライブラリを提供します。サンプリングアルゴリズムが単一のフレームワークに縛られすぎたり、モノリシックになりすぎることを解決し、ユーザーがフルなPPLを必要とせずにCPU、GPU、TPU上でサンプリングを実行できるようにします。

動作方法

このライブラリは、状態に依存しない関数が現在の状態を受け取り、新しい状態と遷移に関する情報を返すという一般的な遷移カーネルパターンに基づいています。この一貫したAPIにより、積分器、提案関数、運動量生成器といった基本的なブロックから、複雑なサンプリングアルゴリズムを簡単に組み合わせたり、交換したり、構築したりできます。

対象ユーザー

  • 新しいサンプリングアルゴリズムを開発する研究者や開発者。
  • 安定性とパフォーマンスの高いサンプラー実装が必要なPPL開発者。
  • 対数確率密度関数(logpdf)を持っているが、単にサンプルを生成するためのサンプラーが必要なユーザー。
  • GPU/TPUによるハードウェアアクセラレーションを活用したいユーザー。

特徴

  • ハードウェアアクセラレーション:JAXを介してCPU、GPU、TPUで動作可能。
  • 組み合わせ可能な設計:遷移カーネルのモジュール式アーキテクチャにより、カスタマイズが容易で、新しいアルゴリズムの作成が可能。
  • PPL非依存:JAX互換の対数確率密度関数を提供できる任意のPPLと統合可能。
  • 研究用に最適:低レベルの構成要素を公開しており、新しい推論スキームの開発と検証を加速できます。

関連

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