云計(jì)算機(jī)器學(xué)習(xí)平臺(tái)提供的多種功能可以支持完整的機(jī)器學(xué)習(xí)生命周期。
為了創(chuàng)建有效的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)模型,組織需要獲取大量的數(shù)據(jù),并對(duì)其執(zhí)行特征工程的方法,以及在合理的時(shí)間內(nèi)訓(xùn)練數(shù)據(jù)模型的方法。然后,組織需要一種方法來(lái)部署模型,監(jiān)視它們是否隨時(shí)間的推移而改變,以及根據(jù)需要重新訓(xùn)練它們。
如果組織已經(jīng)在計(jì)算資源和加速器(例如GPU)上進(jìn)行了投資,則可以在內(nèi)部部署基礎(chǔ)設(shè)施完成所有這些操作,但是可能會(huì)發(fā)現(xiàn),如果資源足夠,它們?cè)诤芏鄷r(shí)間都處于閑置狀態(tài)。另一方面,有時(shí)在云平臺(tái)中運(yùn)行整個(gè)管道,根據(jù)需要使用大量計(jì)算資源和加速器,然后釋放它們,可能更具成本效益。
主要的云計(jì)算提供商(以及其他云計(jì)算提供商)已投入大量精力來(lái)構(gòu)建其機(jī)器學(xué)習(xí)平臺(tái),以支持從計(jì)劃項(xiàng)目到維護(hù)生產(chǎn)模型的完整機(jī)器學(xué)習(xí)生命周期。組織如何確定哪些云平臺(tái)可以滿(mǎn)足其需求?每個(gè)端到端機(jī)器學(xué)習(xí)平臺(tái)都應(yīng)提供以下12種功能。
1.接近自己的數(shù)據(jù)
如果組織擁有建立精確模型所需的大量數(shù)據(jù),則不希望將其傳輸?shù)绞澜绺鞯亍_@里的問(wèn)題并不是距離,而是時(shí)間:數(shù)據(jù)傳輸速度最終受到光速限制,即使在帶寬無(wú)限的完美網(wǎng)絡(luò)上也是如此。長(zhǎng)距離意味著等待時(shí)間更長(zhǎng)。
對(duì)于非常大的數(shù)據(jù)集,理想的情況是在已經(jīng)存在數(shù)據(jù)的地方建立模型,從而不需要傳輸大量數(shù)據(jù)。一些數(shù)據(jù)庫(kù)在一定程度上支持這一點(diǎn)。
下一個(gè)最佳情況是數(shù)據(jù)與模型構(gòu)建軟件位于同一高速網(wǎng)絡(luò)上,這通常意味著在同一數(shù)據(jù)中心內(nèi)。如果組織擁有TB或更大容量的數(shù)據(jù),即使將數(shù)據(jù)從一個(gè)數(shù)據(jù)中心遷移到云計(jì)算可用性區(qū)域內(nèi)的另一個(gè)數(shù)據(jù)中心,也可能會(huì)造成嚴(yán)重的延遲。組織可以通過(guò)執(zhí)行增量更新來(lái)緩解這種情況。
最壞的情況是,組織必須在帶寬受限和高延遲的路徑上遠(yuǎn)程移動(dòng)大量數(shù)據(jù)。而在這方面,澳大利亞為此部署的跨太平洋電纜的工程令人驚嘆。
2.支持ETL或ELT管道
ETL(導(dǎo)出、轉(zhuǎn)換和加載)和ELT(導(dǎo)出、加載和轉(zhuǎn)換)是數(shù)據(jù)庫(kù)領(lǐng)域中常見(jiàn)的兩種數(shù)據(jù)管道配置。機(jī)器學(xué)習(xí)和深度學(xué)習(xí)擴(kuò)大了對(duì)這些內(nèi)容的需求,尤其是轉(zhuǎn)換部分。當(dāng)轉(zhuǎn)換需要更改時(shí),ELT為組織提供更大的靈活性,因?yàn)榧虞d階段通常是大數(shù)據(jù)最耗時(shí)的階段。
通常情況下,沒(méi)有進(jìn)行處理的數(shù)據(jù)很嘈雜,需要過(guò)濾。此外,這些數(shù)據(jù)的范圍也有所不同:一個(gè)變量的最大值可能高達(dá)數(shù)百萬(wàn),而另一個(gè)變量的范圍可能是-0.1至-0.001。對(duì)于機(jī)器學(xué)習(xí)來(lái)說(shuō),必須將其變量轉(zhuǎn)換為標(biāo)準(zhǔn)化的范圍,以防止較大范圍的變量控制模型。具體的標(biāo)準(zhǔn)化范圍取決于模型使用的算法。
3.支持在線(xiàn)環(huán)境進(jìn)行模型構(gòu)建
傳統(tǒng)的觀(guān)點(diǎn)是,組織應(yīng)該將數(shù)據(jù)導(dǎo)入桌面設(shè)備以進(jìn)行模型構(gòu)建。建立良好的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)模型所需的大量數(shù)據(jù)改變了局面:組織可以將一小部分?jǐn)?shù)據(jù)樣本下載到桌面設(shè)備上,以進(jìn)行探索性數(shù)據(jù)分析和模型構(gòu)建,但是對(duì)于生產(chǎn)模型,則需要訪(fǎng)問(wèn)完整的模型數(shù)據(jù)。
Jupyter Notebooks、JupyterLab和Apache Zeppelin等基于Web的開(kāi)發(fā)環(huán)境非常適合模型構(gòu)建。如果組織的數(shù)據(jù)與筆記本電腦環(huán)境位于同一云平臺(tái)中,則可以對(duì)數(shù)據(jù)進(jìn)行分析,以很大程度地減少數(shù)據(jù)移動(dòng)的時(shí)間。
4.支持?jǐn)U展訓(xùn)練
除了訓(xùn)練模型之外,筆記本電池的計(jì)算和內(nèi)存要求通常很小。如果筆記本可以生成在多個(gè)大型虛擬機(jī)或容器上運(yùn)行的訓(xùn)練作業(yè),則將大有幫助。如果訓(xùn)練可以訪(fǎng)問(wèn)加速器(例如GPU、TPU和FPGA),也將有很大幫助;這些模型可以將數(shù)天的訓(xùn)練過(guò)程變成數(shù)小時(shí)。
5.支持AutoML和自動(dòng)特征工程
并不是每個(gè)組織都擅長(zhǎng)于選擇機(jī)器學(xué)習(xí)模型、選擇特征(模型使用的變量),以及從原始觀(guān)察中設(shè)計(jì)新特征。即使組織擅長(zhǎng)這些任務(wù),它們也很耗時(shí),而且可以在很大程度上實(shí)現(xiàn)自動(dòng)化。
AutoML系統(tǒng)經(jīng)常嘗試使用許多模型來(lái)查看哪些模型可以產(chǎn)生優(yōu)秀目標(biāo)函數(shù)值,例如回歸問(wèn)題的最小平方誤差。出色的AutoML系統(tǒng)還可以執(zhí)行功能工程,并有效地利用它們的資源,以盡可能多的特征集合來(lái)追求優(yōu)質(zhì)的模型。
6.支持優(yōu)質(zhì)的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)框架
大多數(shù)數(shù)據(jù)科學(xué)家擁有用于機(jī)器學(xué)習(xí)和深度學(xué)習(xí)技術(shù)的很喜歡的框架和編程語(yǔ)言。對(duì)于喜歡Python的人來(lái)說(shuō),Scikit學(xué)習(xí)通常是機(jī)器學(xué)習(xí)的最?lèi)?ài),而TensorFlow、PyTorch、Keras、MXNet通常是深度學(xué)習(xí)的首選。在Scala中,Spark MLlib往往是機(jī)器學(xué)習(xí)的首選。在R中,有許多原生機(jī)器學(xué)習(xí)包,以及與Python的良好接口。而在Java中,H2O.ai的評(píng)價(jià)很高,Java-ML和Deep Java Library也是如此。
云計(jì)算機(jī)器學(xué)習(xí)和深度學(xué)習(xí)平臺(tái)往往擁有自己的算法集合,并且它們通常以至少一種語(yǔ)言或作為具有特定入口點(diǎn)的容器來(lái)支持外部框架。在某些情況下,組織可以將自己的算法和統(tǒng)計(jì)方法與平臺(tái)的AutoML功能集成在一起,這非常方便。
一些云平臺(tái)還提供了自己的主要深度學(xué)習(xí)框架的調(diào)整版本。例如,AWS公司擁有TensorFlow的優(yōu)化版本,該公司聲稱(chēng)可以為深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練提供近乎線(xiàn)性的可擴(kuò)展性。
7.提供預(yù)訓(xùn)練的模型并支持轉(zhuǎn)移學(xué)習(xí)
并非每個(gè)人都希望花費(fèi)時(shí)間和資源來(lái)訓(xùn)練自己的模型,而即使當(dāng)預(yù)訓(xùn)練的模型可用時(shí),他們也不應(yīng)該如此。例如,ImageNet數(shù)據(jù)集非常龐大,并且要針對(duì)其訓(xùn)練比較先進(jìn)的深度神經(jīng)網(wǎng)絡(luò)可能要花費(fèi)數(shù)周的時(shí)間,因此在可能的情況下使用預(yù)先訓(xùn)練的模型是有意義的。
另一方面,經(jīng)過(guò)預(yù)訓(xùn)練的模型可能無(wú)法始終標(biāo)識(shí)組織關(guān)心的對(duì)象。轉(zhuǎn)移學(xué)習(xí)可以幫助組織針對(duì)特定數(shù)據(jù)集自定義神經(jīng)網(wǎng)絡(luò)的最后幾層,而無(wú)需花費(fèi)更多時(shí)間和資金來(lái)訓(xùn)練整個(gè)網(wǎng)絡(luò)。
8.提供優(yōu)化的人工智能服務(wù)
主要的云平臺(tái)為許多應(yīng)用程序提供了功能強(qiáng)大且經(jīng)過(guò)優(yōu)化的人工智能服務(wù),而不僅僅是圖像識(shí)別。其示例包括語(yǔ)言翻譯、語(yǔ)音轉(zhuǎn)換到文本、文本轉(zhuǎn)換到語(yǔ)音、預(yù)測(cè)和推薦。
這些服務(wù)已經(jīng)經(jīng)過(guò)訓(xùn)練和測(cè)試,其使用的數(shù)據(jù)量超出了企業(yè)通常可獲得的數(shù)據(jù)量。它們還已經(jīng)部署在具有足夠計(jì)算資源(包括加速器)的服務(wù)端點(diǎn)上,以確保在全球負(fù)載下具有良好的響應(yīng)時(shí)間。
9.管理實(shí)驗(yàn)
為組織的數(shù)據(jù)集找到優(yōu)秀模型的唯一方法是嘗試采用所有方法,無(wú)論是人工還是使用AutoML。這就留下了另一個(gè)問(wèn)題:管理實(shí)驗(yàn)。
良好的云計(jì)算機(jī)器學(xué)習(xí)平臺(tái)將為組織提供一種方式,可以查看和比較每個(gè)實(shí)驗(yàn)的目標(biāo)函數(shù)值(訓(xùn)練集和測(cè)試數(shù)據(jù))以及模型和混淆矩陣的大小。而能夠繪制所有這些圖表具有一定的優(yōu)勢(shì)。
10.支持模型部署以進(jìn)行預(yù)測(cè)
一旦組織有了根據(jù)自己的條件選擇優(yōu)秀實(shí)驗(yàn)的方法,就需要一種簡(jiǎn)單的方法來(lái)部署模型。如果組織出于同一目的部署多個(gè)模型,則還需要一種在它們之間分配流量的方法來(lái)進(jìn)行a/b測(cè)試。
11.監(jiān)控預(yù)測(cè)效果
數(shù)據(jù)隨著世界的變化而變化。這意味著組織無(wú)法部署模型而忘記它。與其相反,組織需要監(jiān)視為預(yù)測(cè)而提交的數(shù)據(jù)。當(dāng)數(shù)據(jù)從原始訓(xùn)練數(shù)據(jù)集的基線(xiàn)開(kāi)始發(fā)生明顯變化時(shí),組織需要重新訓(xùn)練模型。
12.控制成本
最后,組織需要一些方法來(lái)控制模型產(chǎn)生的成本。部署用于生產(chǎn)推理的模型通常占到深度學(xué)習(xí)成本的90%,而訓(xùn)練僅占成本的10%。
控制預(yù)測(cè)成本的優(yōu)秀方法取決于組織的負(fù)載和模型的復(fù)雜性。如果負(fù)載很高,則可以使用加速器來(lái)避免添加更多虛擬機(jī)實(shí)例。如果負(fù)載可變,則隨著負(fù)載的增加或減少,組織可能能夠動(dòng)態(tài)更改大小或?qū)嵗蛉萜鞯臄?shù)量。而且,如果組織的負(fù)載較少,則可以使用帶有部分加速器的非常小的實(shí)例來(lái)處理預(yù)測(cè)。
【編輯推薦】
-
云計(jì)算
+關(guān)注
關(guān)注
39文章
7776瀏覽量
137367 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8408瀏覽量
132576 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5500瀏覽量
121118
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論