業(yè)界已有的解決方法
各種方法分析
RServer
基本上我們用Rserver方式脆栋,針對一次1000條或者更少請求的預(yù)測辩越,可以控制95%的結(jié)果在100ms內(nèi)返回結(jié)果像棘,100ms可以滿足工程上的實踐要求庇茫。更大的數(shù)據(jù)量,比如10000/次隔盛,100000/次的預(yù)測,我們目前評估下來滿足不了100ms的要求拾稳,建議分批進(jìn)行調(diào)用或者采用多線程請求的方式來實現(xiàn)吮炕。
機(jī)器學(xué)習(xí)算法線上部署方法 https://zhuanlan.zhihu.com/p/23382412
PFA
PFA太新,開源支持太少
PMML
PCA访得,歸一化可以封裝成preprocess轉(zhuǎn)換成PMML
特征處理支持比較少
mleap
優(yōu)點:使用Spark和Scikit-learn龙亲, 如果不希望在API堆棧中使用Python,很難將ML /數(shù)據(jù) pipeline模型部署到生產(chǎn)API服務(wù)悍抑。 MLeap提供簡單的接口來執(zhí)行整個ML pipeline鳄炉,從特征變換到分類,回歸搜骡,聚類算法和神經(jīng)網(wǎng)絡(luò)拂盯。
http://mleap-docs.combust.ml/core-concepts/mleap-bundles.html#bundle-structure
H2O
H2O.AI ,H2O.ai,提供了MOJO和POJO的方式;
H2O是一個完全開源的分布式內(nèi)存機(jī)器學(xué)習(xí)平臺记靡,具有線性可擴(kuò)展性谈竿。 H2O支持最廣泛使用的統(tǒng)計和機(jī)器學(xué)習(xí)算法,包括梯度增強(qiáng)機(jī)器簸呈,廣義線性模型榕订,深度學(xué)習(xí)等。 H2O還具有業(yè)界領(lǐng)先的AutoML功能蜕便,可自動運行所有算法及其超參數(shù)劫恒,以生成最佳模型的排行榜。 H2O平臺被全球14,000多家組織使用轿腺,并且在R&Python社區(qū)中非常受歡迎两嘴。
優(yōu)點:使用Java(POJO)和二進(jìn)制格式(MOJO)快速輕松地將模型部署到生產(chǎn)中。滿足了pipeline部署到生產(chǎn)環(huán)境
缺點:離線訓(xùn)練需要基于H2O的分布式系統(tǒng)族壳、學(xué)習(xí)維護(hù)成本比較高憔辫。
preditionIO
preditionIO,Welcome to Apache PredictionIO?!仿荆,可以基于spark和hbase來提供相應(yīng)的API服務(wù)贰您,還是很方便的
缺點:與Apache Spark,MLlib拢操,HBase锦亦,Spray和Elasticsearch捆綁在一起,不能單獨部署令境,不夠靈活
結(jié)合我們現(xiàn)在的技術(shù)棧杠园,綜合下來采用MLeap是個不錯的選擇,相對于我們現(xiàn)在的框架優(yōu)點明顯舔庶,隨后對MLeap進(jìn)行一些基礎(chǔ)測試抛蚁。