7 Maximizing throughput with batch optimization
This chapter covers
- Making function evaluations in batches
- Extending Bayesian optimization to the batch setting
- Optimizing hard-to-compute acquisition scores
The Bayesian optimization (BayesOpt) loop we have been working with thus far takes in one query at a time, and returns the function evaluation for the query before the next query is made. We use this loop in settings where function evaluations can only be made sequentially. However, many real-world scenarios of black-box optimization allow the user to evaluate the objective functions in batches. For example, when tuning the hyperparameters of a machine learning model, we can try out different hyperparameter combinations in parallel if we have access to multiple processing units or computers, instead of running individual combinations one by one. By taking advantage of all the resources available to us, we can increase the number of experiments we conduct and maximize throughput during the function evaluation step of the BayesOpt loop.