在 AI 系統生命週期中,設計階段至關重要,它決定了系統的整體架構和效能。對於複雜的 AI 系統,採用平行設計方法,讓 AI 模型與非 AI 模組同步開發,能有效縮短開發週期並提升整合效率。微服務架構作為一種現代化的系統設計方法,在 AI 系統中也有廣泛應用,它將系統拆分成小型、獨立的服務,方便團隊獨立開發和佈署,提升開發速度和靈活性。然而,微服務架構也帶來了服務間協調和管理的複雜性,需要團隊在設計時仔細權衡利弊,根據實際需求選擇合適的架構。
討論問題
- MLOps與DevOps之間的關係是什麼?它們之間有什麼相似之處和不同之處?
- MLOps管道的核心元件是什麼?它們之間如何互動作用?
- 基礎設施即程式碼(IaC)如何在MLOps中使用?
進一步閱讀
若要了解更多關於MLOps的資訊,可以參考[Ameisen 20],它提供了對機器學習模型生命週期的全面概覽。[Amershi 19]闡述了軟體工程和機器學習之間的橋樑,強調了在機器學習中堅實的開發實踐的重要性。更多關於AI模型與系統評估的討論可以在Xia et al. [Xia 24A]中找到。
系統生命週期
隨著AI模型的訓練和佈署,系統生命週期的下一步就是將其整合到整體系統中,並進行佈署和操作。這個過程涉及多個階段,包括設計、建構、測試、佈署和操作。每個階段都需要仔細考慮,以確保系統的穩定性、效能和安全性。
設計
設計階段是系統生命週期的起點。在這個階段,需要進行微服務架構的設計,包括非人工智慧模組和人工智慧模組的設計。這兩種模組的設計應該緊密合作,以確保整體系統的協調性。
協同設計與開發
協同設計與開發是一種來自硬體和軟體開發者的方法。傳統上,硬體先被設計,然後軟體被設計來適應硬體。但這種方法常常導致問題,因為硬體的限制使得軟體的設計變得非常困難。協同設計與開發意味著硬體和軟體的設計與開發是平行進行的,而不是順序進行的。這樣可以允許硬體和軟體開發者之間進行協商,以達到最佳的設計方案。
平行設計與微服務架構在AI系統中的應用
在開發AI系統時,傳統的順序設計方法可能會導致硬體和軟體之間的整合過程變得複雜和耗時。為了改善這個問題,採用平行設計的概念可以使硬體和軟體的設計與開發同時進行,從而加速整合過程。
平行設計的優勢
平行設計允許AI模型的開發與非AI模組的設計和開發同時進行。這種方法可以讓AI開發者和非AI開發者之間進行合作,共同發現和解決潛在的問題。理想情況下,具備跨領域專長的開發者可以更順暢地進行共同設計和開發。
跨領域團隊的重要性
為了實作平行設計,需要設立跨領域團隊來共同開發影響AI和非AI模組的設計部分。然而,跨領域團隊可能會遇到語言和文化差異等問題。根據Bruce Tuckman的團隊形成理論,團隊發展會經歷「形成、風暴、規範、表現」等階段。如果設立了這樣的團隊,需要確保團隊成員有機制來解決在團隊發展過程中出現的問題。
微服務架構的應用
一般來說,微服務架構是一種適合AI系統的設計方法。將服務封裝為容器可以很好地融入微服務架構中。然而,需要注意的是,並不是所有情況下微服務都是最適合的選擇。在使用微服務架構時,需要考慮效率和開發、佈署速度之間的權衡。微服務是小型且由特定團隊管理的,這樣可以讓團隊在開發和佈署決策上具有更大的自主性,但也可能導致協調複雜性增加。
微服務的權衡
使用微服務代表著效率和開發、佈署速度之間的權衡。雖然微服務可以提供更快速的開發和佈署,但也可能導致系統複雜性增加和協調成本上升。因此,在設計AI系統時,需要仔細評估是否使用微服務架構,並根據具體情況進行選擇。
AI 系統設計流程活動圖
圖表描述 (Alt Text): 此活動圖展示了AI系統的設計流程,從採用平行設計方法開始,到組建跨領域團隊,再到評估微服務架構,並在效率與速度之間進行權衡,最終做出設計決策。
MLOps 正迅速成為AI 應用落地的關鍵推手。深入剖析 MLOps 與 DevOps 的關係,可以發現兩者皆強調自動化和持續整合/佈署,但 MLOps 更側重於機器學習模型生命週期管理的獨特挑戰,例如資料版本控制、模型訓練與評估、模型佈署和監控等。技術堆疊的各層級協同運作中體現了 MLOps 的複雜性,涵蓋了程式碼管理、自動化構建、模型訓練、模型驗證、模型服務以及監控告警等核心元件。IaC 在 MLOps 中扮演著至關重要的角色,它能將基礎設施以程式碼的形式進行管理,實作自動化佈署和版本控制,從而提高佈署效率並降低人為錯誤風險。
權衡系統資源消耗與處理效率後,MLOps 管道需要根據實際業務需求和資源限制進行設計。多維比較分析顯示,雖然微服務架構在 AI 系統中應用廣泛,但並非所有情境都適用。對於資源有限的團隊,單體架構或更輕量級的服務架構可能更具成本效益。技術限制深析指出,跨領域團隊的溝通協作和技能匹配是 MLOps 落地的主要挑戰之一。此外,模型的可解釋性、資料隱私以及模型偏見等問題也需要納入考量。
觀察產業鏈上下游的技術選擇,MLOps 的發展趨勢將更注重模型的可解釋性、公平性和安全性。隨著技術的演進,預計 AutoML 和 AI 平臺將進一步簡化 MLOps 流程,降低技術門檻。同時,模型監控和告警系統的完善將有助於提升模型的穩定性和可靠性。
玄貓認為,MLOps 雖仍處於發展階段,但其對 AI 應用落地的重要性不容忽視。技術團隊應著重於解決跨領域協作、模型可解釋性以及安全性等核心挑戰,才能充分釋放 MLOps 的潛力,並在快速變化的 AI 產業競爭中保持領先地位。