北大 DAIR 實驗室AutoML團隊開源高效的通用黑盒優化系統OpenBox (KDD2021)

  • 2021 年 8 月 5 日
  • AI
AI 科技評論報道
編輯 | 陳大鑫

近日,由北京大學崔斌教授數據與智慧實驗室( Data and Intelligence Research LAB, DAIR)開發的通用黑盒優化系統 OpenBox 開源發布!

相比於SMAC3,Hyperopt等現有開源系統,OpenBox支援更通用的黑盒優化場景,包括多目標優化,帶約束優化場景等。在25個LightGBM調參任務上,OpenBox在7個對比系統中取得了平均1.25名(average rank)的優異成績。

相關論文已經被KDD  2021錄用,“OpenBox: A Generalized Black-box Optimization Service”。

1

研究背景

近年來,人工智慧與機器學習備受關注,越來越多企業使用機器學習模型解決實際問題,如人臉識別、商品推薦等。在應用機器學習模型的過程中,模型超參數的選擇對模型性能有著至關重要的影響,因此超參數優化問題成為了機器學習的重要挑戰之一。超參數優化作為典型的黑盒優化問題,對於優化目標不存在具體表達式或梯度資訊,且驗證代價較大。其目標是在有限的驗證次數內,儘快找到全局最優點。除超參數優化外,黑盒優化還擁有著廣泛的使用場景,如自動化A/B測試、資料庫參數調優、處理器架構和晶片設計等。

現有開源的黑盒優化系統往往存在以下問題:

1)使用場景有限。由於系統基於某個特定演算法,一些系統只能支援單目標或是無約束的優化問題;

2)性能不穩定。基於優化問題中 「no free lunch」定理,現有系統中特定的演算法無法在所有任務中表現出色;

3)有限的可擴展性。現有系統無法有效利用歷史任務的結果以及分散式的驗證資源。

針對這些問題,北京大學DAIR實驗室AutoML項目組開發了一個名為 「OpenBox」 的輕量級黑盒優化系統,針對通用的黑盒優化場景,內置豐富的優化演算法,並提供高效的並行支援,幫助用戶「open the box」,解決棘手的黑盒優化問題。

項目Github開源地址://github.com/PKU-DAIR/open-box


2

OpenBox設計思路

為了解決現有系統上述的問題,OpenBox在設計上支援以下系統特性,包括:

  • 多目標優化:同時優化多個不同(甚至相互衝突)的目標,例如同時優化機器模型準確率和模型訓練/預測時間等。

  • 帶約束條件優化:最優化目標的同時,要滿足(黑盒)條件,例如保證模型延遲不能高於某個閾值等。

  • 多類型參數輸入(FIOC):系統需要對多種待優化參數類型提供支援,主要為FIOC,即浮點型、整型、序數型、類別型四類參數。例如超參數優化中,SVM模型核函數用類別型表示,如果單純用整型代替序數型或類別型參數,將對參數附加額外的序關係,不利於模型優化。

  • 遷移學習:優化任務之間可能存在一定相關性,例如過去可能在不同數據集上進行過相同模型的調參。基於這種觀察,系統需要能夠利用過去優化的知識加速當前優化任務的執行效率。

  • 分散式並行驗證:內置演算法支援並行運行,並且系統能夠有效利用給定的分散式資源。

作者將現有系統對上述特點的支援情況總結如上(其中△表示不支援通用場景)。從表格中不難看出,現有開源黑盒優化系統無法支援特定的
使用場景,而 OpenBox 能夠提供完整的支援。

上圖展示了 OpenBox 的並行架構,包含五個主要組件。服務主機(Service
Master)負責節點管理、負載均衡和錯誤恢復。任務資料庫(Task Database)保存所有任務的狀態。建議伺服器(Suggestion Server)為每個任務生成新
配置。REST API 在用戶/工作者和建議伺服器之間建立了橋樑。驗證工作者(Evaluation Worker)由用戶提供和擁有。

OpenBox內置大量優化組件,其中優化演算法包括貝葉斯優化,遺傳演算法等,如下圖所示:

為簡化用戶的使用門檻以及提高系統在各問題上的性能,OpenBox 默認採用一種自動選擇優化演算法的策略,根據輸入參數類型,目標個數,約束個數選擇合適的優化演算法。用戶也可基於自身需求,在系統推薦的基礎上自行選擇優化策略。更多OpenBox的特性請參考開源文檔: 

//open-box.readthedocs.io/zh_CN/latest/overview/overview.html

目前OpenBox已在快手、阿里巴巴集團等企業落地部署與使用。

 

3

OpenBox性能驗證

1、收斂效果對比

為體現OpenBox在通用黑盒優化問題上的性能,系統針對單/多目標,無/有約束,共4種場景對比OpenBox與現有演算法與系統在優化數學函數上的效果,實驗效果如下四圖所示。可以看出在不同的優化場景中,OpenBox相較現有系統都有較為顯著的收斂效果提升。

2、端到端效果對比

針對實際場景,Openbox以表格分類的機器學習任務為例,與現有開源系統BoTorch,GPGlowOpt,Spearmint,HyperMapper,SMAC3,Hyperopt進行對比。為保證公平性,Openbox使用串列方式執行任務,並彙報調參結果在測試集上的準確率。以下展示使用LightGBM與LibSVM兩個模型在25個OpenML公開數據集上的調參結果平均排名。值得注意的是,由於LibSVM的搜索空間複雜且包含條件選擇,OpenBox僅與支援複雜空間定義的SMAC3以及Hyperopt進行對比。

可以觀察到OpenBox在兩個模型調參中均獲得了優異的性能。具體來說,OpenBox在Lightgbm調參中排名中位數為1.25,在LibSBM調參中為1.50,體現了OpenBox相比其它開源系統在超參數優化任務中的優勢。

(a) AutoML任務LightGBM優化結果

(b) AutoML任務LibSVM優化結果

3、並行性能對比

OpenBox 支援高效的並行優化演算法,使得在達到相同的優化效果的前提下,所需要的時間代價大幅降低。下圖展示了使用 OpenBox 中並行優化演算法在 LightGBM 調參任務上的提升,使用的數據集為公開數據集 optdigits 。其中「Sync」表示同步並行,「Async」 表示非同步並行,「-n」 表示並發度。

可以觀察到,相比串列優化(Seq-1),並行能夠帶來很大程度上提升搜索效率。其中最顯著的提升來自於並發度為8的非同步優化演算法,在達到與串列方法相同的優化結果時僅使用1/80的時間預算,也即實現7.5×的加速比。(理想加速比為8×)

更多關於OpenBox的實驗結果,請參考OpenBox論文:

//arxiv.org/abs/2106.00421

4

OpenBox使用示例

目前OpenBox支援主流平台(Linux、macOS、Window)使用。用戶只需在程式碼中定義空間,給出目標函數,構造優化器即可運行。以下以一個簡單的多目標帶約束問題為例:

首先,我們需要import必要的組件:

接下來,我們定義一個包含兩個連續變數的搜索空間:

隨後,我們給出一個簡單的以上述兩個變數為輸入的目標函數。這個目標函數包含兩個目標以及兩個約束:

最後我們定義一個優化器,傳入指定的參數後,只需調用run()即可開始優化。

除了上述包調用的方法,OpenBox還支援用戶通過介面訪問服務,從服務端獲取推薦的參數配置,在本地執行參數性能驗證,並通過訪問網站頁面,可視化監視與管理優化過程。

完整的示例以及更多的使用場景,歡迎參考OpenBox官方文檔:

//open-box.readthedocs.io/zh_CN/latest/

論文地址://arxiv.org/abs/2106.00421

項目Github地址://github.com/PKU-DAIR/open-box

歡迎大家關注點贊!

參考文獻

[1]Yang Li, Yu Shen, Wentao Zhang, Yuanwei Chen, Huaijun Jiang, Mingchao Liu, Jiawei Jiang, Jinyang Gao, Wentao Wu, Zhi Yang, Ce Zhang, Bin Cui.  “OpenBox: A Generalized Black-box Optimization Service.” Proceedings of the 27rd ACM SIGKDD international conference on knowledge discovery and data mining. 2021.

[2] Bergstra, James, et al. “Algorithms for hyper-parameter optimization.” Advances in neural information processing systems 24 (2011).

[3] Snoek, Jasper, Hugo Larochelle, and Ryan P. Adams. “Practical bayesian optimization of machine learning algorithms.” Advances in neural information processing systems 25 (2012).

[4] Hutter, Frank, Holger H. Hoos, and Kevin Leyton-Brown. “Sequential model-based optimization for general algorithm configuration.” International conference on learning and intelligent optimization. Springer, Berlin, Heidelberg, 2011.

[5] Balandat, Maximilian, et al. “BoTorch: A framework for efficient Monte-Carlo Bayesian optimization.” Advances in Neural Information Processing Systems (NeurIPS) (2020).

[6] Knudde, Nicolas, et al. “GPflowOpt: A Bayesian optimization library using tensorflow.” arXiv preprint arXiv:1711.03845 (2017).

[7] Golovin, Daniel, et al. “Google vizier: A service for black-box optimization.” Proceedings of the 23rd ACM SIGKDD international conference on knowledge discovery and data mining. 2017.

[8] Nardi, Luigi, David Koeplinger, and Kunle Olukotun. “Practical design space exploration.” 2019 IEEE 27th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS). IEEE, 2019.

[9] Falkner, Stefan, Aaron Klein, and Frank Hutter. “BOHB: Robust and efficient hyperparameter optimization at scale.” International Conference on Machine Learning. PMLR, 2018.


講座預約丨權威專家再談AlphaFold 2:AI是否會帶來結構生物學的「大革命」?
為了更加深入、系統地討論近期AlphaFold的系列成果,8月7日(本周六 9:30),雷鋒網將舉辦主題為《權威專家再談AlphaFold2:AI是否會帶來結構生物學的「大革命》的線上圓桌論壇。
本次主題論壇由影像計算與數字醫學國際研討會(ISICDM)主辦,雷鋒網、醫健AI掘金志協辦。
想要提問的讀者可掃描下方海報二維碼,進入專家社群,我們會將您的問題收集、匯總後,回饋給參會嘉賓,並在討論環節一一進行解答。

雷鋒網雷鋒網雷鋒網