首頁 > 智能 > 正文

    北大DAIR實驗室宣布:通用黑盒優化系統OpenBox開源發布

    2021-08-05 11:47:45來源:雷鋒網  

    近日,由北京大學崔斌教授數據與智能實驗室( 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"。

    研究背景

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

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

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

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

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

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

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

    OpenBox 設計思路

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

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

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

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

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

    分布式并行驗證:內置算法支持并行運行,并且系統能夠有效利用給定的分布式資源。

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

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

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

    北大 DAIR 實驗室推出開源高效的通用黑盒優化系統 OpenBox

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

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

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

    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 論文:

    https://arxiv.org/abs/2106.00421

    OpenBox 使用示例

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

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

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

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

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

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

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

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

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

    項目 Github 地址:https://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.

    標簽: OpenBox 開源

    相關閱讀

    相關詞

    推薦閱讀

    亚洲一区二区成人| 亚洲成a人无码av波多野按摩| 亚洲麻豆精品国偷自产在线91| 亚洲乱码在线卡一卡二卡新区| 亚洲va久久久噜噜噜久久男同 | 亚洲AV电影天堂男人的天堂| 亚洲国产精品线观看不卡| 精品亚洲麻豆1区2区3区| 亚洲AV福利天堂一区二区三| 亚洲欧洲日产国码无码久久99| 国产国拍亚洲精品福利| 亚洲日本在线观看视频| 亚洲av日韩片在线观看| 亚洲第一黄片大全| 亚洲国产黄在线观看| 亚洲人成网站在线观看青青| 亚洲精品456播放| 亚洲国产婷婷香蕉久久久久久 | 亚洲天堂中文字幕| 久久亚洲精品无码VA大香大香| 77777_亚洲午夜久久多人 | 亚洲av午夜成人片精品电影| 亚洲国产综合无码一区二区二三区| 国产成人综合久久精品亚洲| 亚洲AV无码乱码在线观看牲色| 亚洲国产精品日韩专区AV| 狠狠色婷婷狠狠狠亚洲综合| 亚洲午夜福利AV一区二区无码| 亚洲精品国产成人片| 亚洲欧洲在线观看| 亚洲最大黄色网站| 亚洲综合无码一区二区痴汉| 亚洲youwu永久无码精品| 亚洲av日韩片在线观看| 国产aⅴ无码专区亚洲av麻豆| 久久91亚洲人成电影网站| 亚洲视频中文字幕| 亚洲成a人不卡在线观看| 99亚偷拍自图区亚洲| 久久精品亚洲日本波多野结衣 | 久久亚洲精品成人无码网站|