目前機(jī)器學(xué)習(xí)模型線上部署的總結(jié)分類為
1、離線預(yù)測+不跨語言?
這種最簡單晾咪,就是用什么語言訓(xùn)練的就用什么語言預(yù)測收擦,而且不用考慮多并發(fā)和響應(yīng)時(shí)間等問題
2、離線預(yù)測+跨語言?
用一種語言訓(xùn)練谍倦,另一種語言預(yù)測塞赂,但是不用考慮多并發(fā)和響應(yīng)時(shí)間等問題
3、在線預(yù)測+不跨語言?
用同一種語言訓(xùn)練和預(yù)測昼蛀,同時(shí)要考慮多并發(fā)和響應(yīng)時(shí)間等問題宴猾,
像scala和java這種都是跑在jvm上的,以及tf自己實(shí)現(xiàn)了java庫的叼旋,可以認(rèn)為是同一種語言
4仇哆、在線預(yù)測+跨語言?
用不同的語言訓(xùn)練和預(yù)測,目前沒有用到
實(shí)戰(zhàn):
目前在我們沒有g(shù)rpc夫植,或者thrift 這種 rpc的跨語言調(diào)用方式讹剔,
所以對(duì)于機(jī)器學(xué)習(xí)模型的部署, 要么采用官方提供的jpmml來實(shí)現(xiàn)跨語言調(diào)用详民,
要么則采用將模型的預(yù)測部分代碼 變成java的形式來實(shí)現(xiàn)
這兩種方法延欠,通過實(shí)際測試發(fā)現(xiàn)性能上java版預(yù)測模型的速度是官方提供的jpmml的五倍左右