OpenBox: 高效通用的黑盒优化系统#

OpenBox 是一个高效的开源系统,旨在解决泛化的黑盒优化(BBO)问题, 例如 自动化超参数调优 、自动化A/B测试、 实验设计、数据库参数调优、处理器体系结构和电路设计、资源分配、自动化学设计等。

OnenBox 的设计理念是将BBO作为一种服务提供给用户。 我们的目标是将 OpenBox 实现为一个分布式的、有容错、可扩展的、高效的服务。 它能够对各种应用场景提供广泛的支持,并保证稳定的性能。 OpenBox 简单易上手、方便移植和维护。

您可以使用以下两种方法使用 OpenBox单独的Python包在线BBO服务

OpenBox GitHub: https://github.com/PKU-DAIR/open-box


News#

  • OpenBox based solutions achieved the First Place of ACM CIKM 2021 AnalyticCup (Track - Automated Hyperparameter Optimization of Recommendation System).

  • OpenBox team won the Top Prize (special prize) in the open-source innovation competition at 2021 CCF ChinaSoft conference.

  • Pasca, which adopts Openbox to support neural architecture search functionality, won the Best Student Paper Award at WWW’22.


OpenBox 针对的用户群体#

  • 想要为ML任务自动执行 超参数调优 的用户。

  • 想要为配置搜索任务找到 最佳配置 的用户(例如,数据库参数调优)。

  • 想要为数据平台提供 BBO服务 的用户。

  • 想要方便地解决 通用BBO问题 的研究员和数据科学家。


OpenBox 的功能特性#

OpenBox 有很多强大的功能和特性,包括:

1、 提供多目标和带约束条件的 BBO 服务支持。

2、 提供带迁移学习的 BBO 服务。

3、 提供分布式并行的 BBO 服务。

4、 提供多精度加速的 BBO 服务。

5、 提供带提前终止的 BBO 服务。

下表给出了现有BBO系统的分类:

  • FIOC: 支持不同的输入变量类型,包括 Float, Integer, Ordinal 和 Categorical。

  • 多目标: 支持多目标优化。

  • 约束条件: 支持不等式约束条件。

  • 历史: 支持将以前任务的先验知识融入到当前搜索中(即迁移学习)。

  • 分布式: 支持在分布式环境中并行评估。

  • △ 表示系统在通用场景下不支持或需要安装额外的依赖。