中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

Studio.ML彌合了數(shù)據(jù)科學家與DevOps工程師之間的鴻溝

發(fā)布于:2021-01-15 14:57:33

0

68

0

StudioML DevOps 機器學習

當數(shù)據(jù)科學家和ML研究人員與DevOps會面以嘗試在生產(chǎn)和商業(yè)環(huán)境中部署,審核和維護最先進的AI模型時,會出現(xiàn)許多問題。本文討論了一種名為Studio.ML的新開源軟件工具,該工具提供了許多解決此問題的方法。

如今,機器學習(ML)和人工智能(AI)使技術滲透到大多數(shù)行業(yè)。就像早期計算機時代的軟件一樣,ML和AI不再是研究人員的玩具,而已成為企業(yè)重要的創(chuàng)收工具。與業(yè)務目標驅動軟件開發(fā)的方式類似,有必要使開發(fā)到生產(chǎn)ML模型的周期更短,更健壯并且更易于復制。這種需求通常會與“新奇事物”綜合癥相沖突,綜合癥是軟件工程中已知的反模式。但是對于ML / AI驅動的企業(yè)來說,使用最新研究結果的能力通常意味著競爭優(yōu)勢和可觀的利潤。

換句話說,如果貴公司的數(shù)據(jù)科學家和平臺工程師使彼此的生活陷入困境,請不要驚慌-這并不罕見。實際上,這正是我們在Sentient Technologies發(fā)現(xiàn)的情況。當我們嘗試構建一個生產(chǎn)上可靠的深度學習和分布式計算框架以與Java一起使用時,我們發(fā)現(xiàn)所有新雇用的數(shù)據(jù)科學家都更喜歡使用Python構建模型。

為了更詳細地說明問題的根源,請考慮圖1中的典型數(shù)據(jù)科學和DevOps管道。要清楚地說明,我們并沒有要求用這種簡化的圖片來涵蓋所有可能的用例,而僅涉及到最頻繁且最相關的情況。生產(chǎn)AI / ML模型。在數(shù)據(jù)科學世界中,如A行所示,典型過程始于收集數(shù)據(jù),對數(shù)據(jù)進行迭代并調試代碼。然后,通??梢酝ㄟ^手工或使用現(xiàn)代自動方法(例如神經(jīng)進化)來優(yōu)化超參數(shù)和神經(jīng)網(wǎng)絡體系結構,從而開始進行繁重的計算。最后,該過程已訓練出最佳模型。之后,數(shù)據(jù)科學家通常會做一個模糊的事情,即“將模型推入生產(chǎn)階段”,這通常歸結為將最佳模型交給DevOps或工程團隊。

{xunruicms_img_title}

同時,在B行所示的DevOps世界中,該過程從一個容器開始。容器必須通過一堆單元測試和回歸測試,升級到暫存階段,通過浸泡測試,然后才能投入生產(chǎn)。然后,模型容器成為微服務體系結構的一部分,開始與其他生產(chǎn)系統(tǒng)組件進行交互,然后進行自動縮放和負載平衡。牢記這兩個世界,就可以看到事物容易掉入的裂縫。當模型與容器的綁扎程度不夠時,當容器在波濤洶涌的海上運輸時,模型會反彈。

DevOps傾向于名義上測試容器功能-無需檢查模型是否正常運行-而數(shù)據(jù)科學家的測試并未考慮模型將在容器中工作的事實。權重文件等的預處理功能位置可能位于不同的文件夾中。我們的經(jīng)驗告訴我們,正是這些小事情最終被忽視了。

DevOps和數(shù)據(jù)科學的二分法促使我們創(chuàng)建了開源項目Studio.ML。Studio.ML旨在彌合必須不斷地追逐新事物和新事物的研究型數(shù)據(jù)科學與可以完全再現(xiàn)結果并避免“在我的機器上運行”的良好軟件工程或DevOps實踐之間的鴻溝問題。Studio.ML還可以自動執(zhí)行諸如超參數(shù)優(yōu)化之類的重要數(shù)據(jù)科學任務,并以無縫方式利用云計算資源,而不會給數(shù)據(jù)科學家?guī)砣魏晤~外的認知負擔,以使其了解容器或實例AMI。

該項目的核心思想是盡可能不侵入數(shù)據(jù)科學家或研究人員的代碼,集中存儲實驗數(shù)據(jù),以使其具有可復制性,可共享性和可比性。實際上,Studio.ML通常無需更改任何代碼即可提供可觀的價值。唯一的要求是該代碼使用Python。自從我們使用Java構建深度學習框架并嘗試使用Lua以來,Python便成為了機器學習社區(qū)的事實上的標準。這是由于其龐大的數(shù)據(jù)分析和深度學習庫集,因此,如果您是研究ML / AI前沿技術的研究人員,則很可能會自然滿足編寫Python代碼的要求。

從研究人員的角度來看,如果以下命令行:

python my_awesome_training_script.py arg1 arg2

訓練模型,然后:

studio run my_awesome_training_script.py arg1 arg2

運行培訓并存儲重現(xiàn)實驗所需的信息,例如一組帶有版本,命令行和當前工作目錄狀態(tài)的python軟件包。實驗的日志(即stdout和stderr流)存儲并顯示在簡單的UI中:

{xunruicms_img_title}

如果其他研究人員想重新運行相同的實驗,則可以通過:

studio rerun <experiment_key>

包裝實驗具有可重復性,這是一個非常強大的想法。如果可以在另一位研究人員的機器上復制實驗,那么它也可以在具有許多GPU的功能強大的數(shù)據(jù)中心機器上運行,也可以在云機器上運行。例如:

studio run --cloud=ec2 --gpus=1 my_awesome_training_script.py arg1 arg2

將使用具有一個GPU的實例在Amazon EC2中運行我們的實驗,就好像它在本地運行一樣。請注意,要獲得相同的結果,研究人員必須與DevOps工程師合作,或者了解EC2 AMI,實例和租戶類型,GPU驅動程序安裝等。

再加上其他功能,例如超參數(shù)搜索,使用便宜的現(xiàn)貨/可搶占式云實例,與Jupyter筆記本電腦及其他產(chǎn)品的集成,Studio.ML的存在使數(shù)據(jù)科學家的工作變得更加輕松。但是障礙的另一面是:DevOps工程師?Studio.ML還具有服務功能,因此可以將構建的模型用作單個命令行:

studio serve <experiment_key>

一方面,這允許對構建的模型進行簡單的容器化和部署。但是更重要的是,簡單服務可以使數(shù)據(jù)科學家自己進行單元/回歸測試,從而消除了模型在訓練和驗證中表現(xiàn)良好時的頻繁故障模式。服務使用的是未經(jīng)測試的略有不同的預處理代碼。內置的容錯數(shù)據(jù)管道可以使DevOps工程師的工作更加輕松,它的另一個Studio.ML功能可以在GPU上以高速率進行批量推斷,同時清除不良數(shù)據(jù)。

在后臺,Studio.ML由幾個松散耦合的組件組成,例如實驗包裝器,工作程序,排隊系統(tǒng),元數(shù)據(jù)和工件存儲,可以將其交換為Hone Studio.ML,以滿足項目的個別需求,例如自定義計算場或內部存儲敏感的實驗數(shù)據(jù)。

Studio.ML仍是一個相當早期的項目,它在機器學習社區(qū)中得到了很大的塑造。即使在此階段,與成熟的服務(例如Google Cloud ML或Amazon SageMaker)相比,它提供的可重現(xiàn)實驗所產(chǎn)生的摩擦(例如代碼更改和對數(shù)據(jù)科學家的認知負擔)也要少得多。如果您對有關此數(shù)據(jù)感興趣,請參閱我們的博客,以使用SageMaker和Studio.ML再現(xiàn)最新的AI模型。

總之,現(xiàn)代AI / ML驅動的企業(yè)需要結合ML模型的行業(yè)級可靠性和可重復性以及研究敏捷性,以利用并為最先進的數(shù)據(jù)科學做出貢獻。Studio.ML以簡潔,非侵入性的方式滿足這些需求。在我們看來,它將通過引入越來越多的高級ML自動化功能,繼續(xù)彌合數(shù)據(jù)科學家與DevOps工程師之間的鴻溝。