部署你的模型!-Machine Learning as a Service

前言

相信對于各位沉迷調(diào)參日益消瘦的ML學習者, 看到自己訓練的模型越來越堪用, 心里總會時不時地想: 如果模型能跑在線上并提供個界面讓人操作, 而不是黑乎乎的終端, 那該是多炫的事情. 且不論對外提供多厲害的服務, 即使作為演示, 顯然也更高大上些. 另外, 我們還可以把一些對數(shù)據(jù)的操作封裝為服務, 方便沉淀和積累, 利于提高平時的效率. 臉皮厚一點可以說, 要實現(xiàn) Machine Learning as a Service, :-D.

然而, 各位ML學習者平時一般更專注與算法和模型開發(fā), 很多時候是寫各種從頭跑到尾的大腳本. 要把模型部署到線上, 一開始可能覺得無從下手. 所以, 在本文, 我打算分享下一個簡單的前后端分離的 Service 框架, 并一步步演示如何搭建前端, 后端, 以及通過Restful API, WebSocket/STOMP(ML常涉及前后端實時交互, 僅無狀態(tài)的Restful API是不夠的)和xmlRPC實現(xiàn)其相互間交互, 希望可以給大家提供一些參考.

本文的最終產(chǎn)物點擊這里: www.mlaas.xyz. 前端, 后端, DB都搭在阿里云的一個ECS上(當然你頁可以分開部署), 購買和備案了一個域名并解析到這臺ECS. 具體使用的模塊如下:

  • 前端 Github: node.js + react.js
  • 后端 Github: sprint-boot
  • 模型 Github: 情感分析
  • 守護進程反向代理: supervisor + tengine

客觀來說, 這個框架還是很簡陋的, 模型靜態(tài)部署, 控制和數(shù)據(jù)共用一個通道. 若往后精力和時間允許, 我會再一寫一篇文章, 介紹并實現(xiàn)一個基于Spark和MaxCompute的支持在線訓練, 模型動態(tài)部署, 數(shù)據(jù)/控制分離的框架.

== 未完待續(xù) ==

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容