Star
Follow @sgbaird
Watch
Issue
Discuss
Honegumi (“ho-nay-goo-mee”), which means “skeletal framework” in Japanese, is a package for interactively creating minimal working examples for advanced Bayesian optimization topics.
Tip
If you’re new to Bayesian optimization, watch A Gentle Introduction to Bayesian Optimization
Real-world chemistry and materials science optimization tasks are complex! Here are some example features of these kinds of tasks:
Topic |
Description |
---|---|
Noise |
Repeat measurements are stochastic |
Multi-fidelity |
Some measurements are higher quality but much more costly |
Multi-objective |
Almost always, tasks have multiple properties that are important |
High-dimensional |
Like finding the proverbial “needle-in-a-haystack”, the search spaces are enormous |
Constraints |
Not all combinations of parameters are valid (i.e., constraints) |
Mixed-variable |
Often there is a mixture of numerical and categorical variables |
However, applications of state-of-the-art algorithms to these materials science tasks have been limited. Advanced implementations are still challenging, even for veteran materials informatics practitioners. In addition to combining multiple algorithms, there are other logistical issues, such as using existing data, embedding physical descriptors, and modifying search spaces. To address these challenges, we present Honegumi, an interactive script generator for materials-relevant Bayesian optimization using the Ax Platform.
Note
Honegumi (骨組み), a Japanese word meaning skeletal framework, is technically pronounced “ho-nay-goo-mee”, but you can also refer to this tool as “honey gummy” to make it easy to remember 😉
Similar to PyTorch’s installation docs, users interactively toggle the options to generate the desired code output. These scripts are unit-tested, and invalid configurations are crossed out. This means you can expect the scripts to run without throwing errors. Honegumi is not a wrapper for optimization packages; instead, think of it as an interactive tutorial generator. Honegumi is the first Bayesian optimization template generator of its kind, and we envision that this tool will reduce the barrier to entry for applying advanced Bayesian optimization to real-world materials science tasks. It also pairs well with LLMs!
Interact with Honegumi using the grid below. Select one option per row and watch the template dynamically appear. Click the corresponding badge to open a self-contained Google Colab notebook for the selected script. Click the corresponding badge to view the script source code directly. For example, if you want a script that optimizes multiple objectives simultaneously (multi-objective) as a function of many parameters (high-dimensional), you would select multi
from the objective
option row and FULLYBAYESIAN
from the model
row. Hover your mouse over the 🛈 icon to the right of each row to learn more about each option.
Note
If you like this tool, please consider starring it on GitHub. If you’re interested in contributing, reach out to sterling.baird@utoronto.ca 😊
A Perfect Pairing with LLMs
Tip
Use Honegumi with ChatGPT to create non-halucinatory, custom Bayesian optimization scripts. See below for more info.
LLMs are good at recognizing patterns but really bad at suggesting Bayesian optimization scripts from scratch. Since Honegumi is really good at programatically giving valid Bayes opt scripts, you can use Honegumi to get a template and then ask an LLM to adapt it to your use case. The two-minute video below shows how a Honegumi template can be adapted using an LLM (in our case, ChatGPT Plus) to a cookie taste optimization as a function of flour, sugar, and butter content.