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 整合。
  • 研究就緒:公開底層建構模組,加速新推論方案的開發與測試。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案