huawei-noah/HEBO
Bayesian optimisation & Reinforcement Learning library developed by Huawei Noah's Ark Lab
What is HEBO?
HEBO is a collection of research‑grade code from Huawei’s Noah’s Ark Lab covering several frontier AI topics, most notably Bayesian Optimization (BO) and Reinforcement Learning (RL). The repository is organized as a hub that points to individual sub‑projects, each implementing a paper that was accepted at top conferences (NeurIPS, ICML, ICLR, etc.). The flagship component is the HEBO library – a heteroscedastic evolutionary Bayesian optimiser that won the NeurIPS 2020 Black‑Box Optimisation Challenge.
Key sub‑projects (with a one‑sentence purpose)
| Sub‑folder | Goal |
|---|---|
| HEBO | General‑purpose BO with heteroscedastic modelling; strong performance on black‑box optimisation benchmarks. |
| MCBO | A modular framework for combinatorial and mixed‑variable BO, plus a large benchmark suite. |
| NAP | End‑to‑end meta‑BO that learns both surrogate and acquisition via transformer‑based neural processes. |
| RDUCB | High‑dimensional BO using random tree‑based decompositions (plug‑and‑play with HEBO). |
| AntBO | Combinatorial BO for in‑silico antibody CDRH3 design. |
| BOiLS | BO applied to logic synthesis for electronic‑design automation. |
| T‑LBO | BO in a VAE‑learned latent space shaped by deep metric learning. |
| CompBO | Re‑formulates acquisition‑function maximisation as a compositional optimisation problem. |
| AIRBO | Robust BO that explicitly handles arbitrary input uncertainty via MMD‑augmented GPs. |
| RLLG | Enhances RL agents with local guide policies using a noisy policy‑switching scheme. |
| SIMMER (Saute RL & Simmer RL) | Safe RL via safety‑state augmentation, enabling almost‑sure constraint satisfaction. |
| PMDB | Model‑based offline RL with a pessimism‑modulated dynamics belief. |
| ROS‑LLM | ROS (Robot Operating System) integration for embodied AI that combines LLM reasoning with task feedback. |
| EM‑LLM | Episodic‑memory augmentation for LLMs to achieve “infinite‑context” behaviour. |
| Mixture of Attentions & Scalable Power Sampling | Exploratory generative‑model ideas for speculative decoding and training‑free reasoning. |
Who might use this?
- Researchers building on state‑of‑the‑art BO or RL methods; the code is directly tied to recent conference papers and includes benchmark scripts.
- Practitioners needing a high‑performance BO engine for hyper‑parameter tuning, hardware design, or drug/antibody discovery.
- Safety‑critical RL developers looking for plug‑and‑play safety augmentations (Saute/Simmer).
- Robotics engineers who want to experiment with LLM‑driven reasoning inside ROS.
How mature is it?
- All sub‑projects are research code: they compile and run, but may lack extensive documentation, extensive testing, or production‑grade APIs.
- The core HEBO library is stable enough to have won a competition and is used as a baseline in many follow‑up papers.
- Each sub‑folder includes its own README, paper link, and often a
requirements.txtorsetup.pyfor reproducibility.
License & Availability
- The top‑level repository is released under the MIT license (as stated for the MCBO component, and the same license applies to the rest of the code). This permits free use, modification, and commercial redistribution.
- The code lives on GitHub under the
huawei-noah/HEBOorganization, making it easy to fork or submit pull requests.
Quick start (example for the HEBO optimiser)
# clone the repo
git clone https://github.com/huawei-noah/HEBO.git
cd HEBO/HEBO
# install dependencies (example)
pip install -r requirements.txt
# run a simple benchmark (provided script)
python examples/benchmark.py
Bottom line: HEBO is a genuine, research‑focused open‑source suite that provides cutting‑edge implementations of Bayesian optimisation, reinforcement‑learning safety techniques, and a few emerging LLM‑related tools. It is most useful for AI/ML researchers and advanced engineers who need to experiment with the latest optimisation algorithms rather than for casual hobbyists.
Related
- Project
- Project
- Project
- Project