perpetual-ml/perpetual

Perpetual is a high-performance gradient boosting machine. It delivers optimal accuracy in a single run without complex tuning through a simple budget parameter. It features out-of-the-box support for causal ML, continual learning, native calibration, and robust drift monitoring, along with Rust core and zero-copy bindings for Python and R

What it solves

PerpetualBooster is a gradient boosting machine (GBM) designed to eliminate the need for time-consuming hyperparameter optimization. It replaces complex tuning with a single budget parameter that controls the predictive power and generalization of the model, allowing users to achieve optimal accuracy in a single run.

How it works

Built with a high-performance Rust core, the library provides bindings for Python, R, and Rust. It utilizes a generalization algorithm to prevent overfitting and allows users to scale predictive power by increasing the budget parameter. It supports zero-copy data handling for Polars/Arrow and can export models to XGBoost or ONNX formats for production deployment.

Who it’s for

Data scientists and ML engineers who want the performance of gradient boosting without the manual effort of hyperparameter tuning, as well as those requiring high-performance training and inference in production environments.

Highlights

  • Hyperparameter-Free: Uses a budget parameter instead of traditional tuning.
  • Multi-Task Support: Handles classification (binary and multi-class), regression, and ranking.
  • Causal ML & Drift Monitoring: Built-in support for estimating treatment effects and monitoring data/concept drift.
  • Continual Learning: Reduces computational complexity from O(n²) to O(n).
  • Interoperable: Native export to XGBoost and ONNX formats.
  • Explainability: Includes built-in SHAP values, partial dependence plots, and feature importance.

Related

  • Project
  • Project
  • Project
  • Project