kiudee/bayes-skopt

Support proposal of several points in parallel

Opened this issue · 0 comments

Rationale

The library currently supports only sequential evaluation of 1 point. When doing parallel hyperparameter optimization on a cluster, it would be beneficial to be able to propose several points.

Depending on the acquisition function used, it is clear/unclear on how to propose several points. For acquisition functions like expected improvement (EI) there exist variants which propose several points at once (Ginsbourger et al. 2007), but are difficult to compute. The "kriging believer" and "constant liar" heuristics are strategies, which can be applied to all acquisition functions, but also require sequential computation of a number of points.
Thompson sampling can be trivially parallelized and is a good first candidate.

Tasks

  • Set up the interfaces and the library to support multiple points (including caching and on-demand computation).
  • Implement parallel computation for Thompson sampling.
  • Implement constant liar/kriging believer.