Google Kubernetes機器學習工具包Kubeflow發(fā)布0.1版
摘要:在Kubernetes日漸成為各大基礎架構環(huán)境都要支持的公用工具時,其應用也逐漸在各個領域發(fā)酵,而該工具能調(diào)度龐大規(guī)模容器集群的能力,也相當適合與機器學習、大數(shù)據(jù)等應用場景結合。
在Kubernetes日漸成為各大基礎架構環(huán)境都要支持的公用工具時,其應用也逐漸在各個領域發(fā)酵,而該工具能調(diào)度龐大規(guī)模容器集群的能力,也相當適合與機器學習、大數(shù)據(jù)等應用場景結合。而近日,由Google自家推出的Kubernetes機器學習工具包Kubeflow終于發(fā)布了0.1版。 Google表示,雖然該項目僅成立5個多月,但是目前在GitHub上,已經(jīng)有超過3,000名用戶收藏該項目,“而在GitHub平臺的關注熱度,Kubeflow目前已經(jīng)到達前2%了。”
而Kubeflow項目中,共依賴三個核心功能,讓用戶更容易在Kubernetes集群上執(zhí)行機器學習應用。首先,Kubeflow支持開源項目JupyterHub,而JupyterHub項目,讓工程師可以創(chuàng)建用戶共同訪問的窗口(Hub)。同時,還能讓開發(fā)者除了可以使用不同程序語言,同步進行機器學習應用開發(fā),加速項目協(xié)作速度。
再者,就是TensorFlow訓練控件(TensorFlow Training Controller),依據(jù)任務性質,開發(fā)者可以同時針對分布式、非分布式的TensroFlow應用,部署相對應的集群資源。只要完成一次性設置,用戶可以就指定該應用,所需要的CPU、GPU資源。最后是TensorFlow Serving容器,讓企業(yè)可以將訓練完畢的TensorFlow模型,搬遷至Kubernetes環(huán)境中執(zhí)行。
而新發(fā)布的0.1版,除了上述核心功能外,也開始擴大支持周邊的開源機器學習生態(tài)系統(tǒng)工具。像是整合Argo項目,這款主打容器原生的workflow引擎,可以在任何Kubernetes集群上運行外,該工具在資源調(diào)度上的自由,也比VM或是其他傳統(tǒng)服務器環(huán)境更高。同時,利用容器技術,Argo將每個單一workflow,定義成單一容器執(zhí)行,如此一來,企業(yè)就可以使用Kubernetes執(zhí)行高密度的運算工作,像是數(shù)據(jù)處理、機器學習等任務。
另外一款工具則是開源機器學習部署平臺Seldon Core,讓機器學習模型可以部署于Kubernetes上運行。而Seldon Core的目標,要讓數(shù)據(jù)科學家可以用任何工具包、程序語言創(chuàng)建機器學習模型?,F(xiàn)階段該工具的支持模型,包含以Python為基礎的TensorFlow、Sklearn,還有Spark、H2O、R等知名模型。此外,Seldon Core也讓機器學習模型可支持REST、gRPC,讓用戶可以更簡單地集成相關企業(yè)應用。
不僅如此,Kubeflow 0.1版還有許多有意思的新功能、新特色。例如,它也開始實驗性地支持深度學習框架Caffe2,讓這款框架也能在Kubernetes上執(zhí)行,或是改善TensorFlow的訓練性能、利用身份驗證功能增進安全性,以及加強復雜數(shù)據(jù)流管理等。而Google也已經(jīng)預告,Kubeflow 0.2版將在今年夏季時發(fā)布。除了要簡化初始設置工作、加速集成其他應用外,還想要支持更多不同的機器學習框架,例如Spark、XGBoost、Sklearn等。