在Kubernetes日漸成為各大基礎架構環境都要支援的共通工具時,其應用也逐漸在各個領域發酵,而該工具能調度龐大規模容器叢集的能力,也相當適合與機器學習、大數據等應用情境結合。而近日,由Google自家推出的Kubernetes機器學習工具包Kubeflow終於釋出了0.1版。Google表示,雖然該專案僅成立5個多月,但是目前在GitHub上,已經有超過3,000名使用者收藏該專案,「而在GitHub平臺的關注熱度,Kubeflow目前已經到達前2%了。」

而Kubeflow專案中,共仰賴三個核心功能,讓使用者更容易在Kubernetes叢集上執行機器學習應用。首先,Kubeflow支援開源專案JupyterHub,而JupyterHub專案,讓工程師可以創建使用者共同存取的窗口(Hub)。同時,還能讓開發者除了可以使用不同程式語言,同步進行機器學習應用開發,加速專案協作速度。

再者,就是TensorFlow訓練控制元件(TensorFlow Training Controller),依據任務性質,開發者可以同時針對分散式、非分散式的TensroFlow應用,部署相對應的叢集資源。只要完成一次性設定,使用者可以就指定該應用,所需要的CPU、GPU資源。最後是TensorFlow Serving容器,讓企業可以將訓練完畢的TensorFlow模型,搬遷至Kubernetes環境中執行。

而新釋出的0.1版,除了上述核心功能外,也開始擴大支援周遭的開源機器學習生態系工具。像是整併Argo專案,這款主打容器原生的workflow引擎,可以在任何Kubernetes叢集上運作外,該工具在資源調度上的自由,也比VM或是其他傳統伺服器環境更高。同時,利用容器技術,Argo將每個單一workflow,定義成單一容器執行,如此一來,企業就可以使用Kubernetes執行高密度的運算工作,像是數據處理、機器學習等任務。

另外一款工具則是開源機器學習部署平臺Seldon Core,讓機器學習模型可以部署於Kubernetes上運作。而Seldon Core的目標,要讓資料科學家可以用任何工具包、程式語言建立機器學習模型。現階段該工具的支援模型,包含以Python為基礎的TensorFlow、Sklearn,還有Spark、H2O、R等知名模型。此外,Seldon Core也讓機器學習模型可支援REST、gRPC,讓使用者可以更簡單地整合相關企業應用。

不僅如此,Kubeflow 0.1版還有許多有意思的新功能、新特色。例如,它也開始實驗性地支援深度學習框架Caffe2,讓這款框架也能在Kubernetes上執行,或是改善TensorFlow的訓練效能、利用身份驗證功能增進安全性,以及加強複雜資料流管理等。而Google也已經預告,Kubeflow 0.2版將在今年夏季時釋出。除了要簡化初始設定工作、加速整合其他應用外,還想要支援更多不同的機器學習框架,例如Spark、XGBoost、Sklearn等。


Advertisement

更多 iThome相關內容