模型線上服務EAS(Elastic Algorithm Service)是PAI產品為實現一站式模型開發部署應用,針對線上推理情境提供的模型線上服務,支援將模型服務部署在公用資源群組或專屬資源群組,實現基於異構硬體(CPU和GPU)的模型載入和資料請求的即時響應。
EAS產品架構
模型線上服務EAS(Elastic Algorithm Service)是一種模型線上服務平台,可支援您一鍵部署模型為線上推理服務或AI-Web應用。它提供的彈性擴縮容和藍綠部署等功能,可以支撐您以較低的資源成本擷取高並發且穩定的線上演算法模型服務。此外,EAS還提供了資源群組管理、版本控制以及資源監控等功能,方便您將模型服務應用於業務。EAS適用於即時同步推理、近即時非同步推理等多種AI推理情境,並具備完整營運監控體系等能力。
部署原理
使用EAS進行模型部署時,支援鏡像部署和Processor部署兩類部署方式,對比介紹如下。
鏡像部署(推薦)
使用鏡像方式部署時,EAS通過拉取Container RegistryACR中的環境鏡像、掛載儲存雲產品(Object Storage Service、Apsara File Storage NAS),來擷取部署前所需的準備內容,包括運行環境、模型以及其他相關檔案(如模型前後處理代碼等)。
EAS鏡像部署的流程圖如下。
此方式的部署要點如下。
鏡像部署可以進一步細分為鏡像部署服務和鏡像部署AI-Web應用兩種部署方式。
鏡像部署服務:適用於通過鏡像快速部署服務的情境,部署後可通過API調用服務。
鏡像部署AI-Web應用:更適用於通過鏡像快速部署Web應用的情境,部署後可通過Web應用連結直接開啟應用頁面進行訪問試用。
兩種部署方式的對比介紹可參見下文步驟2:部署服務中的對比介紹。
PAI為您提供了多個典型情境的官方鏡像便於您高效一鍵部署,您也可以結合業務需求自行開發模型並製作鏡像,製作完成的鏡像需上傳至阿里雲鏡像服務ACR中,便於部署時選擇使用。
建議您將模型和模型的前後處理代碼檔案上傳至儲存雲產品,後續通過掛載方式來擷取對應內容,而非直接打包至自訂鏡像中,在後續模型需頻繁迭代更新時,可方便地替換模型。
使用鏡像部署時,建議您自行構建一個HTTP Server,後續使用EAS部署好服務後,EAS會將調用服務的請求轉寄至您自行開發的HTTP Server中,自建的HTTP Server需避開EAS系統監聽連接埠8080和9090。
使用自訂鏡像進行部署時,請務必將您的鏡像上傳至ACR中再進行使用,否則可能導致在部署時鏡像拉取失敗。如果您使用DSW進行模型開發訓練,也需將鏡像上傳至ACR中才可在EAS中使用。
如果您的自訂的鏡像、預熱資料等內容可在其他多種情境下應用,您也使用PAI AI資產的鏡像和資料集功能,將其沉澱為對應的AI資產進行統一管理。當前EAS不支援使用NAS-CPFS類型的資料集。
Processor部署
準備好模型和Processor檔案等服務部署前的準備內容後,分別上傳至儲存雲產品(OSS、NAS),EAS通過掛載儲存雲產品來擷取部署前所需的準備內容進行服務部署。
EAS Processor部署流程如下。
此方式的部署要點如下。
PAI為您提供了多個典型情境的官方Processor供您使用,您也可以結合業務需求自行開發模型並開發自訂Processor檔案,完成後分別上傳至阿里雲儲存產品OSS或NAS。
建議您將模型和Processor檔案獨立開發分別儲存,後續可在部署時配置模型掛載路徑,Processor檔案中可使用get_model_path參數來擷取配置的模型路徑,便於後續模型需頻繁迭代更新時,可方便地替換模型。
使用Processor部署時,EAS會根據您選用的推理架構自動拉取官方環境鏡像來部署服務,並基於Processor檔案自動為您部署一個HTTP Server用於接收後續調用服務的請求。
使用Processor方式部署時,您需要保障模型的推理架構和Processor檔案的開發符合開發環境要求,不如鏡像部署方式靈活高效,因此更建議您使用鏡像方式進行模型部署。
基本概念
名詞 | 描述 |
資源群組 | EAS將叢集資源分為不同的資源群組進行隔離,建立模型服務時,您可以選擇將其部署在預設的公用資源群組或自己額外購買的專屬資源群組。
EAS的資源群組介紹詳情請參見EAS資源群組概述。 |
模型服務 | 模型檔案和線上預測邏輯部署成的常駐服務。您可以對模型服務進行建立、更新、停止、啟動、擴容及縮容操作。 |
模型檔案 | 通過離線訓練獲得的離線模型。基於不同架構會得到不同格式的模型,通常與Processor一起部署,從而獲得模型服務。 |
Processor | 包含線上預測邏輯的程式包,通常與模型檔案一起部署,從而獲得模型服務。針對常用的PMML、TensorFlow(Saved Model)及Caffe模型,EAS提供了預置的官方Processor。 |
自訂processor | EAS預置Processor無法滿足所有的服務部署需求,您可以通過自訂Processor,實現更靈活的服務部署。EAS支援通過C++、Java或Python開發自訂Processor。 |
服務執行個體 | 服務進程。每個服務可以部署多個服務執行個體以提高能夠支援的並發請求數。部署服務時,服務執行個體會部署到資源群組中的機器上,如果資源群組中有多台機器資源,EAS會自動將不同執行個體部署到不同的機器資源中,從而更好地保障服務高可用性。 |
高速直連 | EAS提供高速直連的網路訪問方式,EAS資源群組和您的VPC網路連通後,您可以使用高速直連功能。後續無需通過網關,用戶端可直接存取模型服務,可以大幅度提高訪問效能、降低訪問延時。 |
地區限制
EAS支援的地區包括華北2(北京)、華東2(上海)、華東1(杭州)、華北3(張家口)、華北6(烏蘭察布)、華南1(深圳)、華南2(河源)、華南3(廣州)、西南1(成都)、中國(香港)、日本(東京)、新加坡、印尼(雅加達)、美國(矽谷)、美國(維吉尼亞)及德國(法蘭克福)。
計費說明
EAS資源群組收費:
EAS支援將模型服務部署在公用資源群組或專屬資源群組,定價和計費規則請參見模型線上服務(EAS)計費說明。
公用資源群組中,根據每個模型服務佔用的資源量計費。
專屬資源群組中,根據資源群組管理的伺服器資源套件年包月或隨用隨付。
(可選)相關雲產品收費:
儲存類雲產品:
使用EAS部署服務時,您可以掛載OSS、NAS,將部署過程中的相關資料永久儲存在對應儲存服務中,對應雲產品的定價和計費相關請參見對應雲產品的計費文檔,例如OSS計費概述、NAS計費概述。
公網NAT Gateway:
使用公網地址訪問已部署的模型服務時可免費訪問,如果您部署的服務需要訪問公網環境,您需要開通NAT Gateway服務,公網串連及白名單配置操作請參見公網串連及白名單配置,公網NAT Gateway計費詳情請參見NAT Gateway計費概述。
使用流程
步驟1:準備工作
步驟2:部署服務
在部署工具維度上:EAS支援通過介面化或命令列方式部署服務和管理服務,不同工具的部署流程和操作要點存在差異。
操作類型
介面化方式
命令列方式
部署服務
通過控制台部署(服務部署:控制台)或Designer一鍵部署(服務部署:Designer)。
通過DSW部署或本地用戶端(EASCMD)部署,詳情請參見服務部署:EASCMD或DSW。
管理服務
您可以在EAS模型線上服務頁面管理模型服務,詳情請參見服務部署:控制台。
包括:
查看模型調用資訊。
查看日誌、監控及服務部署相關資訊。
擴容、縮容、啟動、停止及刪除模型服務。
通過EASCMD方式管理模型服務,詳情請參見命令使用說明。
您在使用專屬資源群組部署服務時,也可以配置儲存掛載,用來儲存服務部署過程依賴的資料,詳情請參見進階配置:服務儲存掛載。
在部署方式上:EAS支援鏡像方式部署(推薦,包含鏡像部署、鏡像AI-Web部署兩個細分部署情境)和Processor方式部署。
部署類型
對比介紹
參考文檔
鏡像部署服務(推薦)
適用情境:使用鏡像快速部署模型服務。
優勢:
可通過鏡像保障模型開發訓練環境與部署運行環境的一致性。
典型情境已為您預置了很多官方鏡像,您可使用官方預置鏡像一鍵部署。
也支援自訂鏡像部署,無需進行部署的工程化改造,部署便捷。
鏡像部署AI-Web應用(推薦)
適用情境:使用鏡像快速部署模型服務,更適用於將模型部署為Web應用的情境。
優勢:
典型情境已為您預置了很多官方鏡像,如Stable-Diffusion-Webui、Chat-LLM-Webui等,支援基於Gradio、Flask、FastAPI等架構實現HTTP Server,您可使用官方預置鏡像一鍵部署。
也支援自訂鏡像部署,無需進行部署的工程化改造,部署便捷。
模型+processor部署服務
EAS為您提供了常見模型架構的預置Processor,例如PMML、XGBOOST等,通過EAS預置的Processor可以快速啟動服務,但可能無法滿足特定的業務需求。
您還可以構建自訂Processor,以實現更為靈活的商務邏輯處理。
步驟3:調試與壓測服務
服務部署完成後,您可以通過線上調試功能發送HTTP服務要求,來驗證服務是否能正常推理。
更多關於調試與壓測服務的操作詳情,請參見服務調試與壓測。
步驟4:監控服務與服務擴縮容
服務運行正常後,您可以開通服務監控警示來監控服務資源的使用方式。
也可以開啟水平或定時自動擴縮容功能,來即時動態管理線上服務的計算資源。
更多關於服務監控與擴縮容的操作詳情,請參見服務監控與擴縮容。
步驟5:調用服務
將模型部署為API服務:您可以通過服務調用功能,實現模型線上推理和非同步推理。EAS服務支援公網地址調用、VPC地址調用和VPC高速直連等不同的調用方式,也支援您基於Processor自訂構造服務要求資料。推薦您使用PAI提供的SDK來進行測試和生產調用,詳情請參見服務調用SDK。
將模型部署為WebUI應用:您可以通過控制台在瀏覽器中開啟Web應用頁面,互動式地使用已部署的模型推理服務。
步驟6:非同步推理服務
對於推理耗時相對較長的使用情境需要使用佇列服務和非同步推理功能。當請求較多時,您可以建立佇列服務,將請求儲存到佇列服務中,請求處理完成後會將結果輸出到輸出隊列,通過非同步查詢返回結果,避免請求較多未處理完成被丟棄。同時,EAS支援通過多種方式向佇列服務發送請求資料,並通過監控隊列中積壓的資料數量來實現推理服務的自動擴縮容,從而有效控制推理服務執行個體的數量。更多關於非同步推理服務的介紹,請參見非同步推理服務。
相關文檔
EAS的更多使用案例,詳情請參見EAS使用案例匯總。
PAI提供了互動式建模(DSW)服務,是為AI開發人員量身定製的雲端機器學習互動式開發IDE,隨時隨地開啟Notebook快速讀取資料、開發演算法、訓練及部署模型,詳情請參見什麼是DSW。
PAI提供了可視化建模(Designer)服務,支援大規模分布式的傳統機器學習、深度學習、強化學習訓練,支援流批一體訓練,該子模組封裝了上百種機器學習演算法,詳情請參見Designer概述。