<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

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

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

近日,Facebook開源了兩款基于PyTorch的實驗框架Ax和BoTorch。Ax是一個面向自適應實驗的理解、管理、部署和自動化任務的通用平臺,BoTorch則主要面向貝葉斯優化任務。這兩個框架旨在簡化PyTorch應用中的自適應實驗流程。

在現代機器學習應用中,對實驗到生產的流程進行簡化是最難實現的任務之一。在已經市場化深度學習框架中,Facebook的PyTorch因其高度靈活性成為數據科學界的最愛,PyTorch能夠實現快速建模和實驗。但是,深度學習應用中的許多實驗面臨的挑戰已經超出了特定框架的能力范圍。

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

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

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

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

BoTorch

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

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

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

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

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

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

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

高并行性帶來的可擴展性:BoTorch編程模型可以優化并發性和并行性任務進行批量計算,提高了大型基礎架構的可擴展性。

BoTorch的設計可以讓PyTorch開發人員更改、交換或重新排列深度神經網絡架構的不同組件,無需重建整個圖形來重新訓練整個模型。顯然,構建低級貝葉斯優化組件是一項需要深度專業知識的任務。為了應對這一挑戰,Facebook決定將BoTorch與另一個為深度學習實驗提供簡單編程模型的項目進行集成:

這就是Ax。

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

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

循環API:用于同步優化循環,可以立即評估試驗。使用此API可以在一次調用中執行優化,一旦優化完成,就可以使用實驗內省。

服務API:可用作參數調整應用程序的輕量級服務,可以并行評估試驗以及異步獲得數據。

開發者API:主要供數據科學家,機器學習工程師和研究人員臨時使用。提供大量定制化和內省功能,推薦打算使用Ax來優化A / B測試的開發者使用。

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

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,)

而開發者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具備一些明顯優勢。對于初學者來說,編程模型可以與BoTorch之外的不同優化框架一起使用。此外,Ax會自動選擇優化程序,讓數據科學家能夠更輕松對模型進行微調。最后,該框架由可視化工具和基準測試套件實現功能互補,簡化了對優化技術的評估流程。

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Facebook
    +關注

    關注

    3

    文章

    1428

    瀏覽量

    54172
  • 機器學習
    +關注

    關注

    66

    文章

    8173

    瀏覽量

    130907
  • pytorch
    +關注

    關注

    2

    文章

    766

    瀏覽量

    12879

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

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

收藏 人收藏

    評論

    相關推薦

    兩款消回音,消噪音的芯片

    兩款是消回音,消噪音的芯片資料。大家可以看下。一起探討下。
    發表于 09-16 10:22

    兩款u***功放制作

    兩款u***功放制作
    發表于 08-20 14:50

    剛拆的幫我看看這兩款電機的型號?。。。。?!

    幫我看看這兩款電機能做什么
    發表于 01-08 01:42

    蘋果音箱月產大跌 Facebook智能音箱延至10月

    智能音箱的發布活動和時間安排。   據消息人士稱,Facebook準備推出兩款智能音箱,目前的代號分別是Fiona和Aloha,和市面上的智能音箱不同的是,Facebook的產品將配置一塊15英寸
    發表于 04-25 09:30

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

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

    通過Cortex來非常方便的部署PyTorch模型

    的機器學習框架是建立在 PyTorch 上的。在 ML 的幾乎任何領域,從計算機視覺到 NLP 再到計算生物學,你都會發現 PyTorch 在前沿為實驗提供能量。然而,最自然的問題是如
    發表于 11-01 15:25

    PyTorch 1.0:一個框架實現AI從研究到生產的全過程

    Facebook去年與微軟合作推出開放神經網絡交換(ONNX)格式,這是一個用于表示深度學習模型的標準,旨在使不同框架之間的移動更加簡單?,F在,Facebook已經將ONNX整合到PyTorc
    的頭像 發表于 05-04 10:13 ?7611次閱讀

    Facebook致力AI開源PyTorch 1.0 AI框架

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

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

    導讀: Facebook近日宣布,將于近期開源PyTorch 1.0 AI框架,據悉,該框架PyTor
    的頭像 發表于 06-18 10:30 ?2981次閱讀

    Facebook宣布發布深度學習框架 PyTorch 1.0開發者預覽版

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

    Facebook與CMU聯手打造開源框架PyRobot

    Facebook AI近期對機器人技術非常熱衷,剛剛又開源了機器人框架PyRobot,該框架是與卡內基梅隆大學合作創建,可運行由Facebook
    發表于 06-24 15:14 ?3706次閱讀

    天才黑客George Hotz開源了一個小型深度學習框架tinygrad

    最近,天才黑客 George Hotz 開源了一個小型深度學習框架 tinygrad,兼具 PyTorch 和 micrograd 的功能。tinygrad 的代碼數量不到 1000 行,目前該項
    的頭像 發表于 12-16 09:36 ?3970次閱讀

    PyTorch開源深度學習框架簡介

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

    深度學習框架pytorch入門與實踐

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

    深度學習框架pytorch介紹

    深度學習框架pytorch介紹 PyTorch是由Facebook創建的開源機器學習框架,其中T
    的頭像 發表于 08-17 16:10 ?1233次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>