JAX におけるベイジアン加法回帰ツリー (BART) の実装。
BART とは何かは分からないが、XGBoost については知っている場合は、BART をベイジアン XGBoost の一種と考えてください。 bartz により、BART が XGBoost と同じ速度で実行されます。
BART は、ノンパラメトリック ベイズ回帰手法です。与えられたトレーニング予測変数
この Python モジュールは、大規模なデータセットをより高速に処理するために、GPU 上で実行される BART の実装を提供します。 CPUにも優れています。 BART の他のほとんどの実装は R 用であり、CPU 上でのみ実行されます。
CPU 上では、n > 20,000 の場合、bartz は dbarts (私が知る限り最速の実装) の速度で実行されますが、メモリの 1/20 を使用します。 GPU では、速度のプレミアムはサンプル サイズによって異なります。 n > 10,000 の場合にのみ CPU を使用する場合に便利です。現在、Nvidia A100 上で少なくとも 2,000,000 件の観測がある場合、最大速度向上は 200 倍です。
この Colab ノートブックは、n = 100,000 の観測値、p = 1000 の予測子、10,000 のツリーを含む bartz を 1000 MCMC 反復で 5 分で実行します。
記事: Petrillo (2024)、「GPU 上の非常に高速なベイジアン加法回帰ツリー」、arXiv:2410.23244。
特定のバージョンを含めてソフトウェアを直接引用するには、zenodo を使用します。