全部產品
Search
文件中心

Platform For AI:EAS模型服務概述

更新時間:Jul 13, 2024

模型線上服務EAS(Elastic Algorithm Service)是PAI產品為實現一站式模型開發部署應用,針對線上推理情境提供的模型線上服務,支援將模型服務部署在公用資源群組或專屬資源群組,實現基於異構硬體(CPU和GPU)的模型載入和資料請求的即時響應。

EAS產品架構

模型線上服務EAS(Elastic Algorithm Service)是一種模型線上服務平台,可支援您一鍵部署模型為線上推理服務或AI-Web應用。它提供的彈性擴縮容和藍綠部署等功能,可以支撐您以較低的資源成本擷取高並發且穩定的線上演算法模型服務。此外,EAS還提供了資源群組管理、版本控制以及資源監控等功能,方便您將模型服務應用於業務。EAS適用於即時同步推理、近即時非同步推理等多種AI推理情境,並具備完整營運監控體系等能力。

d117f374f4066e24babc9d25c306fbbc.png

點擊可查看EAS架構分層詳細說明

  • 基礎設施層:支援異構硬體(CPU或GPU)的基礎設施,並提供了AI專屬的GU機器規格和搶佔型執行個體,以協助您降低成本並提高效率。

  • 容器調度層:通過自動擴縮容等多種方法,協助您在業務的波峰波穀中更高效地管理叢集資源,實現降本增效的目標。支援以下幾種方法:

    • 彈性擴縮容:當業務負載呈現顯著的波峰波穀時,通過開啟彈性擴縮容功能,系統可自動調整執行個體數量,實現動態管理線上服務的計算資源,避免資源浪費。

    • 定時擴縮容:在可以預估業務負載的情境中,服務可以定時將執行個體數自動擴縮容到指定數量,從而避免資源浪費。

    • 彈性資源集區:如果專屬資源群組內資源已經佔滿,服務會自動將擴容的執行個體彈到隨用隨付的公用資源群組機器上,以保障服務的穩定性。

  • 模型部署層:通過服務部署發布的多項功能,協助您即時高效地監控服務狀態,並簡化服務發布和更新流程,以適配最合理的計算資源。服務部署發布支援的功能如下:

    • 一鍵壓測:支援動態加壓,並能自動尋找服務的負載上限。此外,還提供了即時查看壓測秒級監控資料和查看報告的功能。

    • 灰階發布:支援將多個服務加入同一個灰階群組,其中一些服務用於生產環境,而另一些服務則用於灰階環境。此外,還支援切換每個服務的流量分配比例,以進行更靈活的灰階測試。

    • 即時監控:服務部署成功後,您可以在服務監控頁面查看相關指標,例如QPS、響應時間長度、CPU利用率等,以瞭解服務調用及運行情況。

    • 流量鏡像:支援將當前服務的流量按照一定比例鏡像到目標服務中,同時不影響當前服務的正常運行。這一功能主要用於測試新服務的效能和可靠性。

  • 推理能力:目前EAS支援的推理能力如下:

    • 即時同步推理:適用於個人化搜尋、智能對話等情境,具有高吞吐、低延遲的特點,同時不影響線上業務的正常運行。系統還可以根據業務需求適配合理的部署機型,以實現最佳的運行效果。

    • 近即時非同步推理:適用於文圖產生、視頻處理等情境,在推理服務內部整合了訊息佇列。使得服務能夠按需進行彈性擴縮容,且無需進行營運工作。

部署原理

使用EAS進行模型部署時,支援鏡像部署Processor部署兩類部署方式,對比介紹如下。

鏡像部署(推薦)

使用鏡像方式部署時,EAS通過拉取Container RegistryACR中的環境鏡像、掛載儲存雲產品(Object Storage ServiceApsara 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(河源)、西南1(成都)、中國(香港)、新加坡、印尼(雅加達)、美國(矽谷)、美國(維吉尼亞)及德國(法蘭克福)。

計費說明

  • EAS資源群組收費:

    EAS支援將模型服務部署在公用資源群組或專屬資源群組,定價和計費規則請參見模型線上服務(EAS)計費說明

    • 公用資源群組中,根據每個模型服務佔用的資源量計費。

    • 專屬資源群組中,根據資源群組管理的伺服器資源套件年包月或隨用隨付。

  • (可選)相關雲產品收費:

    • 儲存類雲產品:

      使用EAS部署服務時,您可以掛載OSS、NAS,將部署過程中的相關資料永久儲存在對應儲存服務中,對應雲產品的定價和計費相關請參見對應雲產品的計費文檔,例如OSS計費概述NAS計費概述

    • 公網NAT Gateway:

      使用公網地址訪問已部署的模型服務時可免費訪問,如果您部署的服務需要訪問公網環境,您需要開通NAT Gateway服務,公網串連及白名單配置操作請參見公網串連及白名單配置,公網NAT Gateway計費詳情請參見NAT Gateway計費概述

使用流程

步驟1:準備工作

  1. 準備推理資源。

    根據實際情況,選擇使用EAS的資源類型。EAS為您提供公用資源群組和專有資源群組,如果使用專有資源群組,您需要先購買並配置資源群組,資源群組選型及購買配置指導請參見EAS資源群組概述

  2. 準備模型、模型前後處理代碼檔案等內容。

    準備開發訓練好的模型、代碼處理檔案等內容,並根據計劃選擇的部署方式將檔案上傳至指定雲產品。當前EAS支援鏡像類的部署方式(推薦)和Processor類的部署方式,不同部署方式建議您採用不同方式進行儲存對應的模型、代碼檔案等內容,詳情可參見上文的部署原理

步驟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概述