OpenBox: 通用且高效的黑箱优化系统

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

OpenBox的设计遵循提供“BBO即服务”的理念——我们选择将OpenBox实现为一个分布式、容错、可扩展且高效的服务,具有广泛的应用范围、跨问题的稳定性能以及易用性、可移植性和零维护等优势。

有两种方式可以使用OpenBox独立的Python包在线BBO服务

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


新闻

  • OpenBox 基于的解决方案在 ACM CIKM 2021 AnalyticCup (赛道 - 推荐系统的自动超参数优化)中获得了第一名

  • OpenBox 团队在 2021 CCF ChinaSoft 会议的开源创新竞赛中获得了 最高奖(特别奖)

  • Pasca,采用Openbox支持神经架构搜索功能,赢得了WWW’22最佳学生论文奖


谁应该考虑使用OpenBox

  • 那些希望为他们的机器学习任务自动调整超参数的人。

  • 那些希望为他们的配置搜索任务(例如,数据库旋钮调优)找到最佳配置的人。

  • 数据平台所有者希望在其平台上提供BBO服务

  • 研究人员和数据科学家希望轻松解决广义BBO问题


OpenBox 功能

OpenBox 拥有广泛的功能范围,包括:

  1. 具有多目标和约束的BBO。

  2. 使用迁移学习的BBO。

  3. BBO 分布式并行化。

  4. 多保真度加速的BBO。

  5. 带早停的BBO。

在下面,我们提供了现有BBO系统的分类:

系统/包

FIOC

多目标

约束

历史

分布式

Hyperopt

×

×

×

Spearmint

×

×

×

×

SMAC3

×

×

×

BoTorch

×

×

×

Ax

×

Optuna

×

GPflowOPT

×

×

×

Vizier

×

HyperMapper

×

×

HpBandSter

×

×

×

OpenBox

  • FIOC: 支持不同的输入变量类型,包括浮点数、整数、序数和分类变量。

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

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

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

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

  • △ 表示系统在一般情况下无法支持它或需要额外的依赖项。