0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Facebook開源了兩款基于PyTorch的實驗框架Ax和BoTorch

DPVg_AI_era ? 來源:lq ? 2019-05-16 08:36 ? 次閱讀

近日,F(xiàn)acebook開源了兩款基于PyTorch的實驗框架Ax和BoTorch。Ax是一個面向自適應(yīng)實驗的理解、管理、部署和自動化任務(wù)的通用平臺,BoTorch則主要面向貝葉斯優(yōu)化任務(wù)。這兩個框架旨在簡化PyTorch應(yīng)用中的自適應(yīng)實驗流程。

在現(xiàn)代機器學(xué)習(xí)應(yīng)用中,對實驗到生產(chǎn)的流程進行簡化是最難實現(xiàn)的任務(wù)之一。在已經(jīng)市場化深度學(xué)習(xí)框架中,F(xiàn)acebook的PyTorch因其高度靈活性成為數(shù)據(jù)科學(xué)界的最愛,PyTorch能夠?qū)崿F(xiàn)快速建模和實驗。但是,深度學(xué)習(xí)應(yīng)用中的許多實驗面臨的挑戰(zhàn)已經(jīng)超出了特定框架的能力范圍。

對于數(shù)據(jù)科學(xué)家來說,在對不同的模型或超參數(shù)配置進行評估時,通常會受到實驗所需的昂貴計算資源和時間的障礙。近日,F(xiàn)acebook開源了兩個新框架,旨在簡化PyTorch應(yīng)用程序中的自適應(yīng)實驗流程:

Ax:一個易訪問的通用平臺,面向自適應(yīng)實驗的理解、管理、部署和自動化。

BoTorch:基于PyTorch,是一個靈活的現(xiàn)代庫,用于貝葉斯優(yōu)化——一種高效的全局優(yōu)化的概率方法。

這兩種工具的目標是降低PyTorch開發(fā)人員進行快速實驗的入門門檻,以便為特定問題找到最佳模型。 Ax和BoTorch都基于概率模型,簡化了機器學(xué)習(xí)問題中給定環(huán)境下的探索流程。不過兩個框架針對的是實驗問題空間的不同維度。

BoTorch

BoTorch是一個基于PyTorch構(gòu)建的貝葉斯優(yōu)化庫。貝葉斯優(yōu)化的目標是在有限的資源內(nèi)找到問題的最優(yōu)解。通常,貝葉斯優(yōu)化用于解決黑盒優(yōu)化問題,比如機器學(xué)習(xí)算法的超參數(shù)優(yōu)化,A / B測試以及許多其他科學(xué)和工程問題。

貝葉斯優(yōu)化問題試圖在無法獲取函數(shù)形式的情況下對一些昂貴的評估黑盒函數(shù)f進行最大化。具體來說,優(yōu)化技術(shù)在一系列測試點處對f進行評估,希望在少量評估之后確定接近最優(yōu)值。

為了實現(xiàn)這一目標,需要一種方法來推斷關(guān)于f尚未評估的點的概念。在貝葉斯優(yōu)化中,這被稱為替代模型。重要的是,替代模型應(yīng)該能夠以點x的函數(shù)值f(x)的后驗分布的形式對預(yù)測的不確定性進行量化。

BoTorch是Facebook在貝葉斯優(yōu)化基礎(chǔ)上大量工作的成果,并將這些技術(shù)集成到PyTorch編程模型中。從概念上講,與替代優(yōu)化方法相比,BoTorch具備一系列獨特優(yōu)勢。

基于PyTorch:BoTorch構(gòu)建于PyTorch框架基礎(chǔ)上,可以利用本機功能,如自動差異化,使用獨立于設(shè)備的代碼,支持高度并行化的現(xiàn)代化硬件(如GPU),有助于交互式計算圖的動態(tài)開發(fā)。

最先進的建模:BoTorch支持GPyTorch中的尖端概率建模,包括多任務(wù)高斯過程(GP),可擴展GP,深度內(nèi)核學(xué)習(xí),深度GP和近似推理等。

提高開發(fā)人員效率:BoTorch提供了簡單的編程模型,用于對貝葉斯優(yōu)化的基本問題進行組合。具體而言,BoTorch依賴于基于蒙特卡羅模型的采集函數(shù),使得新思路的實現(xiàn)變得更加簡單,無需對基礎(chǔ)模型做出限制性的假設(shè)。

高并行性帶來的可擴展性:BoTorch編程模型可以優(yōu)化并發(fā)性和并行性任務(wù)進行批量計算,提高了大型基礎(chǔ)架構(gòu)的可擴展性。

BoTorch的設(shè)計可以讓PyTorch開發(fā)人員更改、交換或重新排列深度神經(jīng)網(wǎng)絡(luò)架構(gòu)的不同組件,無需重建整個圖形來重新訓(xùn)練整個模型。顯然,構(gòu)建低級貝葉斯優(yōu)化組件是一項需要深度專業(yè)知識的任務(wù)。為了應(yīng)對這一挑戰(zhàn),F(xiàn)acebook決定將BoTorch與另一個為深度學(xué)習(xí)實驗提供簡單編程模型的項目進行集成:

這就是Ax。

從概念上講,Ax是一個優(yōu)化實驗平臺,比如A / B測試,模擬或機器學(xué)習(xí)模型實驗等。Ax提供了一個易用的高級API,可以和BoTorch進行連接,使開發(fā)人員能夠快速建模和運行實驗。 Ax和BoTorch之間的關(guān)系如下圖所示。使用BoTorch可以實現(xiàn)新的優(yōu)化算法,而Ax則提供了一個簡單的API,用于配置調(diào)度、查詢數(shù)據(jù)和評估結(jié)果。

從優(yōu)化的角度來看,Ax可以使用多臂老虎機優(yōu)化處理離散型配置(比如A / B測試的變體),還可以使用貝葉斯優(yōu)化的處理連續(xù)配置(比如整數(shù)或浮點)。Ax提供了一個高度可擴展的框架,允許開發(fā)人員為PyTorch模型定制各種實驗。從編程模型的角度來看,Ax提供了三個主要API:

循環(huán)API:用于同步優(yōu)化循環(huán),可以立即評估試驗。使用此API可以在一次調(diào)用中執(zhí)行優(yōu)化,一旦優(yōu)化完成,就可以使用實驗內(nèi)省。

服務(wù)API:可用作參數(shù)調(diào)整應(yīng)用程序的輕量級服務(wù),可以并行評估試驗以及異步獲得數(shù)據(jù)。

開發(fā)者API:主要供數(shù)據(jù)科學(xué)家,機器學(xué)習(xí)工程師和研究人員臨時使用。提供大量定制化和內(nèi)省功能,推薦打算使用Ax來優(yōu)化A / B測試的開發(fā)者使用。

從編程模型的角度來看,循環(huán) API提供了最大程度的流程簡化,而開發(fā)者API實現(xiàn)了最高級別的自定義功能。使用Loop API進行無約束合成Branin函數(shù)代碼如下:

from ax import optimizefrom ax.utils.measurement.synthetic_functions import braninbest_parameters, values, experiment, model = optimize( parameters=[ { "name": "x1", "type": "range", "bounds": [-5.0, 10.0], }, { "name": "x2", "type": "range", "bounds": [0.0, 10.0], }, ], evaluation_function=lambda p: branin(p["x1"], p["x2"]), minimize=True,)

而開發(fā)者API則需要對Ax框架組件進行更深度的操控:

from ax import *branin_search_space = SearchSpace( parameters=[ RangeParameter( name="x1", parameter_type=ParameterType.FLOAT, lower=-5, upper=10 ), RangeParameter( name="x2", parameter_type=ParameterType.FLOAT, lower=0, upper=15 ), ])exp = SimpleExperiment( name="test_branin", search_space=branin_search_space, evaluation_function=lambda p: branin(p["x1"], p["x2"]), objective_name="branin", minimize=True,)sobol = Models.SOBOL(exp.search_space)for i in range(5): exp.new_trial(generator_run=sobol.gen(1))best_arm = Nonefor i in range(15): gpei = Models.GPEI(experiment=exp, data=exp.eval()) generator_run = gpei.gen(1) best_arm, _ = generator_run.best_arm_predictions exp.new_trial(generator_run=generator_run)best_parameters = best_arm.parameters

與其他實驗性框架相比,Ax具備一些明顯優(yōu)勢。對于初學(xué)者來說,編程模型可以與BoTorch之外的不同優(yōu)化框架一起使用。此外,Ax會自動選擇優(yōu)化程序,讓數(shù)據(jù)科學(xué)家能夠更輕松對模型進行微調(diào)。最后,該框架由可視化工具和基準測試套件實現(xiàn)功能互補,簡化了對優(yōu)化技術(shù)的評估流程。

Facebook內(nèi)部的許多團隊都在廣泛使用Ax和BoTorch框架。這些框架的開源是對PyTorch生態(tài)系統(tǒng)的重要補充,PyTorch生態(tài)系統(tǒng)已被廣泛視作數(shù)據(jù)科學(xué)實驗中最靈活的深度學(xué)習(xí)框架之一。隨著數(shù)據(jù)科學(xué)界開始嘗試Axe和BoTorch,可能會將更多新想法整合到兩個框架中,優(yōu)化PyTorch應(yīng)用程序中的實驗流程。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Facebook
    +關(guān)注

    關(guān)注

    3

    文章

    1432

    瀏覽量

    56153
  • 機器學(xué)習(xí)
    +關(guān)注

    關(guān)注

    66

    文章

    8490

    瀏覽量

    134025
  • pytorch
    +關(guān)注

    關(guān)注

    2

    文章

    809

    瀏覽量

    13754

原文標題:用PyTorch做深度學(xué)習(xí)實驗!Facebook新框架Ax和BoTorch雙雙開源

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關(guān)推薦
    熱點推薦

    TP-Link推出兩款入門級用戶路由器——Archer AX3000和AX1500

    為了普及 802.11ax(即 Wi-Fi 6)無線技術(shù),TP-Link 決定推出兩款面向入門級用戶的新品 —— Archer AX3000 和 AX1500 。
    發(fā)表于 10-12 15:07 ?2.6w次閱讀

    Facebook智能音箱可能先在國際市場推出 隱私問題受到關(guān)注

      導(dǎo)讀:據(jù)外媒報道,據(jù)知情人士稱,Facebook正考慮在國際市場上率先推出其智能音箱產(chǎn)品,以避免因數(shù)據(jù)隱私問題在美國遭到公開審查。此外,這兩款智能音箱將內(nèi)置一語音助手,它使用的基礎(chǔ)技術(shù)與公司在
    發(fā)表于 05-09 09:29

    Facebook致力AI開源PyTorch 1.0 AI框架

    Facebook近日宣布,將于近期開源PyTorch 1.0 AI框架,據(jù)悉,該框架PyTorch
    的頭像 發(fā)表于 05-08 14:58 ?3540次閱讀

    Facebook致力AI 開源PyTorch1.0 AI框架

    ,將于近期開源PyTorch 1.0 AI框架,據(jù)悉,該框架PyTorch與Caffe 2的結(jié)合,可以讓開發(fā)者無需遷移就從研究轉(zhuǎn)為生產(chǎn)。
    的頭像 發(fā)表于 06-18 10:30 ?3350次閱讀

    極低功耗的兩款全新的神經(jīng)網(wǎng)絡(luò)內(nèi)核AX2185和AX2145

    Imagination公司日前基于其神經(jīng)網(wǎng)絡(luò)加速器(NNA)架構(gòu)PowerVR 2NX推出了兩款全新的神經(jīng)網(wǎng)絡(luò)內(nèi)核AX2185和AX2145,其設(shè)計目的是在極小芯片面積上以極低功耗實現(xiàn)神經(jīng)網(wǎng)絡(luò)高性能計算。
    的頭像 發(fā)表于 06-20 10:50 ?4232次閱讀
    極低功耗的<b class='flag-5'>兩款</b>全新的神經(jīng)網(wǎng)絡(luò)內(nèi)核<b class='flag-5'>AX</b>2185和<b class='flag-5'>AX</b>2145

    Facebook宣布發(fā)布深度學(xué)習(xí)框架 PyTorch 1.0開發(fā)者預(yù)覽版

    為了滿足這些需求,Google Cloud 也將為其眾多服務(wù)引入 PyTorch 支持。Facebook 在宣布這一消息的博客文章中稱,Google 與 Facebook 合作在為 PyTor
    的頭像 發(fā)表于 10-08 14:36 ?3415次閱讀

    Facebook與CMU聯(lián)手打造開源框架PyRobot

    Facebook AI近期對機器人技術(shù)非常熱衷,剛剛又開源機器人框架PyRobot,該框架是與卡內(nèi)基梅隆大學(xué)合作創(chuàng)建,可運行由
    發(fā)表于 06-24 15:14 ?3971次閱讀

    PyTorch版《動手學(xué)深度學(xué)習(xí)》開源

    目前,該項目在 GitHub 上已獲得超過 1.1 萬星,并且中文版電子書還發(fā)布紙質(zhì)版書籍。不過雖然書籍非常優(yōu)秀,但還是有一些讀者不太習(xí)慣用 Gluon 來寫代碼,畢竟開源項目大部分都是 TF 或 PyTorch 寫的?,F(xiàn)在好
    的頭像 發(fā)表于 09-20 15:25 ?2940次閱讀

    天才黑客George Hotz開源一個小型深度學(xué)習(xí)框架tinygrad

    最近,天才黑客 George Hotz 開源一個小型深度學(xué)習(xí)框架 tinygrad,兼具 PyTorch 和 micrograd 的功能。tinygrad 的代碼數(shù)量不到 1000
    的頭像 發(fā)表于 12-16 09:36 ?4436次閱讀

    國產(chǎn)框架超越 PyTorch 和 TensorFlow?

    樣資源主導(dǎo)、肉食者謀的競爭環(huán)境下?,一家國產(chǎn)深度學(xué)習(xí)框架的創(chuàng)業(yè)公司 OneFlow 出現(xiàn)。 它以處理大規(guī)模模型見長,甚至今年將全部源碼和實驗對比數(shù)據(jù),在 GitHub 進行了開源。
    的頭像 發(fā)表于 04-09 15:11 ?2645次閱讀
    國產(chǎn)<b class='flag-5'>框架</b>超越 <b class='flag-5'>PyTorch</b> 和 TensorFlow?

    PyTorch開源深度學(xué)習(xí)框架簡介

    PyTorch 是一種開源深度學(xué)習(xí)框架,以出色的靈活性和易用性著稱。這在一定程度上是因為與機器學(xué)習(xí)開發(fā)者和數(shù)據(jù)科學(xué)家所青睞的熱門 Python 高級編程語言兼容。
    的頭像 發(fā)表于 07-29 10:26 ?4881次閱讀

    TensorFlow和PyTorch的實際應(yīng)用比較

    TensorFlow和PyTorch個最受歡迎的開源深度學(xué)習(xí)框架,這框架都為構(gòu)建和訓(xùn)練深
    的頭像 發(fā)表于 01-14 11:53 ?3235次閱讀

    深度學(xué)習(xí)框架pytorch入門與實踐

    的。PyTorch是一個開源的深度學(xué)習(xí)框架,在深度學(xué)習(xí)領(lǐng)域得到了廣泛應(yīng)用。本文將介紹PyTorch框架的基本知識、核心概念以及如何在實踐中使
    的頭像 發(fā)表于 08-17 16:03 ?1827次閱讀

    深度學(xué)習(xí)框架pytorch介紹

    深度學(xué)習(xí)框架pytorch介紹 PyTorch是由Facebook創(chuàng)建的開源機器學(xué)習(xí)框架,其中T
    的頭像 發(fā)表于 08-17 16:10 ?2176次閱讀

    tensorflow和pytorch哪個更簡單?

    : TensorFlow和PyTorch都是用于深度學(xué)習(xí)和機器學(xué)習(xí)的開源框架。TensorFlow由Google Brain團隊開發(fā),而PyTorch
    的頭像 發(fā)表于 07-05 09:45 ?1329次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品