自定義鏡像規(guī)范
針對您本地開發(fā)的模型,在制作AI應(yīng)用的自定義鏡像時,需滿足ModelArts定義的規(guī)范。
- 自定義鏡像中不能包含惡意代碼。
- 自定義鏡像大小不超過10GB。
- 鏡像對外接口
- (可選)健康檢查接口
- 日志文件輸出
- 鏡像啟動入口
- 鏡像依賴組件
- (可選)保持Http長鏈接,無損滾動升級
- (可選)處理SIGTERM信號,容器優(yōu)雅退出
鏡像對外接口
ModelArts用于推理的鏡像的對外服務(wù)接口需要為8080,推理接口需與config.json文件中apis定義的url一致,當(dāng)鏡像啟動時可以直接訪問。下面是mnist鏡像的訪問示例,該鏡像內(nèi)含mnist數(shù)據(jù)集訓(xùn)練的模型,可以識別手寫數(shù)字。其中l(wèi)isten_ip為容器IP,您可以通過啟動自定義鏡像,在容器中獲取容器IP。
鏡像對外接口請求示例
? 請求示例
listen_ip獲取示例

? 返回示例
(可選)健康檢查接口
如果在滾動升級時要求不中斷業(yè)務(wù),那么必須在config.json文件中配置健康檢查的接口,供ModelArts調(diào)用,在config.json文件中配置。當(dāng)業(yè)務(wù)可提供正常服務(wù)時,健康檢查接口返回健康狀態(tài),否則返回異常狀態(tài)。如果要實現(xiàn)無損滾動升級,必須配置健康檢查接口。
健康檢查接口示例如下:
? URI
GET /health
? 請求示例
curl -X GET \ http://{listen_ip}:8080/health
? 響應(yīng)示例
{"health": "true"}
? 狀態(tài)碼
200 請求成功
日志文件輸出
為保證日志內(nèi)容可以正常顯示,日志信息需要打印到標(biāo)準(zhǔn)輸出。
當(dāng)前ModelArts推理基礎(chǔ)鏡像使用的python的logging模塊,采用的是默認(rèn)的日志級別Warnning,即當(dāng)前只有warning級別的日志可以默認(rèn)查詢出來。如果想要指定INFO等級的日志能夠查詢出來,需要在代碼中指定logging的輸出日志等級為INFO級別。
鏡像啟動入口
如果需要部署ModelArts批量服務(wù),鏡像的啟動入口文件需要為“/home/run.sh”,采用CMD設(shè)置默認(rèn)啟動路徑,例如Dockerfile如下:
CMD ["sh", "/home/run.sh"]
鏡像依賴組件
如果需要部署ModelArts批量服務(wù),鏡像內(nèi)需要安裝python、jre/jdk、zip等組件包。
(可選)保持Http長鏈接,無損滾動升級
ModelArts服務(wù)如果需要支持滾動升級的過程中不中斷業(yè)務(wù),那么需要將服務(wù)的Http的“keep-alive”參數(shù)設(shè)置為200s。以gunicorn服務(wù)框架為例,gunicorn缺省情形下不支持keep-alive,需要同時安裝gevent并配置啟動參數(shù)“--keep-alive 200 -k gevent”。不同服務(wù)框架參數(shù)設(shè)置有區(qū)別,請以實際情況為準(zhǔn)。
(可選)處理SIGTERM信號,容器優(yōu)雅退出
ModelArts服務(wù)如果需要支持滾動升級的過程中不中斷業(yè)務(wù),那么需要在容器中捕獲SIGTERM信號,并且在收到SIGTERM信號之后等待60秒再優(yōu)雅退出容器。提前優(yōu)雅退出容器可能會導(dǎo)致在滾動升級的過程中業(yè)務(wù)概率中斷。要保證容器優(yōu)雅退出,從收到SIGTERM信號開始,業(yè)務(wù)需要將收到的請求全部處理完畢再結(jié)束,這個處理時長最多不超過90秒。例如run.sh如下所示:
常見問題
常見問題
制作創(chuàng)建AI應(yīng)用的自定義鏡像案例推薦
-
收起
從0-1制作自定義鏡像并創(chuàng)建AI應(yīng)用 收起
從0到1,手把手教你如何使用自定義鏡像完成AI應(yīng)用的創(chuàng)建,并部署成在線服務(wù)。
-
收起
在開發(fā)環(huán)境中構(gòu)建并調(diào)試推理鏡像 收起
在ModelArts的開發(fā)環(huán)境Notebook中使用基礎(chǔ)鏡像構(gòu)建一個新的推理鏡像,并完成AI應(yīng)用的創(chuàng)建,部署為在線服務(wù)。
-
收起
無需構(gòu)建在開發(fā)環(huán)境中調(diào)試并保存推理鏡像 收起
將本地已經(jīng)制作好的模型包導(dǎo)入ModelArts的開發(fā)環(huán)境Notebook中進(jìn)行調(diào)試和保存,使用保存的鏡像完成AI應(yīng)用的創(chuàng)建,部署為在線服務(wù)。