Skip to main content

Gradient Boosting Reinforcement Learning (GBRL)

GBRL is a Python-based Gradient Boosting Trees (GBT) library, similar to popular packages such as XGBoost, CatBoost, but specifically designed and optimized for reinforcement learning (RL). GBRL is implemented in C++/CUDA aimed to seamlessly integrate within popular RL libraries.

License PyPI version

Overview

GBRL adapts the power of Gradient Boosting Trees to the unique challenges of RL environments, including non-stationarity and the absence of predefined targets. The following diagram illustrates how GBRL uses gradient boosting trees in RL:

GBRL Diagram

GBRL features a shared tree-based structure for policy and value functions, significantly reducing memory and computational overhead, enabling it to tackle complex, high-dimensional RL problems.

Key Features:

  • GBT Tailored for RL: GBRL adapts the power of Gradient Boosting Trees to the unique challenges of RL environments, including non-stationarity and the absence of predefined targets.
  • Optimized Actor-Critic Architecture: GBRL features a shared tree-based structure for policy and value functions. This significantly reduces memory and computational overhead, enabling it to tackle complex, high-dimensional RL problems.
  • Hardware Acceleration: GBRL leverages CUDA for hardware-accelerated computation, ensuring efficiency and speed.
  • Seamless Integration: GBRL is designed for easy integration with popular RL libraries. We implemented GBT-based actor-critic algorithm implementations (A2C, PPO, and AWR) in stable_baselines3 GBRL_SB3.

Performance

The following results, obtained using the GBRL_SB3 repository, demonstrate the performance of PPO with GBRL compared to neural-networks across various scenarios and environments:

PPO GBRL results in stable_baselines3

Getting started

Dependencies

  • Python 3.9 or higher

Installation

GBRL provides pre-compiled binaries for easy installation. Choose one of the following options:

CPU-only installation (default):
pip install gbrl

GPU-enabled installation (requires CUDA 12 runtime libraries):
pip install gbrl-gpu

For further installation details and dependencies see the documentation.

Usage Example

For a detailed usage example, see tutorial.ipynb

Current Supported Features

Tree Fitting

  • Greedy (Depth-wise) tree building - (CPU/GPU)
  • Oblivious (Symmetric) tree building - (CPU/GPU)
  • L2 split score - (CPU/GPU)
  • Cosine split score - (CPU/GPU)
  • Uniform based candidate generation - (CPU/GPU)
  • Quantile based candidate generation - (CPU/GPU)
  • Supervised learning fitting / Multi-iteration fitting - (CPU/GPU)
    • MultiRMSE loss (only)
  • Categorical inputs
  • Input feature weights - (CPU/GPU)
  • Monotonic constraints - (CPU/GPU, oblivious trees; the whole model must use SGD, Adam is not allowed on any output)

GBT Inference

  • SGD optimizer - (CPU/GPU)
  • ADAM optimizer - (CPU only)
  • Control Variates (gradient variance reduction technique) - (CPU only)
  • Shared Tree for policy and value function - (CPU/GPU)
  • Linear and constant learning rate scheduler - (CPU/GPU, linear scheduler GPU only for Oblivious trees)
  • Support for up to two different optimizers (e.g., policy/value) - (CPU/GPU if both are SGD)
  • SHAP value calculation (optimizer-aware; return_base=True gives values that reconstruct the prediction)

Documentation

For comprehensive documentation, visit the GBRL documentation.

Contributing

To contribute to GBRL, please review and sign the Contributor License Agreement (CLA) available at: https://github.com/NVlabs/gbrl/blob/master/CLA.md

Citation

@inproceedings{
fuhrer2025gradient,
title={Gradient Boosting Reinforcement Learning},
author={Benjamin Fuhrer and Chen Tessler and Gal Dalal},
booktitle={Forty-second International Conference on Machine Learning},
year={2025},
url={https://arxiv.org/abs/2407.08250}
}

Licenses

Copyright © 2024-2026, NVIDIA Corporation. All rights reserved.

This work is made available under the NVIDIA MIT License. Click here to view a copy of this license.

Metadata

Release files for gbrl-gpu 1.1.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gbrl-gpu 1.1.9
File Size Uploaded
gbrl_gpu-1.1.9.tar.gz 272.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for gbrl-gpu 1.1.9
File
gbrl_gpu-1.1.9-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
gbrl_gpu-1.1.9-cp312-cp312-manylinux_2_31_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.31+ x86-64 Details
gbrl_gpu-1.1.9-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
gbrl_gpu-1.1.9-cp311-cp311-manylinux_2_31_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.31+ x86-64 Details
gbrl_gpu-1.1.9-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
gbrl_gpu-1.1.9-cp310-cp310-manylinux_2_31_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.31+ x86-64 Details
gbrl_gpu-1.1.9-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
gbrl_gpu-1.1.9-cp39-cp39-manylinux_2_31_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.31+ x86-64 Details

Total release size: 20.1 MB

Release files / gbrl_gpu-1.1.9.tar.gz

Download URL gbrl_gpu-1.1.9.tar.gz
Size 272.9 kB
Tags Source
SHA-256 checksum
How to use checksums
7e6875af4b8e7489e4c9e3ef5c8ff80a67f3f6685860d88614a539303e94cb3e
BLAKE2b-256 checksum
How to use checksums
6ce9679162a7daa9b58740d3328db8985acd45904468df77d6a668390e6bb80b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.15

Release files / gbrl_gpu-1.1.9-cp312-cp312-win_amd64.whl

Download URL gbrl_gpu-1.1.9-cp312-cp312-win_amd64.whl
Size 2.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
0751f1e7c5ae492e5893ff471916cfa0b32a3aa0b6d0ce9e1045e2fa4bbd6c0e
BLAKE2b-256 checksum
How to use checksums
5ae5d8ec316f64c02aa0fbcdf3f6c195ce5ae04686296589506c657a583c95fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.13

Release files / gbrl_gpu-1.1.9-cp312-cp312-manylinux_2_31_x86_64.whl

Download URL gbrl_gpu-1.1.9-cp312-cp312-manylinux_2_31_x86_64.whl
Size 2.6 MB
Tags CPython 3.12 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
9929046ff9a484b102e70dc79f95cb8783f6756bbfdbd1d022f04bf4dc467b5a
BLAKE2b-256 checksum
How to use checksums
772c3e9ada50e250d333cec1efcd8497ae35b2e17ef2b29a155a223f62f090d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.13

Release files / gbrl_gpu-1.1.9-cp311-cp311-win_amd64.whl

Download URL gbrl_gpu-1.1.9-cp311-cp311-win_amd64.whl
Size 2.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
e64be236e4f83d9eb0d8f7f1d76c4c5d6ac1befa6af7b6d32e8726c46d50fe7c
BLAKE2b-256 checksum
How to use checksums
4a7be310090da47fc01b97d9e777b395a161b6c8bf5a60b4f69470ad16d397e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.13

Release files / gbrl_gpu-1.1.9-cp311-cp311-manylinux_2_31_x86_64.whl

Download URL gbrl_gpu-1.1.9-cp311-cp311-manylinux_2_31_x86_64.whl
Size 2.6 MB
Tags CPython 3.11 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
213f285946b43aa3acad7efc1d79e749aad49a902828a6c22e981557f4a29c2e
BLAKE2b-256 checksum
How to use checksums
971c88b112c8979192918b4e6d278577644473bc6ea88b3d1137fbeb81c29d73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.13

Release files / gbrl_gpu-1.1.9-cp310-cp310-win_amd64.whl

Download URL gbrl_gpu-1.1.9-cp310-cp310-win_amd64.whl
Size 2.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
21c11c5a3f2aefaafaf0c0bb291718097e3c573d87d01c403a0e784b33e13604
BLAKE2b-256 checksum
How to use checksums
4d7e04efdb1dfbd50faea1760a8c05f39089b7b40b573923e9a5e6d3e398e3e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.13

Release files / gbrl_gpu-1.1.9-cp310-cp310-manylinux_2_31_x86_64.whl

Download URL gbrl_gpu-1.1.9-cp310-cp310-manylinux_2_31_x86_64.whl
Size 2.6 MB
Tags CPython 3.10 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
6f80a94a8b5e41ae76265d17896ad53d6fd21e9fe0e882a0d6c74329dfcc4950
BLAKE2b-256 checksum
How to use checksums
8774a795dd7f68865fb90b9ec838705e6f463d6d4a6e1009678a0eb758e888a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.13

Release files / gbrl_gpu-1.1.9-cp39-cp39-win_amd64.whl

Download URL gbrl_gpu-1.1.9-cp39-cp39-win_amd64.whl
Size 2.3 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
f197fc2bbe393a8501d5beb8e4796c37af8c068f515383df286fad2f46aee29c
BLAKE2b-256 checksum
How to use checksums
810fceb6d3d406beb0d4388bc4754355d1879246487abdcc1f6e34e7c5efb573
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.13

Release files / gbrl_gpu-1.1.9-cp39-cp39-manylinux_2_31_x86_64.whl

Download URL gbrl_gpu-1.1.9-cp39-cp39-manylinux_2_31_x86_64.whl
Size 2.6 MB
Tags CPython 3.9 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
0541d8bd7152aefb51668c6cc9c709389633015555cacd330535b5def1d25a4f
BLAKE2b-256 checksum
How to use checksums
65b3ddcfb96778ad490e9aca0dc4b39420b658c691f4d421990ba4d64cb1fc45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.13

Release history Release notifications | RSS feed

This release

1.1.9 This release

9 release files

1.1.8

9 release files

1.1.7

9 release files

1.1.6

9 release files

1.1.5

9 release files

1.1.4

9 release files

1.1.3

9 release files

1.1.1

9 release files

1.1.0

9 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page