目前機(jī)器學(xué)習(xí)模型線上部署的總結(jié)分類為
1、離線預(yù)測(cè)+不跨語言?
這種最簡(jiǎn)單尘惧,就是用什么語言訓(xùn)練的就用什么語言預(yù)測(cè)炬转,而且不用考慮多并發(fā)和響應(yīng)時(shí)間等問題
2、離線預(yù)測(cè)+跨語言?
用一種語言訓(xùn)練述吸,另一種語言預(yù)測(cè)忿族,但是不用考慮多并發(fā)和響應(yīng)時(shí)間等問題
3、在線預(yù)測(cè)+不跨語言?
用同一種語言訓(xùn)練和預(yù)測(cè)蝌矛,同時(shí)要考慮多并發(fā)和響應(yīng)時(shí)間等問題道批,
像scala和java這種都是跑在jvm上的,以及tf自己實(shí)現(xiàn)了java庫的入撒,可以認(rèn)為是同一種語言
4隆豹、在線預(yù)測(cè)+跨語言?
用不同的語言訓(xùn)練和預(yù)測(cè),目前沒有用到
實(shí)戰(zhàn):
目前在我們沒有g(shù)rpc茅逮,或者thrift 這種 rpc的跨語言調(diào)用方式璃赡,
所以對(duì)于機(jī)器學(xué)習(xí)模型的部署, 要么采用官方提供的jpmml來實(shí)現(xiàn)跨語言調(diào)用献雅,
要么則采用將模型的預(yù)測(cè)部分代碼 變成java的形式來實(shí)現(xiàn)
這兩種方法碉考,通過實(shí)際測(cè)試發(fā)現(xiàn)性能上java版預(yù)測(cè)模型的速度是官方提供的jpmml的五倍左右
在沒有g(shù)rpc這種方式之前,實(shí)現(xiàn)預(yù)測(cè)模型的java版本的性能最好