模型線上服務(EAS)支援多種部署方式,您可以根據不同的使用情境,選擇合適的部署方式。
部署原理
使用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支援通過介面化或命令列方式部署服務和管理服務,不同工具的部署流程和操作要點存在差異。
操作類型
介面化方式
命令列方式
部署服務
通過控制台部署(服務部署:控制台)或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,以實現更為靈活的商務邏輯處理。
特殊部署情境與進階配置
服務群組
EAS為您提供了服務群組的功能,可以實現灰階發布多個子服務共同承接業務流量的情境。詳情請參見服務群組。
定時自動部署
如果您希望可以定時周期性自動部署服務,您可以結合DataWorks實現周期性自動部署服務,詳情請參見服務定時自動部署。
資源執行個體應用
EAS為您提供了更為經濟的搶佔型執行個體,並支援您在部署時選擇多種規則的執行個體資源進行部署,便於您更加經濟高效的部署服務,詳情請參見競價執行個體選擇、多規格執行個體選擇。
掛載儲存
EAS支援OSS、NAS、Git代碼倉庫等多種形式的儲存掛載,您可以選擇合適的方式進行儲存掛載,操作詳情請參見服務儲存掛載。
模型預熱
為瞭解決模型初次請求耗時較長的問題,EAS提供了模型預熱功能,使模型服務在上線之前得到預熱,從而實現模型服務上線後即可進入正常服務狀態,詳情請參見模型服務預熱。