🚀 免費嘗試 Zilliz Cloud,完全托管的 Milvus,體驗速度提升 10 倍!立即嘗試

milvus-logo
LFAI
  • Home
  • Blog
  • 利用軟體 2.0、MLOps 和 Milvus 實現 AI 的規模化運作

利用軟體 2.0、MLOps 和 Milvus 實現 AI 的規模化運作

  • Engineering
March 31, 2021
milvus

建立機器學習 (ML) 應用程式是一個複雜且反覆的過程。隨著越來越多的公司意識到非結構化資料尚未開發的潛力,對人工智能驅動的資料處理和分析的需求將持續增加。如果沒有有效的機器學習作業或 MLOps,大多數的 ML 應用程式投資都會枯萎。研究發現,企業計劃部署的 AI 應用實際上只有 5%達成部署。許多組織都會產生「模型債務」(model debt),即市場條件的變化,以及無法適應這些變化,導致模型上未實現的投資一直揮之不去,無法更新(或更糟的是,根本就沒有部署)。

本文將解釋 MLOps,一種管理 AI 模型生命週期的系統方法,以及如何使用開放原始碼向量資料管理平台Milvus來規模化運用 AI。


什麼是 MLOps?

機器學習營運 (MLOps),也稱為模型營運 (ModelOps) 或 AI 模型營運化,是大規模建置、維護和部署 AI 應用程式的必要條件。由於企業需要將其開發的 AI 模型應用到數百種不同的情境中,因此在整個組織中運作使用中的模型以及開發中的模型,是非常重要的任務。MLOps 包括在機器學習模型的整個生命週期中對其進行監控,並管理從基礎資料到依賴於特定模型的生產系統的有效性等一切事宜。

01.jpg 01.jpg

GartnerModelOps定義為廣泛操作化人工智慧與決策模型的治理與生命週期管理。MLOps 的核心功能可細分如下:

  • 持續整合/持續交付 (CI/CD):CI/CD 是一套借用自開發人員作業 (DevOps) 的最佳實務,是一種更頻繁、更可靠地遞送程式碼變更的方法。持續整合提倡小批量實施程式碼變更,同時以嚴格的版本控制進行監控。持續交付可將應用程式自動交付至各種環境(例如測試和開發環境)。

  • 模型開發環境 (MDE):MDE 是建立、審查、記錄和檢視模型的複雜流程,有助於確保模型的迭代建立、開發過程中的記錄、可信賴性和可重複性。有效的 MDE 可確保以受控的方式探索、研究和實驗模型。

  • 冠軍-挑戰者測試:與行銷人員所使用的 A/B 測試方法類似,冠軍選手測試涉及嘗試不同的解決方案,以協助決策過程,進而承諾採用單一方法。此技術包括即時監控和測量效能,以找出哪個偏差最有效。

  • 模型版本化:與任何複雜的系統一樣,機器學習模型是由許多不同的人分步開發的,因此會產生與資料和 ML 模型版本相關的資料管理問題。模型版本管理有助於管理和治理 ML 開發的迭代過程,在此過程中,資料、模型和程式碼可能會以不同的速度演進。

  • 模型儲存與回溯:部署模型時,必須儲存其對應的映像檔。回滾和恢復能力可讓 MLOps 團隊在需要時恢復到先前的模型版本。

在生產應用程式中僅使用一個模型會帶來許多困難的挑戰。MLOps 是一種結構化、可重複的方法,依靠工具、技術和最佳實務來克服機器學習模型生命週期中出現的技術或業務問題。成功的 MLOps 可維持負責建立、部署、監控、重新訓練和管理 AI 模型及其在生產系統中的使用的團隊的效率。


為什麼需要 MLOps?

正如上述 ML 模型生命週期所描述的,建立機器學習模型是一個迭代的過程,涉及到納入新資料、重新訓練模型,以及處理一般模型隨時間衰減的問題。這些都是傳統開發人員作業或 DevOps 無法處理或提供解決方案的問題。MLOps 已經成為管理 AI 模型投資並確保模型生命週期富有成效的必要方式。由於機器學習模型將被各種不同的生產系統所利用,因此 MLOps 成為確保在不同環境和不同情境中滿足需求不可或缺的一環。

02.jpg 02.jpg


上面的簡單插圖描述了在雲端環境中部署的機器學習模型,該模型會輸入到應用程式中。在這個基本情境中,可能會出現許多問題,而 MLOps 可協助克服這些問題。由於生產應用程式依賴特定的雲端環境,因此會有延遲的需求,而開發 ML 模型的資料科學家卻無法存取。將模型生命週期實作化,將可讓對模型有深入認識的資料科學家或工程師找出並排除特定生產環境中出現的問題。

機器學習模型不僅是在與其所使用的生產應用程式不同的環境中進行訓練,而且還經常依賴與生產應用程式中所使用的資料不同的歷史資料集。有了 MLOps,整個資料科學團隊,從開發模型的人員到在應用程式層級工作的人員,都有分享和請求資訊與協助的方法。由於資料和市場的變化速度極快,因此必須儘可能減少所有關鍵利害關係人和貢獻者之間的磨擦,因為這些利害關係人和貢獻者都將依賴於特定的機器學習模型。

支援軟體 2.0 的過渡

軟體 2.0 的概念是,隨著人工智慧在撰寫為軟體應用程式提供動力的人工智慧模型時扮演越來越重要的角色,軟體開發也將經歷模式轉換。在軟體 1.0 下,開發工作包括程式設計師使用特定的程式語言 (例如 Python、C++) 撰寫明確的指令。軟體 2.0 則抽象得多。雖然人類提供輸入資料並設定參數,但由於其複雜性,人類很難理解神經網路,典型的神經網路包含數百萬個影響結果的權值(有時甚至數十億或數萬億)。

DevOps 是圍繞軟體 1.0 所建立,依賴程式設計師使用各種語言所發出的特定指令,但從未考慮過為各種不同應用程式提供動力的機器學習模型的生命週期。MLOps 針對管理軟體開發的流程必須與開發中的軟體一同改變的需求而設計。當軟體 2.0 成為以電腦為基礎解決問題的新標準時,擁有正確的工具和流程來管理模型生命週期,將會決定新技術投資的成敗。Milvus 是一個開放原始碼的向量相似性搜尋引擎,其建立是為了支援軟體 2.0 的過渡,並使用 MLOps 管理模型生命週期。

03.jpg 03.jpg


利用 Milvus 實現 AI 的規模化運作

Milvus 是一個向量資料管理平台,專門用於儲存、查詢、更新和維護數兆規模的大量向量資料集。該平台支援向量相似性搜尋,並可與廣泛採用的索引函式庫整合,包括 Faiss、NMSLIB 和 Annoy。透過 Milvus 搭配將非結構化資料轉換為向量的人工智能模型,可以創造出橫跨新藥開發、生物特徵分析、推薦系統等許多領域的應用。

向量類似性搜尋是非結構性資料數據處理和分析的最佳解決方案,向量資料正迅速成為核心資料類型。像 Milvus 這種全面的資料管理系統能以多種方式促進人工智慧的操作化,包括

  • 提供模型訓練環境,確保在同一地點完成更多方面的開發,促進跨團隊合作、模型治理等。

  • 提供一套完整的 API,支援 Python、Java 和 Go 等熱門框架,讓您輕鬆整合一套共通的 ML 模型。

  • 與在瀏覽器中執行的 Jupyter 記事本環境 Google Colaboratory 相容,簡化從原始碼編譯 Milvus 和執行基本 Python 作業的流程。

  • 自動化機器學習 (AutoML) 功能使將機器學習應用於現實世界問題的相關任務自動化成為可能。AutoML 不僅能提高效率,還能讓非專業人士也能利用機器學習模型和技術。

無論您目前正在建置的機器學習應用程式,或是未來的應用程式計畫,Milvus 都是以軟體 2.0 和 MLOps 為考量而打造的彈性資料管理平台。若要進一步瞭解 Milvus 或作出貢獻,請在Github 上找到該專案。若要參與社群活動或提出問題,請加入我們的Slack頻道。渴望獲得更多內容?查看以下資源:

    Try Managed Milvus for Free

    Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

    Get Started

    Like the article? Spread the word

    繼續閱讀