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