Kubeflow:連接雲計算和機器學習的「橋梁」

2020-09-03 博文視點Broadview

當前的IT界有兩大「高速列車」,

一個是以Kubernetes為標杆技術的雲計算,另一個是以TensorFlow、PyTorch等為代表的機器學習

二者相輔相成、相互促進,共同引領IT技術飛速發展。

如何使機器學習更好地在基於Kubernetes的雲平臺上運行,成了近年IT行業的熱點話題,也是各大IT公司試圖解決的重要問題。在這樣的背景下Kubeflow橫空出世!

Kubeflow的誕生為Kubernetes生態系統畫上了絢麗的一筆,對機器學習工程師來說,可謂雪中送炭。其有效地連接起了機器學習和雲計算兩大領域,一時之間成了「兵家必爭之地」

01

Kubeflow是什麼?

Kubeflow並不是一種技術,它實際上是一些技術的組合,涉及機器學習的方方面面。

Kubeflow從2017年開始在Google內部使用,於2018年初開源,只用了一年時間,就發展成了能夠運行整個機器學習Pipelines的多架構、多雲框架。

官方對Kubeflow的定義如下:Kubeflow 是 Kubernetes 的機器學習工具包,是一個為Kubernetes構建的簡單、可組合、可攜式、可擴展的機器學習技術棧,作用是方便機器學習的工作流部署。

簡而言之,Kubeflow猶如一座橋梁,連接起了雲計算的標杆技術Kubernetes和機器學習的主流框架。


02

Kubeflow名字從何而來?

在最初命名時,Kubeflow的前半部分來自Kubernetes,後半部分來自TensorFlow

但目前看來,flow代表的不止是TensorFlow,而是所有AI平臺,包括PyTorch、MXNet、XGBoost等,因為Kubeflow社區支持大部分機器學習框架,所以我們可以將flow理解為「流」技術的統稱。


03

Kubeflow能做什麼?

Kubeflow能夠發展這麼迅速,正是因為這份「橋梁」的作用提供了AI在Kubernetes雲平臺上實現端到端的解決方案,給雲計算增加了一個重要的應用場景,使機器學習可以更加迅速地發力,大大縮短了機器學習的周期,極大地提高了機器學習的效率,降低了數據科學家和機器學習工程師的維護成本。

Kubeflow的出現,為數據科學家和機器學習工程師節省了搭建平臺和處理流程等工作,使用者只需將主要的精力放到自己的業務邏輯上,如編寫機器學習代碼(Kubeflow可以協助節省部分精力)、進行特殊數據處理等,對於其他工作,如與平臺相關的工作,都可以交給Kubeflow完成。除了平臺部署的相關工作,Kubeflow還會做一些如Katib可以負責超參調優、KFServing可以負責模型發布和模型解釋等工作,對機器學習有很大的輔助和促進作用。

那麼有人會問:機器學習不就是模型訓練嗎,為什麼需要在Kubernetes雲平臺上運行呢,在一臺性能比較好、帶有GPU或TPU的機器上直接訓練模型不就行了?

在真實的生產環境中,模型訓練只是機器學習流程中一個很小的模塊,而大部分工作是模型訓練之外的工作,如平臺的搭建和配置、數據收集、數據檢查、數據轉換、模型分析、監控、日誌收集和分析、服務發布和更新、遷移訓練等。Kubeflow可以輔助完成節省模型訓練之外的工作。

機器學習的組成模塊

比如在進行模型訓練時,如果僅僅使用性能比較好的機器進行模型訓練,則只能滿足實驗室階段的要求,在真實的生產環境中,模型較大,並且層析較深,很難通過單機在有效的時間內完成模型訓練或遷移,需要集群「作戰」,進行分布式訓練,集群一般部署在雲計算平臺上,Kubeflow社區中的tf-operator項目正是負責在Kubernetes雲平臺上進行分布式模型訓練的。

從上圖我們也可以看出,機器學習要經過多個步驟才能完成,而後面的步驟需要前面步驟的結果。例如,模型訓練需要經過數據檢驗和數據轉換的數據,而服務發布需要訓練好的模型,一環套一環。Kubeflow Pipelines項目可以有效地將以上步驟連接起來。

Kubeflow現在已經有三十多個項目,其中比較活躍的核心項目有近二十個,並且不斷有新的項目產生。

Kubeflow的核心組件


04

怎樣學習Kubeflow

博文視點新書《Kubeflow:雲計算和機器學習的橋梁》現已上市,全面介紹了Kubeflow社區的各項技術,並濃縮了大量的開發知識和實戰經驗,是一本非常有參考價值的圖書!

何金池 李峰 劉光亞 劉侯剛 編著


主要講解Kubeflow及其社區的技術棧,包括機器學習的流程編排技術Pipelines、並行模型訓練技術TFJob和PyTorchJob等、超參調優技術Katib、服務發布KFServing、機器學習的Python SDK Fairing等,涉及機器學習的各個方面。

本書結合理論和實戰,詳細闡述了Kubeflow社區的新技術和新方案,並且展望了Kubeflow的前景和AI Hub的發展趨勢。


本書是基於Kubeflow 0.7編寫的,由於Kubeflow社區的高速發展,本書後期會有技術和方案上的改動,在閱讀本書的過程中,還需要參考Kubeflow社區的最新資訊。此外,作者會通過GitHub更新一些書中過期的方案和技術給讀者作為參考。


▊關於本書作者

何金池,高級軟體工程師,負責IBM Data & AI系統研發,Kubeflow社區Maintainer。

李峰,高級軟體工程師,負責IBM 認知系統研發,Kubeflow社區Maintainer。

劉光亞,IBM Cloud Pak for Multicloud Management的STSM(Senior Technical Staff Member),資深架構師,負責IBM多雲管理的研發與AI集成。

劉侯剛,高級軟體工程師, 負責IBM私有雲研發,Kubeflow社區Maintainer,Katib聯合創始人。


▊ 業內力薦

高策 / 才雲科技機器學習平臺團隊Technical Leader & Kubeflow Maintainer

孫丹 / KFServing聯合創始人& Maintainer

朱傑 / 華為AIOps構架師


▊ 本書結構

第1篇 IT兩大「高速列車」:雲計算和機器學習

第1章 雲計算和KUBERNETES

1.1 雲計算

1.2 虛擬化使雲計算輕鬆落地

1.3 KUBERNETES——雲計算的新標杆

第2章 機器學習

2.1 人工智慧的第三次「衝擊波」

2.2 機器學習在生活中的應用

2.3 機器學習的主流框架

2.4 機器學習的「HELLO WORLD」

第2篇 KUBEFLOW:連接雲計算和機器學習的「橋梁」

第3章 KUBEFLOW概述

3.1 KUBEFLOW是什麼

3.2 KUBEFLOW的發展

3.3 KUBEFLOW的核心組件

第4章 KUBEFLOW的部署與應用

4.1 KUBEFLOW的安裝與部署

4.2 KUBEFLOW的用戶故事

4.3 KUBEFLOW端到端的用戶案例

4.4 KUBEFLOW對IBM POWER平臺的支持

第5章 KUBEFLOW PIPELINES流水線式機器學習

5.1 KUBEFLOW PIPELINES是什麼

5.2 KUBEFLOW PIPELINES的基本概念

5.3 KUBEFLOW PIPELINES的架構

5.4 PIPELINES SDK

5.5 動手構建自己的PIPELINES

5.6 KUBEFLOW PIPELINES的實際應用

第6章 KUBEFLOW OPERATOR自定義資源

6.1 KUBERNETES CRD簡述

6.2 TENSORFLOW OPERATOR

6.3 PYTORCH OPERATOR

6.4 其他OPERATOR

第7章 KUBEFLOW KATIB超參調優

7.1 機器學習中的超參調優

7.2 什麼是KATIB

7.3 KATIB的安裝方法

7.4 KATIB的架構

7.5 KATIB的業務流程

7.6 使用KATIB進行一次超參調優

第8章 KFSERVING解決機器學習「最後一公裡」的問題

8.1 KFSERVING是什麼

8.2 ISTIO簡介

8.3 KNATIVE簡介

8.4 KFSERVING的架構分析

8.5 KFSERVING PYTHON SDK

8.6 KFSERVING的應用實例

第9章 KUBEFLOW FAIRING帶機器學習「飛」

9.1 KUBEFLOW FAIRING是什麼

9.2 KUBEFLOW FAIRING的安裝方法

9.3 KUBEFLOW FAIRING的架構分析

9.4 KUBEFLOW FAIRING的源碼分析

9.5 KUBEFLOW FAIRING的應用實例

第10章 KUBEFLOW METADATA

10.1 KUBEFLOW METADATA簡述

10.2 KUBEFLOW METADATA的架構與設計

10.3 METADATA支持的元數據和數據表

10.4 KUBEFLOW METADATA實戰

第11章 KUBEBENCH機器學習哪家強

11.1 先從BENCHMARK說起

11.2 KUBEBENCH的安裝方法

11.3 KUBEBENCH的架構

11.4 KUBEBENCH的實踐

第12章 KUBEFLOW中的JUPYTER NOTEBOOK HUB

12.1 JUPYTER NOTEBOOK簡述

12.2 JUPYTER NOTEBOOK的架構及其運行原理

12.3 KUBEFLOW JUPYTER NOTEBOOK的組件及其使用方法

第3篇 KUBEFLOW的應用和展望

第13章 KUBEFLOW的應用實戰

13.1 在雲平臺上進行機器學習

13.2 基於KUBEFLOW的SEQ2SEQ機器學習案例

第14章 KUBEFLOW前景展望和AI HUB

14.1 KUBEFLOW 1.0的功能和計劃

14.2 基於KUBEFLOW的AI HUB新模式

14.3 智能雲中的AIAAS(AI服務)

相關焦點

  • 使用Kubeflow構建機器學習流水線
    在此前的文章中,我已經向你介紹了Kubeflow,這是一個為團隊設置的機器學習平臺,需要構建機器學習流水線。在本文中,我們將了解如何採用現有的機器學習詳細並將其變成Kubeflow的機器學習流水線,進而可以部署在Kubernetes上。
  • 使用Kubeflow構建機器學習流水線
    在此前的文章中,我已經向你介紹了Kubeflow,這是一個為團隊設置的機器學習平臺,需要構建機器學習流水線。在本文中,我們將了解如何採用現有的機器學習詳細並將其變成Kubeflow的機器學習流水線,進而可以部署在Kubernetes上。
  • kubeflow系列(二):kubeflow組件剖析大全
    kubeflow作為基於雲原生的機器學習大禮包,即可以作為一個很好的雲原生的學習例子,同時基於k8s的生態必將是未來的發展的方向,相信後續Mxnet、paddle等各類型技術框架也都會運行在kubernetes這個生態之上,而對組件和架構的梳理可以以最快的速度了解kubeflow。
  • 基於國內阿里雲鏡像解決kubeflow一鍵安裝
    google出品在國內都存在牆的問題,而kubeflow作為雲原生的機器學習套件對團隊的幫助很大,對於無翻牆條件的團隊,基於國內鏡像搭建kubeflow可以幫助大家解決不少麻煩,這裡給大家提供一套基於國內阿里雲鏡像的kubeflow 0.6的安裝方案。
  • Kubernetes集群正在遭挖礦劫持,這一次目標是Kubeflow,微軟...
    6月10日,微軟Azure安全中心(ASC)正式發出警告,黑客正在對Kubernetes集群中的機器學習工具包Kubeflow安裝加密貨幣曠工,試圖利用CPU資源挖掘Monero虛擬貨幣XMRIG。這項惡意「開採」行動於4月份開始,已對數十個Kubernetes集群造成汙染。ASC調查發現,黑客攻擊Kubeflow是因為用戶更改了默認設置。
  • 詳解Kubeflow這一K8S的機器學習利器
    由此可以看出,Kubeflow的目標是基於K8S,構建一整套統一的機器學習平臺,覆蓋最主要的機器學習流程(數據->特徵->建模->服務→監控),同時兼顧機器學習的實驗探索階段和正式的生產環境。1.
  • 雲計算、人工智慧和機器學習如何改變醫療保健
    當地方領導人就如何保護其居民的安全做出決定時,雲基礎架構提供了跨組織的全球網絡安全地收集、分析和共享數據的能力。在這一迅速採用雲計算的時期,人工智慧(AI)和機器學習技術的使用也迅速增加。取消身份驗證是從患者數據中刪除身份信息的過程,對於與非特權方出於研究目的共享健康信息,從多個來源創建數據集進行分析以及對數據進行匿名化至關重要,以便將其用於先進的分析和機器學習模型。舉例來說,Google Cloud Healthcare API可以檢測敏感數據(例如受保護的健康信息(PHI)),並對其進行屏蔽,刪除或遮蓋。
  • kubeflow系列(三):模型即服務,關於tensorflow serving的使用
    模型即服務(Model as a service)作為算法模型最優雅的價值變現,也是最佳的tf算法部署實踐,Tensorflow Serving 作為Tensorflow官方的模型部署方案,也是kubeflow默認的一種tensorflow部署形式,本文介紹如何用 Tensorflow Serving 部署算法模型。
  • 5種雲計算所需的機器學習技能
    雲計算服務為構建和部署人工智慧和機器學習應用程式所需的一系列功能提供支持。在許多方面,人工智慧系統的管理方式與IT專業人士在雲平臺中熟悉的其他軟體非常相似。但只是因為可以部署應用程式,並不意味著可以成功地部署機器學習模型。
  • 雲計算與機器學習——新基建下的IT發展與變化 | CNCC
    本論壇將於CNCC第三天(10月24日)13:30-15:30在北京新世紀日航飯店二層江蘇廳舉行,共邀雲聯壹雲、啟元世界、中科曙光、中科院空天信息創新研究院、滴滴雲等機構的專家與你探討,新基建下雲計算與機器學習的發展與變化。歡迎參加!
  • 錯誤配置K8s機器學習框架Kubeflow易招來挖礦攻擊
    微軟的Azure信息安全中心偵測到新一波Kubernetes集群挖礦攻擊,目標鎖定Kubernetes機器學習工具包Kubeflow,微軟發現已經有數十個Kubernetes集群受到挖礦攻擊影響。Kubeflow是一個開源項目,起初只是要讓TensorFlow工作負載,能夠在Kubernetes上運行的項目,但隨著項目發展,Kubeflow已經發展成為Kubernetes機器學習的熱門框架,微軟提到,由於用於機器學習工作節點的運算能力,通常比起其他用途節點相對強大,並且在部分情況還會附加GPU,因此是採礦攻擊的絕佳目標。
  • 重建腦科學與AI之間的橋梁,人工神經網絡比機器學習更優嗎?
    圖片來源@全景視覺文丨學術頭條幾十年來,神經科學在人工智慧的研究歷程中起到了舉足輕重的作用,人工智慧的奠基人 Donald Hebb、Warren McCulloch、Marvin Minsky 和 Geoff Hinton 最初的研究動力均源自對他們大腦工作機理的濃厚興趣,當時的研究人員也一直試圖模仿大腦的功能,構建神經科學與人工智慧之間的橋梁
  • 健康步道首座橋梁建成 連接薛嶺山和虎頭山公園
    健康步道首座橋梁建成  橫跨金尚路,連接薛嶺山和虎頭山公園,外形宛如飛翼
  • 騰訊云云兔發布2.0版本 ,機器學習實現網絡智能切換連接
    12月14日,騰訊無線連接管理平臺騰訊云云兔全新升級,發布最新的2.0版本。升級之後,雲兔大幅優化了策略切換的控制邏輯,引入機器學習策略、弱網循環策略,使得雲兔在邊緣切換更加智能準確,最大程度避免了各種誤切換以及循環切換。同時,雲兔2.0支持私有化部署,並新增了渠道商、代理商二次運營的分傭系統。當下,物聯網設備的數量正呈爆發式增長。
  • k8s 機器學習工具包 Kubeflow 發布 1.0 穩定版
    Kubeflow 也是首個針對 Kubernetes,提供可移植與可擴展的機器學習解決方案,讓用戶利用機器學習來調度在 Kubernetes 上執行的複雜工作流。隨著此版本的發布,一批用於在 Kubernetes 上有效開發、構建、訓練和部署模型的穩定應用程式也即將畢業,這些應用包括:
  • 一座連接香港、澳門和廣東珠海的橋梁,它的存在讓全世界震驚!
    為了方便這些城市的居民出行,我國在一些不適合的城市修建了橋梁,如雞鳴三省大橋、港珠澳大橋橋等。港珠澳大橋是連接香港、澳門和廣東珠海的橋梁和隧道工程。港珠澳大橋的建成通車,大大縮短了港珠澳之間的時空距離,促進了人流、物流、資金流、技術流等創新要素的高效流動和配置,推動粵港澳大灣區建設成為更具活力的經濟區!
  • 一文讀懂雲計算-虎嗅網
    >媒體服務:提供圖片和音視頻等媒體文件的編碼、加工和存儲服務機器學習框架:提供面向AI應用開發者的機器學習數據標註和模型訓練平臺小到發送一條驗證碼簡訊也是一項PaaS服務。只要堆上足夠好的網絡設備和奢侈的專線連接,世界上任何地點的計算設備都可以組成高速專網。即便客戶預算有限,只要對安全性和連通性的要求沒有那麼高,也可以自助搭建經濟的VPN網絡。圍繞通過商業網絡連接組建混合雲的技術被稱之為「SD-WAN」。有了網絡連接,就可以把客戶自有的計算設施和公共雲計算設施連接在一起,稱之為「混合雲」。
  • 亞馬遜雲服務:重塑混合雲,布局工業領域機器學習服務
    AWS認為,企業最終都將不再會有自己的數據中心,但為了在雲和本地之間搭建橋梁,AWS也推出了更多細化的服務,在雲與本地數據中心之間建立橋梁。隨著世界範圍內5G和工業網際網路布局深入,12月9日,AWS還進一步發布了5個全新的用於工業領域的機器學習服務。
  • 量子云計算發展態勢研究報告2020
    ,以及高性能量 子線路模擬器;本源量子推出了國內第一款量子機器學習框架 VQNet, 可滿足構建包括 QAOA、VQE、量子分類器和量子線路學習算法等常見類型的量子機器學習算法;百度發布了量子機器學習開發工具 Paddle Quantum 量槳,提供了對量子機器學習的支持,這也是國內 首次在深度學習平臺引入量子機器學習工具。
  • 2020亞馬遜創新日:深度解讀人工智慧和機器學習的數字驅動力
    另外,在商業模式創新方面,作為首個本地化的全球商店,亞馬遜海外購充分依託全球布局的優勢,以19大站點連接起全球175個運營中心,將各地的資源連線成面,進而覆蓋3億全球消費者,組成了強大的全球智能網絡;並通過輕量化運營模式,利用大數據、人工智慧、機器學習等技術能力,實現了本地零庫存、低成本以及「訂單未下 貨已先行」的高效運營模式。