← all repositories
perpetual-ml/perpetual

A GBM that replaces hyperparameter tuning with one dial

Perpetual is a Rust gradient booster that claims to match Optuna-tuned LightGBM in a single run, controlled by a single `budget` parameter.

★708 stars Rust ML Frameworks
perpetual
Collecting fresh signals — velocity needs a few days of history.
collecting data…
star history

What it does

PerpetualBooster is a gradient boosting machine where you don’t tune learning rates, tree depths, or iteration counts. You set one budget value — start around 0.5, raise it if your features deserve it — and the model’s accuracy scales accordingly. It handles binary and multi-class classification, regression, and ranking, with native handling of categoricals, missing values, and monotonic constraints.

The interesting bit

The pitch is that hyperparameter search is the actual bottleneck in GBM workflows: 100 Optuna iterations versus one training run. Their benchmark tables show matching MSE/AUC against tuned LightGBM with claimed wall-clock speedups from 72x to 405x on California Housing. It also folds in things GBMs usually outsource: causal treatment-effect estimation, drift monitoring without ground-truth labels, continual learning, and calibrated predictions without retraining.

Key highlights

  • Rust core with zero-copy Polars/Arrow support and Python, R, and Rust bindings
  • Export to XGBoost or ONNX formats, plus a scikit-learn-compatible wrapper
  • Built-in SHAP values, feature importance, and partial dependence plots
  • Drift monitoring for both data and concept drift, no labels or retraining required
  • Continual learning claimed to cut computational cost from O(n²) to O(n)

Caveats

  • The headline speedups are self-reported benchmarks on a handful of datasets; the AutoGluon comparison shows AutoGluon winning on some tasks (e.g., Airlines_DepDelay_10M, satellite_image)
  • “Hyperparameter-free” is really “one hyperparameter” — budget still needs judgment
  • The README doesn’t explain how the budget mechanism actually works internally

Verdict

Worth a look if you spend more time tuning LightGBM than training it, or need drift monitoring and calibration baked in. If you already have a tuned pipeline and none of the extras appeal, it’s a harder sell — the accuracy is at parity, not ahead.

Frequently asked

What is perpetual-ml/perpetual?
Perpetual is a Rust gradient booster that claims to match Optuna-tuned LightGBM in a single run, controlled by a single `budget` parameter.
Is perpetual open source?
Yes — perpetual-ml/perpetual is open source, released under the Apache-2.0 license.
What language is perpetual written in?
perpetual-ml/perpetual is primarily written in Rust.
How popular is perpetual?
perpetual-ml/perpetual has 708 stars on GitHub.
Where can I find perpetual?
perpetual-ml/perpetual is on GitHub at https://github.com/perpetual-ml/perpetual.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.