您現(xiàn)在的位置是:首頁(yè) >互聯(lián)網(wǎng) > 2020-11-02 14:00:47 來源:
Kubeflow在標(biāo)準(zhǔn)化AIDevOps管道方面顯示出希望
為云開發(fā)應(yīng)用程序越來越需要構(gòu)建和部署容器化的微服務(wù)或可以部署到多個(gè)計(jì)算環(huán)境的應(yīng)用程序模塊。
人工智能越來越成為這些云應(yīng)用程序的核心。為了滿足在云應(yīng)用程序中創(chuàng)建和部署容器化AI模型的需求,越來越多的應(yīng)用程序開發(fā)工具提供商正在構(gòu)建對(duì)容器化到其數(shù)據(jù)科學(xué)工作臺(tái)以及使用Python,Java和R等語(yǔ)言對(duì)這些應(yīng)用程序進(jìn)行編程的支持。
數(shù)據(jù)科學(xué)工作臺(tái)是許多AI應(yīng)用程序開發(fā)的重點(diǎn)。這些工具的最新一代正在利用云本機(jī)界面,一直到邊緣的源源不斷的容器化機(jī)器學(xué)習(xí)模型。
在AI DevOps管道中將完成的應(yīng)用程序部署到其目標(biāo)平臺(tái)上的實(shí)時(shí)狀態(tài)并非易事。它需要廣泛的工具和基礎(chǔ)架構(gòu)功能,從提供對(duì)流行的AI建??蚣?如TensorFlow和PyTorch)的訪問的工作臺(tái)到大數(shù)據(jù)分析,數(shù)據(jù)治理和工作流管理平臺(tái),應(yīng)有盡有。在云原生環(huán)境中,它還需要具有在公共,私有,混合,多云甚至邊緣環(huán)境中的Kubernetes編排主干上部署容器化機(jī)器學(xué)習(xí)和其他AI微服務(wù)的能力。
隨著AI應(yīng)用程序開始注入云計(jì)算領(lǐng)域的每個(gè)角落,對(duì)于此DevOps管道必須有開放,靈活的標(biāo)準(zhǔn),這一點(diǎn)絕對(duì)必要。這可以使在一個(gè)工作臺(tái)或一個(gè)框架中構(gòu)建的AI應(yīng)用程序能夠在各種云原生應(yīng)用程序環(huán)境中進(jìn)行下游培訓(xùn),服務(wù),執(zhí)行,基準(zhǔn)測(cè)試和管理,這些環(huán)境都使用通用的端到端Kubernetes背板。
認(rèn)識(shí)到這一必要性,人工智能社區(qū)在過去一年中迅速地圍繞一個(gè)開源項(xiàng)目進(jìn)行了合并,該項(xiàng)目已構(gòu)建了一個(gè)平臺(tái)來驅(qū)動(dòng)Kubernetes上的機(jī)器學(xué)習(xí)DevOps管道。Kubeflow由Google LLC開發(fā)并于2017年底啟動(dòng),提供了與框架無關(guān)的管道,可用于跨多框架,多云云原生生態(tài)系統(tǒng)部署AI微服務(wù)。
Kubeflow支持用于容器化機(jī)器學(xué)習(xí)的整個(gè)DevOps生命周期。它簡(jiǎn)化了可用于生產(chǎn)環(huán)境的AI微服務(wù)的創(chuàng)建,確保了Kubernetes集群之間容器化AI應(yīng)用的移動(dòng)性,并支持將AI DevOps工作負(fù)載擴(kuò)展到任何集群規(guī)模。它旨在支持端到端AI DevOps管道中的任何工作負(fù)載,從前期數(shù)據(jù)準(zhǔn)備到迭代建模和培訓(xùn),再到下游服務(wù),評(píng)估和管理容器化AI微服務(wù)。
盡管 Kubeflow最初是一個(gè)內(nèi)部Google項(xiàng)目,旨在將TensorFlow機(jī)器學(xué)習(xí)模型簡(jiǎn)化到云中的部署,但Kubeflow旨在獨(dú)立于創(chuàng)建這些模型的特定框架,從而與用于訓(xùn)練和推理的底層硬件加速器無關(guān),并在實(shí)現(xiàn)Kubernetes,Docker和其他核心云原生平臺(tái)的多云環(huán)境中的任何地方部署容器化AI應(yīng)用程序。
盡管它作為社區(qū)項(xiàng)目已經(jīng)運(yùn)行了不到一年,但是當(dāng)前版本為0.3的Kubeflow已經(jīng)迅速發(fā)展為包括以下豐富功能:
建模:Kubeflow在TensorFlow框架中支持基于Jupyter的AI建模,社區(qū)計(jì)劃在不久的將來通過Seldon Core(一個(gè)運(yùn)行的開源平臺(tái))支持其他流行的框架,包括PyTorch,Caffe2,MXNet,Chainer等。非TensorFlow服務(wù)和推理工作負(fù)載。
協(xié)作:Kubeflow促進(jìn)了在交互式Jupyter筆記本中創(chuàng)建與框架無關(guān)的AI模型,在Jupyter筆記本 服務(wù)器中執(zhí)行這些模型 以及在多用戶JupyterHub中基于團(tuán)隊(duì)的共享和版本控制。
編排:Kubeflow支持利用開源的Kubernetes編排環(huán)境將容器化的AI應(yīng)用程序部署到云原生的計(jì)算平臺(tái),并利用云原生的Ambassador API,Envoy代理服務(wù),Ingress負(fù)載平衡和虛擬主機(jī)服務(wù)以及Pachyderm數(shù)據(jù)管道。
生產(chǎn):Kubeflow包含用于管理AI DevOps工作流的功能,包括在分布式云中部署TensorFlow。它還具有擴(kuò)展功能,可以增強(qiáng)分布式訓(xùn)練性能,執(zhí)行模型基準(zhǔn)測(cè)試,超參數(shù)調(diào)整,測(cè)量 和測(cè)試。它提供了用于管理的命令行界面Kubernetes應(yīng)用程序清單表明支持由多個(gè)微服務(wù)組件組成的復(fù)雜DevOps管道部署。而且,它可以通過控制器對(duì)容器化的AI模型進(jìn)行調(diào)度和執(zhí)行分布式訓(xùn)練和推理,該控制器可以配置為使用中央處理單元或圖形處理單元,并且可以動(dòng)態(tài)調(diào)整為Kubernetes集群的大小。
由于該項(xiàng)目對(duì)于云中的可伸縮AI應(yīng)用程序至關(guān)重要,因此Kubeflow項(xiàng)目在業(yè)界得到了廣泛的參與和貢獻(xiàn)。該項(xiàng)目現(xiàn)在有來自20個(gè)組織的約100個(gè)貢獻(xiàn)者。這都在不同的貢獻(xiàn)或以其他方式參與Kubeflow社區(qū)組織包括阿里巴巴云,Altoros,亞馬遜Web服務(wù),螞蟻金融,Argo計(jì)劃,Arrikto,Caicloud,規(guī)范,思科,Datawire,戴爾,Github上,谷歌,H20。 i,Heptio,華為,IBM,英特爾,Katacoda,MAPR,中間層,微軟,動(dòng)量,NVIDIA,厚皮類動(dòng)物,底漆,項(xiàng)目Jupyter,紅帽,塞爾頓,尤伯杯 和Weaveworks。
但是,Kubeflow尚未成熟,僅在少數(shù)商業(yè)AI工作臺(tái)和DevOps解決方案中采用。以下是支持容器模型的云原生部署的AI工具供應(yīng)商中的一些早期采用者:
阿里云:云提供商的開源Arena工作臺(tái)將Kubeflow集成在命令行工具中,使AI DevOps專業(yè)人員免受底層資源,環(huán)境管理,任務(wù)調(diào)度以及GPU調(diào)度和分配的復(fù)雜性的影響。它加快了提交TensorFlow AI培訓(xùn)工作并檢查其進(jìn)度的任務(wù)。
Amazon Web Services Inc .:云提供商在其公共云的針對(duì)Kubernetes的Amazon Elastic Container Service上支持Kubeflow。他們利用開源平臺(tái)來支持?jǐn)?shù)據(jù)科學(xué)流水線,這些流水線服務(wù)于在Jupyter筆記本電腦中創(chuàng)建的機(jī)器學(xué)習(xí)模型到GPU工人節(jié)點(diǎn),以作為Kubernetes上的微服務(wù)進(jìn)行可擴(kuò)展的培訓(xùn)和推理。
思科系統(tǒng)公司:供應(yīng)商在內(nèi)部和Google Cloud中都支持Kubeflow。在思科統(tǒng)一計(jì)算系統(tǒng)服務(wù)器平臺(tái)上運(yùn)行Kubeflow的用戶可以為其提供容器化的AI應(yīng)用程序以及在TensorFlow,PyTorch和Spark等框架中構(gòu)建的其他分析工作負(fù)載;第三方AI建模工作臺(tái),例如Anaconda Enterprise和 Cloudera Data Science Workbench;以及Cloudera Inc.和Hortonworks Inc.的大數(shù)據(jù)平臺(tái)。
H20.ai:該公司支持 在Kubernetes上的Kubeflow上部署其 H2O 3 AI DevOps工具鏈,以減少數(shù)據(jù)科學(xué)家花費(fèi)在調(diào)整模型超參數(shù)等任務(wù)上的時(shí)間。
IBM Corp .:提供商在其Cloud Private平臺(tái)中支持Kubeflow以支持在企業(yè)數(shù)據(jù)中心中輕松配置和管理可擴(kuò)展的基于Kubernetes的AI管道,利用Kubeflow與IBM Cloud Private-Community Edition,數(shù)據(jù)科學(xué)家可以在私有內(nèi)部的DevOps管道中進(jìn)行協(xié)作企業(yè)數(shù)據(jù)中心中的云環(huán)境。
Weaveworks:供應(yīng)商提供了DevOps工具,用于在Kubernetes上自動(dòng)部署,可觀察性和監(jiān)視云本機(jī)應(yīng)用程序工作負(fù)載。該工具使用戶能夠利用其Weave Cloud簡(jiǎn)化在Kubernetes集群上運(yùn)行的Kubeflow的可觀察性,部署和監(jiān)視。
來年,Wikibon希望大多數(shù)AI開發(fā)工作臺(tái),面向團(tuán)隊(duì)的機(jī)器管道自動(dòng)化工具和DevOps平臺(tái)的提供商將Kubeflow完全集成到他們的產(chǎn)品中。同時(shí),我們敦促Kubeflow社區(qū)將該項(xiàng)目提交給Cloud Native Computing Foundation,以在一個(gè)專門的工作組中進(jìn)行開發(fā)。