IBM的ModelMesh走向開源 使開發者能夠大規模部署A

模型服務是AI用例的一個關鍵組成部分。它涉及從人工智慧模型中提供推論,以響應使用者的請求。那些涉足企業級機器學習應用的人知道,通常不是一個模型提供推論,而是實際上有數百甚至數千個模型在同步執行。

IBM的ModelMesh走向開源 使開發者能夠大規模部署A

這在計算上是一個非常昂貴的過程,因為你不可能在每次要提供請求時都啟動一個專用容器。這對在Kubernetes叢集中部署大量模型的開發者來說是一個挑戰,因為存在一些限制,如允許的最大莢數和IP地址以及計算資源分配。

IBM透過其專有的ModelMesh模型服務管理層為Watson產品(如Watson Assistant、Watson Natural Language Understanding和Watson Discovery)解決了這個難題。由於這些模型已經在生產環境中運行了幾年,ModelMesh已經針對各種場景進行了全面測試。現在,IBM正在將這一管理層與控制器元件以及為模型服務的執行時間一起貢獻給開放原始碼社群。

ModelMesh使開發者能夠在Kubernetes之上以“極端規模”部署AI模型。它具有快取管理的功能,也是一個平衡推理請求的路由器,模型被智慧地放置在pod中,對臨時中斷提供彈性。ModelMesh的部署可以輕鬆升級,無需任何外部協調機制。它自動確保一個路由新請求到它之前已經完全更新和載入。

在用一些統計資料解釋ModelMesh的可擴充套件性時,IBM表示:

一個部署在單個工人節點8vCPU x 64G叢集上的ModelMesh例項能夠打包20K個簡單字串模型。在密度測試的基礎上,我們還對ModelMesh的服務進行了負載測試,透過傳送成千上萬的併發推理請求來模擬一個高流量的假日季節場景,所有載入的模型都以個位數毫秒的延遲進行響應。實驗表明,單個工人節點支援20k個模型,每秒最多可進行1000次查詢,並以個位數毫秒的延遲響應推理任務。

IBM將ModelMesh貢獻給了KServe GitHub組織,該組織早在2019年就由IBM、Google、彭博社、英偉達和Seldon聯合開發。

您可以在下面提到的各種GitHub儲存庫中檢視ModelMesh的運用與實現:

模型服務控制器

用於協調模型放置和路由的 ModelMesh 容器 執行時介面卡

ModelMesh執行時介面卡

- 在每個模型服務 pod 中執行的容器,充當 ModelMesh 和第三方模型伺服器容器之間的中介,它還包含了負責從儲存中檢索模型的“拉動器”邏輯。

triton-inference-server

- NVIDIA的Triton推理伺服器

seldon-mlserver

- Python MLServer,是KFServing的一部分

TAG: ModelMesh模型IBMWatson請求