服務(wù)部署概述
模型在線服務(wù)(EAS)支持多種部署方式,您可以根據(jù)不同的使用場景,選擇合適的部署方式。
部署原理
使用EAS進行模型部署時,支持鏡像部署和Processor部署兩類部署方式,對比介紹如下。
鏡像部署(推薦)
使用鏡像方式部署時,EAS通過拉取容器鏡像服務(wù)ACR中的環(huán)境鏡像、掛載存儲云產(chǎn)品(對象存儲OSS、文件存儲NAS),來獲取部署前所需的準備內(nèi)容,包括運行環(huán)境、模型以及其他相關(guān)文件(如模型前后處理代碼等)。
EAS鏡像部署的流程圖如下。
此方式的部署要點如下。
鏡像部署可以進一步細分為鏡像部署服務(wù)和鏡像部署AI-Web應(yīng)用兩種部署方式。
鏡像部署服務(wù):適用于通過鏡像快速部署服務(wù)的場景,部署后可通過API調(diào)用服務(wù)。
鏡像部署AI-Web應(yīng)用:更適用于通過鏡像快速部署Web應(yīng)用的場景,部署后可通過Web應(yīng)用鏈接直接打開應(yīng)用頁面進行訪問試用。
兩種部署方式的對比介紹可參見下文步驟2:部署服務(wù)中的對比介紹。
PAI為您提供了多個典型場景的官方鏡像便于您高效一鍵部署,您也可以結(jié)合業(yè)務(wù)需求自行開發(fā)模型并制作鏡像,制作完成的鏡像需上傳至阿里云鏡像服務(wù)ACR中,便于部署時選擇使用。
建議您將模型和模型的前后處理代碼文件上傳至存儲云產(chǎn)品,后續(xù)通過掛載方式來獲取對應(yīng)內(nèi)容,而非直接打包至自定義鏡像中,在后續(xù)模型需頻繁迭代更新時,可方便地替換模型。
使用鏡像部署時,建議您自行構(gòu)建一個HTTP Server,后續(xù)使用EAS部署好服務(wù)后,EAS會將調(diào)用服務(wù)的請求轉(zhuǎn)發(fā)至您自行開發(fā)的HTTP Server中,自建的HTTP Server需避開EAS系統(tǒng)監(jiān)聽端口8080和9090。
使用自定義鏡像進行部署時,請務(wù)必將您的鏡像上傳至ACR中再進行使用,否則可能導致在部署時鏡像拉取失敗。如果您使用DSW進行模型開發(fā)訓練,也需將鏡像上傳至ACR中才可在EAS中使用。
如果您的自定義的鏡像、預(yù)熱數(shù)據(jù)等內(nèi)容可在其他多種場景下應(yīng)用,您也使用PAI AI資產(chǎn)的鏡像和數(shù)據(jù)集功能,將其沉淀為對應(yīng)的AI資產(chǎn)進行統(tǒng)一管理。當前EAS不支持使用NAS-CPFS類型的數(shù)據(jù)集。
Processor部署
準備好模型和Processor文件等服務(wù)部署前的準備內(nèi)容后,分別上傳至存儲云產(chǎn)品(OSS、NAS),EAS通過掛載存儲云產(chǎn)品來獲取部署前所需的準備內(nèi)容進行服務(wù)部署。
EAS Processor部署流程如下。
此方式的部署要點如下。
PAI為您提供了多個典型場景的官方Processor供您使用,您也可以結(jié)合業(yè)務(wù)需求自行開發(fā)模型并開發(fā)自定義Processor文件,完成后分別上傳至阿里云存儲產(chǎn)品OSS或NAS。
建議您將模型和Processor文件獨立開發(fā)分別存儲,后續(xù)可在部署時配置模型掛載路徑,Processor文件中可使用get_model_path參數(shù)來獲取配置的模型路徑,便于后續(xù)模型需頻繁迭代更新時,可方便地替換模型。
使用Processor部署時,EAS會根據(jù)您選用的推理框架自動拉取官方環(huán)境鏡像來部署服務(wù),并基于Processor文件自動為您部署一個HTTP Server用于接收后續(xù)調(diào)用服務(wù)的請求。
使用Processor方式部署時,您需要保障模型的推理框架和Processor文件的開發(fā)符合開發(fā)環(huán)境要求,不如鏡像部署方式靈活高效,因此更建議您使用鏡像方式進行模型部署。
支持的部署工具與部署方式
在部署工具維度上:EAS支持通過界面化或命令行方式部署服務(wù)和管理服務(wù),不同工具的部署流程和操作要點存在差異。
操作類型
界面化方式
命令行方式
部署服務(wù)
通過控制臺部署(服務(wù)部署:控制臺)或Designer一鍵部署(服務(wù)部署:Designer)。
通過DSW部署或本地客戶端(EASCMD)部署,詳情請參見服務(wù)部署:EASCMD或DSW。
管理服務(wù)
您可以在EAS模型在線服務(wù)頁面管理模型服務(wù),詳情請參見服務(wù)部署:控制臺。
包括:
查看模型調(diào)用信息。
查看日志、監(jiān)控及服務(wù)部署相關(guān)信息。
擴容、縮容、啟動、停止及刪除模型服務(wù)。
通過EASCMD方式管理模型服務(wù),詳情請參見命令使用說明。
您在使用專屬資源組部署服務(wù)時,也可以配置存儲掛載,用來存儲服務(wù)部署過程依賴的數(shù)據(jù),詳情請參見服務(wù)存儲掛載。
在部署方式上:EAS支持鏡像方式部署(推薦,包含鏡像部署、鏡像AI-Web部署兩個細分部署場景)和Processor方式部署。
部署類型
對比介紹
參考文檔
鏡像部署服務(wù)(推薦)
適用場景:使用鏡像快速部署模型服務(wù)。
優(yōu)勢:
可通過鏡像保障模型開發(fā)訓練環(huán)境與部署運行環(huán)境的一致性。
典型場景已為您預(yù)置了很多官方鏡像,您可使用官方預(yù)置鏡像一鍵部署。
也支持自定義鏡像部署,無需進行部署的工程化改造,部署便捷。
鏡像部署AI-Web應(yīng)用(推薦)
適用場景:使用鏡像快速部署模型服務(wù),更適用于將模型部署為Web應(yīng)用的場景。
優(yōu)勢:
典型場景已為您預(yù)置了很多官方鏡像,如Stable-Diffusion-Webui、Chat-LLM-Webui等,支持基于Gradio、Flask、FastAPI等框架實現(xiàn)HTTP Server,您可使用官方預(yù)置鏡像一鍵部署。
也支持自定義鏡像部署,無需進行部署的工程化改造,部署便捷。
模型+processor部署服務(wù)
EAS為您提供了常見模型框架的預(yù)置Processor,例如PMML、XGBOOST等,通過EAS預(yù)置的Processor可以快速啟動服務(wù),但可能無法滿足特定的業(yè)務(wù)需求。
您還可以構(gòu)建自定義Processor,以實現(xiàn)更為靈活的業(yè)務(wù)邏輯處理。
特殊部署場景與高級配置
服務(wù)群組
EAS為您提供了服務(wù)群組的功能,可以實現(xiàn)灰度發(fā)布多個子服務(wù)共同承接業(yè)務(wù)流量的場景。詳情請參見服務(wù)群組。
定時自動部署
如果您希望可以定時周期性自動部署服務(wù),您可以結(jié)合DataWorks實現(xiàn)周期性自動部署服務(wù),詳情請參見服務(wù)定時自動部署。
資源實例應(yīng)用
EAS為您提供了更為經(jīng)濟的搶占型實例,并支持您在部署時選擇多種規(guī)則的實例資源進行部署,便于您更加經(jīng)濟高效的部署服務(wù),詳情請參見競價實例選擇、多規(guī)格實例選擇。
掛載存儲
EAS支持OSS、NAS、Git代碼倉庫等多種形式的存儲掛載,您可以選擇合適的方式進行存儲掛載,操作詳情請參見服務(wù)存儲掛載。
模型預(yù)熱
為了解決模型初次請求耗時較長的問題,EAS提供了模型預(yù)熱功能,使模型服務(wù)在上線之前得到預(yù)熱,從而實現(xiàn)模型服務(wù)上線后即可進入正常服務(wù)狀態(tài),詳情請參見模型服務(wù)預(yù)熱。
相關(guān)文檔
服務(wù)部署完成后,您可以通過多種方式調(diào)用該服務(wù),詳情請參見服務(wù)調(diào)用方式。
服務(wù)部署完成后,您可以在服務(wù)監(jiān)控頁面查看該服務(wù)的相關(guān)指標,來了解服務(wù)的調(diào)用和運行情況,詳情請參見服務(wù)監(jiān)控說明。