NaviPlus Engineers' Blog

勉強会報告「Spark MLlibで動かすScala製機械学習サーバ【PredictionIO勉強会 #01】」

Spark MLlibで動かすScala製機械学習サーバ【PredictionIO勉強会 #01】に参加しました。

PredictionIOというのはApacheのincubatingプロジェクトで、機械学習エンジンを手軽にweb serviceとして動かすことのできるものです。
PredictionIOはSalesforceに買収されて、Einsteinというサービスのコアとなっているようです。

動作イメージはpredictionIOのサイトの図を見て頂くと良いかと思いますが。

という、MLlibのアルゴリズムの周りの追加機能として、データの投入やRESTでのアクセス機能を提供するフレームワーク、と考えると良いかと思います。

あと特徴としては、Engine Template Galleryにあるように、単にMLlibの薄いラッパーというよりは、かなり具体的な(例えばProduct RankingとかViewed This Bought Thatのような)計算モデルがテンプレートとして提供されていることでしょうか。特に商品レコメンド関係のテンプレートが充実しているような気がします。

検索するとDeploying with AWS CloudFormationというページも見つかりました。Cloud Formationで簡単にPredictionIOのサービスを起動できるようですね。

良さそうなフレームワークなのですが、話を聞く限りでは、

という辺りが、もうちょっとかな、と思えたところではあります。ただ、scalaのコードの読み書きに抵抗が無いなら、今話題のフレームワークとして興味深いと思います。余裕が出たら、ちょっと手を出してみたい感じはします。