中文字幕 日本 在线 高清,久久精品国产99精品国,超碰人人香蕉,一区二区三区无码高清视频

三行代碼,AutoML性能提高十倍!微軟開源FLAMA,比sota還要sota(3行代碼的威力)

來源:towardsdatascience

編輯:LRS

【新智元導(dǎo)讀】AI程序員狠起來連自己的崗位都要干掉。隨著AutoML研究的深入,自動搜索最優(yōu)的神經(jīng)網(wǎng)絡(luò)模型已經(jīng)變得越來越快。最近微軟開源了他們的方案FLAMA,網(wǎng)絡(luò)搜索性能比sota還要顯著提升,資源消耗降低為原來的十分之一!最重要的是它是Python庫,三行代碼就能徹底改造你的AutoML方案!

近年來,AutoML在自動化機(jī)器學(xué)習(xí)的設(shè)計(jì)方面已經(jīng)取得了巨大的成功,例如設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)架構(gòu)和模型更新規(guī)則。

神經(jīng)架構(gòu)搜索(NAS)是其中一個(gè)重要的研究方向,可以用來搜索更好的神經(jīng)網(wǎng)絡(luò)架構(gòu)以用于圖像分類等任務(wù),并且可以幫助設(shè)計(jì)人員在硬件設(shè)計(jì)上找到速度更快、能耗更低的架構(gòu)方案。

但AutoML 是一個(gè)十分消耗資源和時(shí)間的操作,因?yàn)樗婕暗酱罅康膶?shí)驗(yàn)來排除性能不強(qiáng)的架構(gòu),來找到一個(gè)具有良好性能的超參數(shù)配置。由于它的搜索空間通常非常大,因此需要一種有效的 AutoML 方法來更有效地搜索它們。

三行代碼,AutoML性能提高十倍!微軟開源FLAMA,比sota還要sota(3行代碼的威力)

AutoML 中超參數(shù)搜索的資源和時(shí)間消耗可歸結(jié)為以下兩個(gè)因素:

1. 大量的候選超參數(shù)的組合實(shí)驗(yàn)需要找到一個(gè)性能良好的配置;

2. 每個(gè)超參數(shù)的都需要很長時(shí)間來評估性能,因?yàn)樵u估過程包括訓(xùn)練模型和在一個(gè)給定的數(shù)據(jù)集上驗(yàn)證機(jī)器學(xué)習(xí)模型性能。

如此浪費(fèi)時(shí)間,怎么忍?微軟最近就帶了他們FLAML(Fast Lightweight AutoML),即快速的、輕量化的AutoML庫。

三行代碼,AutoML性能提高十倍!微軟開源FLAMA,比sota還要sota(3行代碼的威力)

論文的第一作者是雷德蒙德微軟研究院的首席研究員,研究主要集中在與數(shù)據(jù)平臺和數(shù)據(jù)科學(xué)相關(guān)的理論和系統(tǒng)之間的相互作用,追求快速,經(jīng)濟(jì),可擴(kuò)展和實(shí)用的解決方案與理論保證。

他在清華大學(xué)獲得了計(jì)算機(jī)科學(xué)學(xué)士學(xué)位,在伊利諾伊大學(xué)厄巴納-香檳分校計(jì)算機(jī)科學(xué)系完成了博士學(xué)位。

三行代碼,AutoML性能提高十倍!微軟開源FLAMA,比sota還要sota(3行代碼的威力)

FLAML是一個(gè)輕量級Python庫,可以自動、高效、經(jīng)濟(jì)地查找準(zhǔn)確的機(jī)器學(xué)習(xí)模型,用戶無需為每個(gè)learner選擇具體使用的模型和超參數(shù)。

它速度快,還省錢,簡單輕量級的設(shè)計(jì)使得這個(gè)庫很容易擴(kuò)展,例如添加定制的learner或評價(jià)指標(biāo)。

FLAML 利用搜索空間的結(jié)構(gòu)同時(shí)優(yōu)化成本和模型性能。它包含由微軟研究院開發(fā)的兩個(gè)新方法:

1. 成本節(jié)約優(yōu)化 Cost-Frugal Optimization (CFO)

成本節(jié)約優(yōu)化對搜索過程中對cost是十分敏感的,搜索方法從一個(gè)低成本的初始點(diǎn)開始,逐漸移動到一個(gè)較高的成本區(qū)域,同時(shí)優(yōu)化給定的目標(biāo)(如模型損失或準(zhǔn)確度)。

2. BlendSearch

Blendsearch 是 CFO 的擴(kuò)展,它結(jié)合了 CFO 的節(jié)儉和貝葉斯優(yōu)化的探索能力。與 CFO 一樣,BlendSearch 需要一個(gè)低成本的初始點(diǎn)作為輸入(如果存在這個(gè)點(diǎn)的話) ,并從這個(gè)點(diǎn)開始搜索。然而,與 CFO 不同的是,BlendSearch 不會等到本地搜索完全收斂之后才嘗試新的起點(diǎn)。

這兩個(gè)方法的靈感來源主要源于傳統(tǒng)的機(jī)器學(xué)習(xí)模型:

1. 許多機(jī)器學(xué)習(xí)算法都有超參數(shù),這會導(dǎo)致訓(xùn)練成本的大幅度變化。例如,一個(gè)有10棵樹的 XGBoost 模型比一個(gè)有1000棵樹的模型訓(xùn)練得更快。

2. 參數(shù)的cost通常是連續(xù)的、一致的,也就是說評估10棵樹比評估100棵樹的速度要更快,而評估100棵樹要比評估500棵樹更快。

這兩個(gè)思路提供了關(guān)于成本空間中超參數(shù)的有用的結(jié)構(gòu)信息,CFO 和 BlendSearch,能夠有效地利用這些啟發(fā)式方法來降低搜索過程中產(chǎn)生的成本,而不影響到最優(yōu)解的收斂性。

三行代碼,AutoML性能提高十倍!微軟開源FLAMA,比sota還要sota(3行代碼的威力)

在驗(yàn)證FLAML的有效性時(shí),在最新的 AutoML 基準(zhǔn)測試中,F(xiàn)LAML 能夠在超過62% 的任務(wù)上只使用10% 的計(jì)算資源,就能夠獲得與最先進(jìn)的 AutoML 解決方案相同或更好的性能。

FLAML 的高性能歸功于其快速的優(yōu)化方法,CFO和BlendSearch利用搜索空間的結(jié)構(gòu)來選擇性能優(yōu)良和成本低的搜索順序。在有限的預(yù)算約束條件下,可以對搜索效率產(chǎn)生很大的影響。

FLAML利用搜索空間的結(jié)構(gòu)來選擇針對成本和錯(cuò)誤優(yōu)化的搜索順序。例如,系統(tǒng)傾向于在搜索的開始階段提出更簡單、快速的配置,但在搜索的后期階段需要時(shí),會迅速轉(zhuǎn)向具有高模型復(fù)雜度和大樣本量的配置。如果它在開始時(shí)有利于簡單的學(xué)習(xí)者,但如果錯(cuò)誤改善過于緩慢,則會對這種選擇進(jìn)行懲罰。

CFO 從一個(gè)低成本的初始點(diǎn)(在搜索空間中通過 low_cost_init_value 指定)開始,并根據(jù)其隨機(jī)本地搜索策略執(zhí)行本地更新。利用這種策略,CFO 可以快速地向低損耗區(qū)域移動,表現(xiàn)出良好的收斂性。此外,CFO 傾向于在必要時(shí)避免探索高成本區(qū)域。進(jìn)一步證明了該搜索策略具有可證明的收斂速度和有界的期望代價(jià)。

三行代碼,AutoML性能提高十倍!微軟開源FLAMA,比sota還要sota(3行代碼的威力)

BlendSearch 進(jìn)一步將 CFO 使用的局部和全局搜索策略與全球搜索結(jié)合起來。具體來說,BlendSearch 維護(hù)一個(gè)全局搜索模型,并基于全局模型提出的超參數(shù)配置逐步創(chuàng)建局部搜索線程。

它基于實(shí)時(shí)性能和損失進(jìn)一步優(yōu)化了全局搜索線程和多個(gè)局部搜索線程。在復(fù)雜的搜索空間情況下,如搜索空間包含多個(gè)不相交、不連續(xù)的子空間時(shí),可以進(jìn)一步提高 CFO 的效率。

相比最先進(jìn)的超參數(shù)調(diào)優(yōu)庫 Optuna 獲得的結(jié)果,F(xiàn)LAML使用9個(gè)維度的超參數(shù)調(diào)優(yōu) LightGBM,可以看到,F(xiàn)LAML 能夠在更短的時(shí)間內(nèi)實(shí)現(xiàn)更好的解決方案。

三行代碼,AutoML性能提高十倍!微軟開源FLAMA,比sota還要sota(3行代碼的威力)

研究人員進(jìn)行了一個(gè)實(shí)驗(yàn)來檢查 BlendSearch 和 Optuna (使用多變量 TPE 采樣器)以及在高并行化設(shè)置中的隨機(jī)搜索的性能。使用了來自 AutoML 基準(zhǔn)測試的12個(gè)數(shù)據(jù)集的子集。每個(gè)優(yōu)化運(yùn)行是與16個(gè)試驗(yàn)并行進(jìn)行20分鐘,使用3倍的交叉驗(yàn)證,使用 ROC-AUC評價(jià)指標(biāo)。這些試驗(yàn)用不同的隨機(jī)種子重復(fù)了三次。

三行代碼,AutoML性能提高十倍!微軟開源FLAMA,比sota還要sota(3行代碼的威力)

在12個(gè)數(shù)據(jù)集中,BlendSearch 在6個(gè)數(shù)據(jù)集中取得了最好的交叉驗(yàn)證分?jǐn)?shù)。此外,與 Optuna 的1.96% 相比,BlendSearch 比隨機(jī)搜索平均提高了2.52% 。值得注意的是,BlendSearch 使用單變量 Optuna-TPE 作為其全局搜索器ーー使用多變量 TPE 最有可能進(jìn)一步提高分?jǐn)?shù)。

三行代碼,AutoML性能提高十倍!微軟開源FLAMA,比sota還要sota(3行代碼的威力)

此外,由于其低成本的方法,BlendSearch 在同一時(shí)間內(nèi)評估的試驗(yàn)次數(shù)平均是其他搜索者的兩倍。這表明 BlendSearch 和其他算法之間的差距會隨著時(shí)間預(yù)算的增加而擴(kuò)大。

FLAMA的使用也很簡單,首先使用pip進(jìn)行安裝。

三行代碼,AutoML性能提高十倍!微軟開源FLAMA,比sota還要sota(3行代碼的威力)

假設(shè)提供了訓(xùn)練數(shù)據(jù)集并將其保存為 x _ train、 y _ train,任務(wù)是以60秒的時(shí)間預(yù)算調(diào)優(yōu) LightGBM 模型的超參數(shù),代碼如下所示。

三行代碼,AutoML性能提高十倍!微軟開源FLAMA,比sota還要sota(3行代碼的威力)

除了LightGBM,F(xiàn)LAML 還為相關(guān)任務(wù)提供了豐富的定制選項(xiàng),如不同learner、搜索空間、評估度量等。

為了加速超參數(shù)優(yōu)化,用戶可以選擇并行化超參數(shù)搜索,BlendSearch 能夠在并行中很好地工作: 它利用了多個(gè)搜索線程,這些線程可以獨(dú)立執(zhí)行,而不會明顯降低性能。對于現(xiàn)有的優(yōu)化算法(如貝葉斯優(yōu)化算法)來說,并不是所有優(yōu)化方法都可以并行處理。

為了實(shí)現(xiàn)并行化,F(xiàn)LAML 與 Ray Tune 進(jìn)行集成中,Ray Tune 是一個(gè) Python 庫,可以通過邊緣優(yōu)化算法(edge optimization algorithms)來加速超參數(shù)調(diào)整。Ray Tune 還允許用戶在不更改代碼的情況下將超參數(shù)搜索從單個(gè)計(jì)算機(jī)擴(kuò)展到集群上運(yùn)行。

用戶可以在 FLAML 中使用 Ray Tune,或者在 Ray Tune 中從 FLAML 運(yùn)行超參數(shù)搜索方法來并行化的搜索,主要通過在 FLAML 中配置 n_concurrent _trials 參數(shù)可以實(shí)現(xiàn)并行。

三行代碼,AutoML性能提高十倍!微軟開源FLAMA,比sota還要sota(3行代碼的威力)

參考資料:

https://towardsdatascience.com/fast-automl-with-flaml-ray-tune-64ff4a604d1c

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

(0)
上一篇 2024年1月9日 上午11:06
下一篇 2024年1月11日 上午8:57

相關(guān)推薦