GraphLabの商用版がリリースされたようです

CMUでグラフベースの機械学習ツールとして誕生したGraphLabですが、会社化して投資も受け、7/15付でGraphLab Createという商用プラットホームをリリースしたようです(プレスリリースブログ)。

 

感想を一言で言うと「あぁ、データサイエンティスト向け全部入りプラットホームを作る決心をされたんですね…!」というところです。

 

コアとなっているのはGraphLab2やPowerGraphと呼んでいた、分散グラフ計算プラットホームで、それにGraphLab Canvasという可視化環境、各種入力コネクタHadoop(YARN)対応やEC2での動作サポートなどを加えたもののようです。

http://graphlab.com/images/infographic_architecture.png

中心にあるのはSArrayというColumnarなデータ構造と、それを用いたオンディスクなテーブル構造であるSFrame、もともとの特徴であるグラフ構造のSGraphを持ち、数値もテキストもグラフもいっぺんに扱えることを特長に謳っています。

パフォーマンスのためにコアはC++実装なものの、ユーザーはPythonインタフェースを利用することができます。

 

http://graphlab.com/images/infographic_data_prod_pro_pipeline.png

ユーザーにとってのメリットとしてアピールされている機能は、プロトタイピングとプロダクションが同一のコードで動くということで、パラメータなどを試行錯誤してモデルを作るプロセスと、できたモデルを保存・デプロイするプロセスの両方がサポートされ、詳細は不明ですがDynamic Modelと書いてあるので動的な更新もアルゴリズムによってはできるように読めます。

Serving Layerという言葉遣いからもラムダアーキテクチャを意識しているところが見受けられますが、構成はOryxに似ている感じですね。

売りはスケーラビリティとパフォーマンスということで当然、類似の機械学習プラットホームはすでにあるわけなので比較が気になりますが、Pythonベースであるという点からはscikit-learn、同じ大学発で勢いあるものとしてはSpark+MLlibとの比較結果が公開されています。

http://graphlab.com/images/infographic_performance2.png

ロジスティック回帰のベンチマーク実験で速度とエラー率を比較してますが、ざっくり言えばscikit-learnよりもかなり速くてほぼ同等のエラー率、Spark+MLlibはそもそも精度がエラー率が大きく、1台 vs 5台の比較でもまだGraphLab Createの方が速いという結果が得られているそうです。ただ全てデフォルト設定ということなので、第三者の追試含めて続報が期待されるところです。

Featuresページに今後追加される予定の機能があり、実はまだマルチコア対応だけでマルチノードでは動かないとか、含めてフェアな情報が公開されています。Deep Learningとかも"Coming Soon"になってますね。Dynamic ModelはStreaming Updatesに関連すると思いますがこれも"Coming Soon"。

 

データ分析プラットホームとして後発ではあるのと、課金モデルがまだはっきりしないところがありますが、機械学習向けのパッケージは少ないので、完成度が高くかつ周辺ツールとの連携が容易であれば、主にNumPy-SciPy周辺のスキルがある人を集めてビッグデータ機械学習をビジネス活用したいという米国企業ではいけそうな気がします。