Tuning Hyperparameters without Grad Students: Scalable and Robust Bayesian Optimisation with Dragonfly
This work addresses scalability and robustness issues in Bayesian Optimization for real-world applications like hyperparameter tuning, making it more accessible and effective for practitioners, though it is incremental as it builds on existing methods.
The authors tackled the challenge of applying Bayesian Optimization (BO) to modern, complex optimization tasks by developing Dragonfly, an open-source Python library that integrates multiple recent methods and new improvements, demonstrating significant performance enhancements compared to other global optimization packages.
Bayesian Optimisation (BO) refers to a suite of techniques for global optimisation of expensive black box functions, which use introspective Bayesian models of the function to efficiently search for the optimum. While BO has been applied successfully in many applications, modern optimisation tasks usher in new challenges where conventional methods fail spectacularly. In this work, we present Dragonfly, an open source Python library for scalable and robust BO. Dragonfly incorporates multiple recently developed methods that allow BO to be applied in challenging real world settings; these include better methods for handling higher dimensional domains, methods for handling multi-fidelity evaluations when cheap approximations of an expensive function are available, methods for optimising over structured combinatorial spaces, such as the space of neural network architectures, and methods for handling parallel evaluations. Additionally, we develop new methodological improvements in BO for selecting the Bayesian model, selecting the acquisition function, and optimising over complex domains with different variable types and additional constraints. We compare Dragonfly to a suite of other packages and algorithms for global optimisation and demonstrate that when the above methods are integrated, they enable significant improvements in the performance of BO. The Dragonfly library is available at dragonfly.github.io.