摘要:部署深度學(xué)習(xí)模型不是一項簡單的任務(wù),它要求收集各種模型文件搭建服務(wù)棧初始化和配置深度學(xué)習(xí)框架暴露端點實時發(fā)送度量指標,并運行自定義的預(yù)處理和后置處理邏輯代碼,而這些僅僅是繁雜步驟中的一部分。開源的極大簡化了的深度學(xué)習(xí)模型部署過程。
什么是 Model Server?
Model Server for Apache MXNet(MMS)是一個開源組件,旨在簡化深度學(xué)習(xí)模型的部署。部署深度學(xué)習(xí)模型不是一項簡單的任務(wù),它要求收集各種模型文件、搭建服務(wù)棧、初始化和配置深度學(xué)習(xí)框架、暴露端點、實時發(fā)送度量指標,并運行自定義的預(yù)處理和后置處理邏輯代碼,而這些僅僅是繁雜步驟中的一部分。盡管每一個細項不會很復(fù)雜,但從整體來看,模型部署過程繁瑣而拖沓。
AWS 開源的 MMS 極大簡化了 MXNet 的深度學(xué)習(xí)模型部署過程。MMS 提供了以下主要特性:
提供了一個可以將多個模型文件打包和導(dǎo)出到單個“模型壓縮”文件的工具,這個壓縮包里包含了所有 MXNet 需要的模型。
自動搭建服務(wù)棧,包括用于推理的 HTTP 端點、基于 MXNet 的引擎。
預(yù)配置的 Docker 鏡像,包括 NGINX、MXNet 和 MMS。
可以自定義推理執(zhí)行管道的每一個步驟,從模型初始化、預(yù)處理和推理,到后置處理和模型輸出。
提供實時的運維度量指標,可用于監(jiān)控推理服務(wù)和端點,包含了延遲、資源使用情況和錯誤信息。
支持 OpenAPI 規(guī)范,可以自動生成主流編程語言的客戶端代碼,如 Java、JavaScript、C# 等。
可以通過 PyPi 安裝 MMS,或者直接從 GitHub 上下載。MMS 可以運行在 Mac 和 Linux 上。如果要在生產(chǎn)環(huán)境中使用,我們建議使用 GitHub 倉庫上預(yù)配置好的 Docker 鏡像。
下圖是參考架構(gòu)圖:
?Model Server 快速入門
下面的示例使用了一個預(yù)訓(xùn)練的 SqueezeNet v1.1 物體檢測模型,該模型可以在 MMS Model Zoo 上找到。
首先需要安裝 Python,這是運行 MMS 的先決條件。
接下來,通過 PyPi 來安裝 MMS。
運行 MMS,并指定模型壓縮包的 URL 或本地文件:
在執(zhí)行這個命令之后,MMS 進程開始啟動,并下載和解壓縮模型文件,配置好服務(wù),然后開始監(jiān)聽來自 /squeezenet/predict 端點的請求(本地默認地址是 localhost,端口 8080,可配置)。
為了測試剛剛啟動的服務(wù),可以通過 HTTP 發(fā)送一個推理請求:
返回結(jié)果如下:
導(dǎo)出模型
MMS 將模型打包成特定的格式。它提供了一個命令行工具 mxnet-model-export 用于打包模型并導(dǎo)出成多帶帶的壓縮包。壓縮包里包含了模型所有相關(guān)的元數(shù)據(jù)。在初始化服務(wù)端點時,MMS 會讀取壓縮包。
下圖展示了模型的導(dǎo)出過程:
從圖中可以看到,需要打進壓縮包的內(nèi)容包括模型的神經(jīng)網(wǎng)絡(luò)架構(gòu)和參數(shù)(層、算子和權(quán)重),以及服務(wù)的輸入、輸出的數(shù)據(jù)類型和張量模型定義。不過,在實際使用當中,可能不僅僅需要神經(jīng)網(wǎng)絡(luò)。例如,很多視覺模型需要進行預(yù)處理,并要求對輸入圖像進行轉(zhuǎn)換。而分類模型一般要求進行后置處理,以便對分類結(jié)果進行排序和梳理。為了解決這些問題,MMS 將自定義的處理邏輯代碼和附帶文件也打進壓縮包中,在運行時就可以使用這些代碼和文件。這個強大的機制可以將整個處理管道所需要的東西一次性打包:從輸入的預(yù)處理、自定義推理,到應(yīng)用類識別標簽。
更多關(guān)于壓縮包導(dǎo)出的內(nèi)容可以參看 MMS 文檔:
https://github.com/awslabs/mxnet-model-server/blob/master/docs/export.md。
為了更好地了解 MMS,我們建議從 Single Shot MultiBox Detector(SSD)教程開始,該教程將告訴我們?nèi)绾螌?dǎo)出和運行一個 SSD 模型。更多示例可以參看 GitHub 上的文檔:
https://github.com/awslabs/mxnet-model-server/。
歡迎加入本站公開興趣群商業(yè)智能與數(shù)據(jù)分析群
興趣范圍包括各種讓數(shù)據(jù)產(chǎn)生價值的辦法,實際應(yīng)用案例分享與討論,分析工具,ETL工具,數(shù)據(jù)倉庫,數(shù)據(jù)挖掘工具,報表系統(tǒng)等全方位知識
QQ群:81035754
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/4706.html
摘要:亞馬遜和華盛頓大學(xué)今天合作發(fā)布了開源的端到端深度學(xué)習(xí)編譯器。項目作者之一陳天奇在微博上這樣介紹這個編譯器我們今天發(fā)布了基于工具鏈的深度學(xué)習(xí)編譯器。陳天奇團隊對的性能進行了基準測試,并與進行了比較。 亞馬遜和華盛頓大學(xué)今天合作發(fā)布了開源的端到端深度學(xué)習(xí)編譯器NNVM compiler。先提醒一句,NNVM compiler ≠ NNVM。NNVM是華盛頓大學(xué)博士陳天奇等人2016年發(fā)布的模塊化...
摘要:終于,亞馬遜也加入了全球芯片大戰(zhàn)。今天凌晨,亞馬遜在拉斯維加斯召開的大會上,亞馬遜發(fā)布了一系列新產(chǎn)品,其中包括針對機器學(xué)習(xí)定制設(shè)計的云端芯片。此次,亞馬遜的加入勢必會讓云服務(wù)市場競爭更為激烈。終于,亞馬遜也加入了全球AI芯片大戰(zhàn)。今天凌晨,亞馬遜在拉斯維加斯召開的AWS re:Invent大會上,亞馬遜AWS CEO Andy Jassy發(fā)布了一系列新產(chǎn)品,其中包括針對機器學(xué)習(xí)定制設(shè)計的云端...
摘要:被稱為亞馬遜的新服務(wù)提供了強大的功能,如圖像分析,文本到語音轉(zhuǎn)換和自然語言處理。換句話說,其任務(wù)是將谷歌的機器學(xué)習(xí)功能產(chǎn)品化。亞馬遜平臺推出的這些新服務(wù)中的第一個是名為的圖像識別服務(wù)。 亞馬遜一直在其零售業(yè)務(wù)中使用深度學(xué)習(xí)和人工智能來提高客戶體驗。該公司聲稱,它有數(shù)千名工程師專門從事人工智能相關(guān)開發(fā),以改善搜索、物流、產(chǎn)品推薦和庫存管理。亞馬遜現(xiàn)在正在將相同的專業(yè)知識帶給云,展示了開發(fā)人員可...
摘要:在此次會議上,還計劃發(fā)布云計算深度學(xué)習(xí)服務(wù)。兩名消息人士表示,新的深度學(xué)習(xí)服務(wù)也幫助用戶更方便地運行常見深度學(xué)習(xí)開發(fā)工具包,例如和谷歌。谷歌和微軟已提供類似的服務(wù)。 據(jù)外媒報道,亞馬遜AWS正在大力推動人工智能產(chǎn)品的升級,包括自主開發(fā)技術(shù)以及與多家AI創(chuàng)業(yè)公司合作。AWS希望補足自身短板,贏得更多人工智能業(yè)務(wù)...
摘要:在此次會議上,還計劃發(fā)布云計算深度學(xué)習(xí)服務(wù)。兩名消息人士表示,新的深度學(xué)習(xí)服務(wù)也幫助用戶更方便地運行常見深度學(xué)習(xí)開發(fā)工具包,例如和谷歌。谷歌和微軟已提供類似的服務(wù)。 據(jù)外媒報道,亞馬遜AWS正在大力推動人工智能產(chǎn)品的升級,包括自主開發(fā)技術(shù)以及與多家AI創(chuàng)業(yè)公司合作。AWS希望補足自身短板,贏得更多人工智能業(yè)務(wù)??傮w來說,AWS在人工智能領(lǐng)域的工作以Ironman項目為中心。Ironman項目...
閱讀 3146·2021-10-27 14:16
閱讀 2954·2021-09-24 10:33
閱讀 2363·2021-09-23 11:21
閱讀 3283·2021-09-22 15:14
閱讀 887·2019-08-30 15:55
閱讀 1749·2019-08-30 15:53
閱讀 1854·2019-08-29 11:14
閱讀 2244·2019-08-28 18:11