Graph
BoTorch

🎯BoTorch

NEW

A PyTorch-based library for Bayesian optimization research and applications.

DESCRIPTION

BoTorch is a research-friendly Bayesian optimization library built on PyTorch and tightly integrated with GPyTorch for scalable Gaussian process modeling. It provides modular components for surrogates, acquisition functions, and optimization routines, enabling fast prototyping of new BO algorithms. BoTorch supports batch and multi-objective optimization, constraints, and a variety of acquisition functions. It is commonly used for hyperparameter tuning, experimental design, and optimizing costly black-box functions. Integration with the Ax service facilitates end-to-end experimentation workflows in production and at scale.

ALTERNATIVE DEFINITIONS

BoTorch

BoTorch is a library for Bayesian optimization built on PyTorch.

Highlights PyTorch foundation and purpose-built focus on Bayesian optimization.

Source

PyTorch

BoTorch provides a flexible, modular, and research-friendly platform for Bayesian optimization in PyTorch.

Emphasizes modularity and research orientation within the PyTorch ecosystem.

Source

Bayesian Optimization Ax GPyTorch Gaussian Processes Acquisition Function Hyperparameter Tuning Expected Improvement Thompson Sampling Surrogate Model Model-Based Optimization

COMPETING TERMS

Optuna Ray Tune SMAC

RELATIONS

KNOWLEDGE AREAS

AI Data Science MLOps Mathematics Platform & Tooling

TARGET AUDIENCE

Data Scientist AI Engineer MLOps Engineer Software Developer

EXTERNAL SOURCES

  • Wikipedia - Bayesian optimization
  • BoTorch - Official BoTorch overview and docs
  • BoTorch - Source code and releases
  • Ax - Ax service integrated with BoTorch
  • GPyTorch - GPyTorch library for GP models

TOP QUESTIONS

What is BoTorch used for?

BoTorch is used to perform Bayesian optimization on expensive black-box functions, commonly for hyperparameter tuning and experimental design. It provides modular surrogates and acquisition functions.

Category: Overview

How does BoTorch compare to Optuna?

BoTorch emphasizes model-based Bayesian optimization with Gaussian processes and advanced acquisition strategies, whereas Optuna focuses on flexible, algorithm-agnostic hyperparameter search including TPE and samplers.

Category: Comparison

Why choose BoTorch for Bayesian optimization?

BoTorch offers research-grade modularity, tight PyTorch integration, and strong GP modeling via GPyTorch. It supports batching, constraints, and multi-objective optimization for sophisticated experiments.

Category: Benefits

How does BoTorch integrate with Ax?

Ax handles experiment management and orchestration, while BoTorch provides core modeling and optimization. Together they deliver an end-to-end optimization workflow from design to evaluation.

Category: Integration

What surrogate models does BoTorch support?

BoTorch primarily supports Gaussian process surrogates via GPyTorch and also enables custom models. It accommodates single-task, multi-task, and multi-output settings.

Category: Capabilities

Can BoTorch handle constraints and multi-objective tasks?

Yes, BoTorch includes constrained optimization and multi-objective acquisition functions such as Expected Hypervolume Improvement, enabling Pareto frontier discovery.

Category: Capabilities

What are common mistakes when using BoTorch?

A frequent mistake is inadequate input normalization or ignoring outcome standardization, which can destabilize GP inference. Another is poor initial design leading to weak surrogate fit.

Category: Mistakes

How does BoTorch scale to larger problems?

It leverages batched acquisition optimization, approximate GP methods, and PyTorch parallelism. For very large-scale tuning, consider trust-region approaches or sparse GP approximations.

Category: Scalability

What is a good starting point to learn BoTorch?

Begin with the official BoTorch tutorials and the Ax + BoTorch blog post. Reproduce basic BO loops before customizing surrogates or acquisition functions.

Category: Getting Started