Eine Implementierung von Bayesian Additive Regression Trees (BART) in JAX.
Wenn Sie nicht wissen, was BART ist, aber XGBoost kennen, betrachten Sie BART als eine Art Bayes'schen XGBoost. bartz lässt BART genauso schnell laufen wie XGBoost.
BART ist eine nichtparametrische Bayes'sche Regressionstechnik. Gegebene Trainingsprädiktoren
Dieses Python-Modul bietet eine Implementierung von BART, die auf der GPU läuft, um große Datensätze schneller zu verarbeiten. Es ist auch gut für die CPU. Die meisten anderen Implementierungen von BART sind für R und laufen nur auf der CPU.
Auf der CPU läuft bartz mit der Geschwindigkeit von dbarts (der schnellsten Implementierung, die ich kenne), wenn n > 20.000, verbraucht aber 1/20 des Speichers. Auf der GPU hängt der Geschwindigkeitszuschlag von der Stichprobengröße ab; Es ist gegenüber der CPU nur für n > 10.000 praktisch. Die maximale Beschleunigung beträgt derzeit 200x, auf einer Nvidia A100 und mit mindestens 2.000.000 Beobachtungen.
Dieses Colab-Notizbuch führt Bartz mit n = 100.000 Beobachtungen, p = 1.000 Prädiktoren, 10.000 Bäumen für 1.000 MCMC-Iterationen in 5 Minuten aus.
Artikel: Petrillo (2024), „Very fast Bayesian Additive Regression Trees on GPU“, arXiv:2410.23244.
Um die Software direkt inklusive der konkreten Version zu zitieren, nutzen Sie zenodo.