未來趨勢:談 DataOps, MLOps 和 AIOps

MLOps

圖片來源:https://www.xenonstack.com/blog/mlops


“ DevOps 最重要的目的是,考量軟體開發者(Dev)與維運者(Ops)間如何相互合作的流程、習慣和文化。”


DevOps 已經是現代化軟體公司非常重要的合作原則與企業文化。傳統的軟體公司會像生產線一樣,將軟體開發部門與負責維運的部門分到辦公室的不同樓層。開發者只要專注打造新功能、維運人員負責監測軟體的運作狀況。

但隨著軟體開發的流程越來越複雜,更新的頻率益加頻繁,為了避免讓開發與維運團隊的工作產生衝突。研究如何在這兩者之間建立共識、運用工具使流程更加自動化、讓開發者和維運人員間的溝通更為流暢,這就是 DevOps 的精神。


不只要 DevOps,最好還能導入 MLOps


現代化的敏捷開發 VS. 傳統瀑布式開發

現代化的敏捷開發 VS. 傳統瀑布式開發


傳統的瀑布式開發方式,發布更新可能會讓開發者失眠一整個晚上。開發者可能要好幾個月甚至是一年,才發佈一次更新。但現代化的軟體開發流程,更強調敏捷(Agile Development)式、持續交付(Continuous delivery)的開發方式,開發者可以在幾次的大型更新之間,每隔幾天安插一次小型更新,排除比較細節的問題。

這種開發方式,能夠降低大規模修改程式碼,不慎破壞程式核心功能的風險。也能夠更快速地回復使用者的需求,跟上市場的變化。

實際上每個團隊執行 DevOps 的方式各有不同。團隊可以聘請 PM 擔任協調人;或是運用各種數位工具,提升開發者和維運人員的溝通效率與自動化程度。DataOps, MLOps 和 AIOps,正是應用不同工具來協助團隊自動化執行 DevOps 的不同方法:


DataOps


開發團隊可以藉由收集各種使用資料,來作為軟體更新的參考。雖然收集資料並進行分析,主要是數據科學家的工作,但 DataOps 所倡導的概念就是希望團隊每一個會產出、使用資料的成員,都應該養成良好的習慣,提升資料的可信度與可用性,這樣才有好的數據能夠輔助決策。過去軟體的使用資料可能分散在各個資料庫中,需要手動處理,如何建立自動化的流程,也就是 MLOps 中很重要的一環。

MLOps Components

圖片來源:https://chowdera.com/2020/12/20201229134405530p.html


MLOps (甚至是 AIOps)


有了高品質的使用數據,MLOps 才有被實現的可能。MLOps 也就是 Machine Learning + DEV+OPS 三個名詞的合併。MLOps 讓資料科學家建構的模型能夠跨團隊運作,甚至導入 AI,成為 AIOps,使自動化的程度更為深入。

MLOps ( 甚至是AIOps) 要能成功實行,選擇一個實用的 MLOps 平台非常重要。有三點非常的關鍵:

  • Model 的執行環境一致:MLOps 雲端平台能夠確保在不同的裝置上,都能在一樣的環境中執行開發者的 Model,除了方便團隊一同使用之外,也更能確保執行結果的一致性,不會換台電腦就跑出不同結果。
  • 容易控管訓練成本:機器學習在訓練 model 時可能會需要消耗大量運算資源,對很多想要導入MLOps的團隊來說,能夠自由增加或減少運算資源(例如GPU 數量、記憶體大小等),自動化節約成本,將錢花在最重要的地方,是很關鍵的。
  • 連結常用的工具或服務:一個方便使用的 MLOps 平臺,應該要能夠串接各種常見的工具。以 MLOps 雲端平台「AI-Stack」為例,可以讓開發者在三分鐘內,設定容器規格與 image,使用 Jupiter Notebook 與 TensorBoard 等工具環境進行開發。

MLOps 最重要的精神,就是讓機器學習不再只是處理數據的工具,而是能夠讓團隊建立與時俱進、緊密合作的團隊文化。讓開發團隊和維運團隊彼此都能更加瞭解彼此的工作,相互優化。實現 MLOps 與 AIOPs, 將是現代化軟體開發團隊未來的重要趨勢。


想了解如何應用「AI-Stack」在團隊中導入 MLOps 提升團隊解決問題的能力、加速開發流程,請參考數位無限官網:https://www.infinitiessoft.com/

Infinities
Infinities

數位無限軟體(InfinitiesSoft)專注於為企業解決虛擬化、容器化、微服務、邊緣運算、混合雲管理、異質IT環境與人工智慧帶來的挑戰,整合異質雲管與熱門的開源AI深度學習架構和開發工具環境,提供一站購足的AI機器學習雲平台方案AI-Stack。

相關文章
相關關鍵字