服務部署概述
模型在線服務(EAS)支持多種部署方式,您可以根據不同的使用場景,選擇合適的部署方式。
部署原理
使用EAS進行模型部署時,支持鏡像部署和Processor部署兩類部署方式,對比介紹如下。
鏡像部署(推薦)
使用鏡像方式部署時,EAS通過拉取容器鏡像服務ACR中的環境鏡像、掛載存儲云產品(對象存儲OSS、文件存儲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提供了模型預熱功能,使模型服務在上線之前得到預熱,從而實現模型服務上線后即可進入正常服務狀態,詳情請參見模型服務預熱。