Skip to main content

視覺

MLOps:可擴充人工智慧工作流程的推展途徑

MLOps

可擴充性是任何人工智慧專案最困難一部份。首先,建立和訓練人工智慧模型需要很龐大的資料量。而且,在不同工作、模型與資料組需求之間協調同步,複雜度很大。類似的挑戰是 IT 與工程組織採用 DevOPs 設計原則的主要驅動力量。然而,DevOps 確實無法解決這些人工智慧擴充性的問題。

DevOps 是一組軟體開發生命週期(SDLC)管理做法,可降低開發時間,同時可提供持續且高品質的軟體更新,使組織能擴大工程產出。假使人工智慧與機器學習仰賴重複的模型迭代與演算法優化,則任何同時管理多重人工智慧專案的組織都應使用 DevOps,以處理版本控制與自動化測試這類事情。

隱藏的問題是人工智慧專案是易變的。不同的人工智慧使用案例需要不同的工具,因此,任何支援一種以上之人工智慧應用程式的基礎架構都應具有彈性。另外,在人工智慧系統中,相同的資料可能同時為輸入與輸出,其中,在 ML 專案裡的資料與工作流程可能同時存在於多個平行軌道。

DevOps 模型並非設計用於處理這些多層級資料與工作流程層級。幸運的是,幾十年前建立 DevOps 最佳作法的經驗豐富開發人員,至今仍在解決這個問題。

從 DevOps 到 MLOps

為了說明在組織中人工智慧可能變得多麼難以駕馭,讓我們從一個故事開始談起。

從事開發開源軟體超過二十年的高嘉良(CL Kao) 在他職業生涯早期就開發出一款軟體版本控制系統 SVK。2018 年,一所非營利人工智慧訓練學院吸收了高嘉良,從事開發後端管理系統,此系統可讓不同羣體的人員在共享資料集上協作,並分享開發資料,而不會相互覆蓋其他人的作品,或意外修改到其他人的資料。當時,機器學習工作流程還沒有相同的程序或架構。

高嘉良在 DevOps 開發領域數十年的經驗有助於解決此問題,而這個問題可能比感覺到的還要大。

高嘉良表示:「他們一開始有 200 人,需要一個可以管理所有資源的自動執行方式,以執行深度學習工作。」「否則,就需要 10 人以人工方式管理環境,以確保 200 位學生的專案不會互相干擾。

他問到「您要如何取得資料、清理資料、匯集資料、以及整理資料呢?」。「又要如何管理您的訓練資料庫和工作負載呢?而且您一旦擁有模型,您要如何持續追蹤它們呢?」

解決這些問題的程序,讓高嘉良和 DevOps 社群的其他成員開始進行創作,成為現在的 MLOps。

預先套裝、開放原始碼的 MLOps

MLOps 是人工智慧生命週期管理的一種方法,它修改了 DevOps 的 SDLC 做法以適應需要擴充的人工智慧專案與工作流程。舉例來說,高嘉良創立 InfuseAI 公司,該公司建立 PrimeHub AI,這是一款開源可插拔的 MLOps 平台,可從單一多租戶儀表板內,支援廣泛的工具和軟體套件(圖 1)。

用於管理模型、資料集與工具的中央儀表板螢幕範例
圖 1. PrimeHub AI 平台讓組織從中央儀表板進行管理和部署多個 ML 模型、資料集與工具。(資料來源:InfuseAI

PrimeHub AI 平台採用以 API 為導向的架構,協助使用者同時應付具有不同軟體需求和資料儲存庫的多個專案,而不會錯誤連接工作流程孤島。這是從一個預先套裝的軟體堆疊開始,包含了資料科學家、人工智慧開發人員與 IT 專業人士已熟悉的開放原始碼現成工具:

  • 適用於互動式開發的 Jupyter Notebook
  • 適用於建構與推出 Docker 容器的 Crane
  • 適用於資料版本管理與資料集元數據追蹤的 PipeRider 與 ArtiV
  • 可讓第 3 代應用程式順暢整合至 ML 工作流程的架構,例如模型註冊與資料標籤工具
  • 適用於資料聚焦與視覺化的 Streamlit

另外,此平台支援來自 AWS、Google Cloud 以及 Microsoft Azure 的多個雲端產品。

正如高嘉良解釋,MLOps 必須「接受不同專案的差異,但又以非常高的水準進行標準化,讓您的工具能夠支援實務。」

這正是 API 可發揮作用之處,協助整合 ML 堆疊的每個部分,讓不同的集成開發環境(IDE)、數據庫、資料來源及更多資訊,可以正確無誤地自然匯入建構在上述軟體基礎架構頂層上的 DevOps 工作流程。它們還能整合其它常見的工作流程自動化工具,例如 Jenkins 伺服器、TensorFlow 資料庫,甚至像 Intel®OpenVINO 工具組這樣的模型優化器。

高嘉良表示:「這就像是您需要的所有工具的中樞。」「我們並不會重新執行不同階段。有多種工具可供使用。我們不會更換所有工具,但我們會順利讓這些工具派上用場。」

規模問題

成功部署 MLOps 的目標是解決擴充性的問題,使得配置工作負載和管理資料集花費時間更短,而能夠花更多時間集中在 AI 結果。

舉例來說,PrimeHub AI 平台部署於一家大型醫院,只需要一個小型的 AI 團隊,就能在 COVID-19 疫情大流行時,使用這個平台來管理預測的急診室量能。應用程式包含多個 ML 模型,可追蹤不同病患的狀況、預測他們健康狀況改善的可能性、並研判隔日的可用牀位。同時,模型必須持續再訓練,以調整季節性變化、更新的疫情資料,以及其它因素,然後加以驗證並部署。

先前,所有這些變動的部分,在 AI 開發人員與作業工程師之間建立了一座孤島,讓更新模型的流程得花一週長的時間。然而,透過 PrimeHub MLOps,它變成了一個小時的工作流程,包含更新模型、測試模型,並部署至生產中。

擴充經典的 DevOps 模型,將工作流程自動化、擴充部署,並讓後端控制儘量簡單化,可讓這類型的組織強化其獲取人工智慧價值與投資報酬率的能力。若沒有更短的整備時間,高嘉良表示:「您就只能浪費您的人工智慧投資,眼睜睜看著它閒置在那裡。」

 

作者簡介

Brandon is a long-time contributor to insight.tech going back to its days as Embedded Innovator, with more than a decade of high-tech journalism and media experience in previous roles as Editor-in-Chief of electronics engineering publication Embedded Computing Design, co-host of the Embedded Insiders podcast, and co-chair of live and virtual events such as Industrial IoT University at Sensors Expo and the IoT Device Security Conference. Brandon currently serves as marketing officer for electronic hardware standards organization, PICMG, where he helps evangelize the use of open standards-based technology. Brandon’s coverage focuses on artificial intelligence and machine learning, the Internet of Things, cybersecurity, embedded processors, edge computing, prototyping kits, and safety-critical systems, but extends to any topic of interest to the electronic design community. Drop him a line at techielew@gmail.com, DM him on Twitter @techielew, or connect with him on LinkedIn.

Profile Photo of Brandon Lewis