2012/11/7  Jubatus  Workshop




        Jubatusの概要と今後の展開



                    岡野原  ⼤大輔
             (株) Preferred Infrastructure
               <hillbig@preferred.jp>
Big Data !

l    データはこれからも増加し続ける
      l  多いことより増えていくということが重要

        データ量量の変化に対応できるスケーラブルなシステムが求められる


l    データの種類は多様化
      l  定形データのみならず、⾮非定形データも増加

      l  テキスト、⾏行行動履履歴、⾳音声、映像、信号



l    ⽣生成される分野も多様化
       l  PC、モバイル、センサー、⾞車車、⼯工場、EC、病院




                          2
データを活⽤用する

STEP 1. ⼤大量量のデータを捨てずに蓄積できるようになってきた
STEP 2. データを分析することで、現状の把握、理理解ができる
STEP 3. 状況を理理解し、現状の改善、予測ができる


l 世の中的には、蓄積から把握、理理解に向かった段階

                この本が実際に       この⼈人は30代
   本の購買情報を      売れているのは       男性なので、こ
   全て記録できる      意外にも30代の      の本を買うので
   ようになった!      男性達だ!         はないか?




    蓄積           理理解          予測
               より深い解析へ
                  3
現状の背景

l    既存システムは次の3つの⽬目標を同時に達成することが困難
      l  1)リアルタイム性の確保

      l  2)データを⽔水平分散処理理

      l  3)⾼高度度な解析



l  分散並列列処理理 (MapReduceなど)
    l  スケールアウト構成による性能向上、耐障害性

    l  基本的にバッチ処理理、解析結果はすぐ返ってこない

    l  計算モデルの⾃自由度度が⾼高い分オーバーヘッドも⼤大きい

l  オンライン / ストリーム処理理 (CEPなど)
      l    到着したデータをその場で処理理して解析し、結果を出⼒力力する
      l    多くは単純な処理理しか⾏行行えない

                            4
Hadoopは素晴らしい。だがそれとは異異なる⽅方向
で⼤大規模データ解析ができないか…




(c) tkng 2011	
   5
Jubatus
l    NTT  PF研とPreferred  Infrastructureによる共同開発
      10/27よりOSSで公開  http://jubat.us/




      リアルタイム  
       ストリーム            分散並列列             深い解析
                              6
特徴1: リアルタイム / ストリーム処理理

l  解析結果は、データ投⼊入後すぐ返って来る
l  多クラス分類などの学習/分類も⼀一瞬で処理理
    l  twitterの内容を分析して分類するのは6000QPS



l  (将来的には)データを投⼊入し、結果が⾮非同期で返って来るよう
    にしたい。
l  分類、集計、統計分析、回帰、クラスタリングなど様々な処理理を
    リアルタイム、ストリームで処理理したい
    l  現状分類だけですがそれだけでも強⼒力力です




                        7
特徴2: 分散並列列処理理

l    スケールアウト:ノードを追加することで、性能向上ができる
      l  処理理量量に応じてシステムの⼤大きさを柔軟に変更更可能

      l  ⼩小さいデータから⼤大きなデータの処理理まで同じシステムで処理理

      l  耐故障性も確保



l    各ノードが完全に独⽴立立な処理理なら簡単だが、それぞれが情報を蓄
      積し、それらを共有して処理理するのは⼤大変
      ⇒  モデルの緩やかな共有で解決(後述)




                        8
特徴3:深い解析

l    単純な集計、統計処理理だけではなく、⾃自動分類をはじめとした様
      々な機械学習⼿手法をサポート
      l  難しいことはやっておきますので使ってください



l    ⾮非定形データを扱えるように、データからの特徴抽出もサポート
       l  多くの機械学習ライブラリはこれがないので使えない

       l  特徴抽出はプラグイン化され、今後サポートを増やしていく




                     9
緩やかなモデル情報の共有

l  3つの条件を満たすためにJubatusは各サーバーのモデル情報を
    「緩やか」に共有する
l  データ⾃自体は共有しない.既存システムと違う割り切切り
l  全サーバー間で同時刻に同じモデルが存在することは保証しない
    l  サーバー毎に解析が(実⽤用上問題が無い程度度に)異異なることを許容

    l  時間が経つにつれ、モデル間の情報は共有されていく




                          お互いのモデル情
                          報をmixして共有




          異異なるサーバー間で
          解析結果は似ている10	
          が共有されない
Jubatusの各詳細については後続の発表で

l  特徴抽出、線形分類器について (海野)
l  分散処理理の仕組み (上⻄西)
l  Jubatusの応⽤用例例と使い⽅方 (⼩小⽥田)




l    私は、もう少し概要と今後の展開(妄想)を話します




                        11
機械学習はデータがあればどこでも適⽤用可能

l  データから有⽤用な規則、ルール、知識識表現、判断基準などを抽出
l  様々な分野の問題に利利⽤用可能
    l  低コストでアプリ開発&迅速な運⽤用開始も可能になる


                     適用分野	
      レコメンデー
      ションクラス   分類、識識別         市場予測    評判分析
       タリング


      情報抽出      ⽂文字認識識        ロボット    画像解析



               検索索ランキン
      遺伝⼦子分析                   ⾦金金融   医療療診断
                  グ

                         12
タスク固有の問題と⼿手法の分離離
     l    ⼀一度度標準的フォーマットに変換すれば百を超える⼿手法を利利⽤用可能
            l  特徴抽出と⼿手法を切切り分けたい


                         分野に依存しない                                      様々な⼿手法・理理論論を
                     特徴を捉えた抽象化されたデータ                                      適⽤用可能

           ⽂文書         (0,        1,        0,  2.5,  -‐‑‒1,  …)   分類/回帰:SVM,  LogReg,  
                       (1,  0.5,  0.1,      -‐‑‒2,    3,  …)       PA,  CW,  ALOW,  Naïve  Bayes
                       (0,        1,        0,  1.5,    2,  …)     CNB,  DT,  RF,  ANN,  …  
                           特徴ベクトル                                  クラスタリング:K-‐‑‒means,  
画像
                                                                   Spectral  Clustering,  MMC,  
                                                                   LSI,  LDA,  GM,  …

           ⾏行行動履履歴     グラフィカルモデル                                   構造分析:HMM,  MRF,  CRF,  …



            センサ情報                             13
機械学習の例例(1/3)
教師有学習
l    ⼊入⼒力力xから出⼒力力yへのマッピングを学習する


l  分類:⼊入⼒力力データxからカテゴリ値yを予想する
l  ⽂文書分類、ユーザー推定

l  回帰:⼊入⼒力力データxから数値yを予測する
l  コンバージョン率率率予測、アクセス数予測、株価予測など

l  リスク分析なども



l  問題の特性、予測性能に応じて様々な⼿手法が存在
l  Jubatusはこれらの⼿手法をオンライン、分散並列列化しサポートする




                         14
機械学習の例例(2/3)
レコメンド
l  近傍探索索:クエリデータと似た登録データを返す
    l  この商品データと良良く似た商品データリストを⾼高速に返す

l  属性補完:データ中の無い属性値を補完する
    l  これらの商品を買った⼈人にはこの商品がお薦め



l    レコメンドに必要な情報を抽出し、データ⾃自体は共有せずに、
      全データをレコメンドできるようにする


l  並列列分散、ストリーム化はチャレンジングなタスク
l  有⼒力力技術:
      l    anchor graph [Liu+ ICML 11]
      l    b-bit minwise hashing [Li+ WWW 10] [Li+ NIPS 11]
      l    coresets [Feldman+ NIPS 11]
                                      15
機械学習の例例(3/3)
マイニング、統計
l  統計分析
    l  max, min, avg, stddev, n次モーメント、エントロピー

l  相関があるかを分析する


l  外れ値を分析
l  盛り上がり検出


l    隠れた構造分析
      l  Hidden Markov Model

      l  Latent Dirichlet Allocation

       l    ⾏行行列列分解


                                        16
統⼀一的な計算モデル案

l  3つの操作だけを定義して様々な機械学習を実現したい
     l  Update, Analyze, Mix

     l  Update, Analyzeはローカルな操作、Mixはサーバー間の操作

l  Update  (例例:Train, Register)
     l  ⼊入⼒力力と現在のモデルを受け取り、モデルを更更新

l  Analyze (例例:Classify, 近傍探索索、属性補完)
     l  ⼊入⼒力力と現在のモデルを受け取り、出⼒力力を返す



l    Mix
       l  複数のモデルをうけとり、新しくモデルを返す

      l    交換可能なオペレーター


                          17
統⼀一的な計算フレームワーク(続)

l  モデル情報はKVSで表現できそう
    l  map<string, T>

l  データ移動については記述しない
    l  Mix操作を利利⽤用してどのようにデータ交換するかはJubatusが管理理

    l  c.f. MapReduceの場合も、Shuffle操作のみ定義

    l  容易易に冗⻑⾧長化、スケールアウトについてはJubatusが担当



l    分類、レコメンド多くの統計処理理はこの枠組で実現できそう




                      18
ロードマップ

l  2012/1 機能を拡充
     l  レコメンド

     l  回帰

     l  統計

l  2012/4 Jubatusフレームワーク化
     l  各種操作の抽象化⽬目標

     l  ストリーム化



l    予定が確定次第、連絡します




                       19
Wanted!




          CONTRIBUTORS	



             20
Copyright © 2006-2011
Preferred Infrastructure All Right Reserved.

Overview and Roadmap

  • 1.
    2012/11/7  Jubatus  Workshop Jubatusの概要と今後の展開 岡野原  ⼤大輔 (株) Preferred Infrastructure <hillbig@preferred.jp>
  • 2.
    Big Data ! l  データはこれからも増加し続ける l  多いことより増えていくということが重要   データ量量の変化に対応できるスケーラブルなシステムが求められる l  データの種類は多様化 l  定形データのみならず、⾮非定形データも増加 l  テキスト、⾏行行動履履歴、⾳音声、映像、信号 l  ⽣生成される分野も多様化 l  PC、モバイル、センサー、⾞車車、⼯工場、EC、病院 2
  • 3.
    データを活⽤用する STEP 1. ⼤大量量のデータを捨てずに蓄積できるようになってきた STEP2. データを分析することで、現状の把握、理理解ができる STEP 3. 状況を理理解し、現状の改善、予測ができる l 世の中的には、蓄積から把握、理理解に向かった段階 この本が実際に この⼈人は30代 本の購買情報を 売れているのは 男性なので、こ 全て記録できる 意外にも30代の の本を買うので ようになった! 男性達だ! はないか? 蓄積 理理解 予測 より深い解析へ 3
  • 4.
    現状の背景 l  既存システムは次の3つの⽬目標を同時に達成することが困難 l  1)リアルタイム性の確保 l  2)データを⽔水平分散処理理 l  3)⾼高度度な解析 l  分散並列列処理理 (MapReduceなど) l  スケールアウト構成による性能向上、耐障害性 l  基本的にバッチ処理理、解析結果はすぐ返ってこない l  計算モデルの⾃自由度度が⾼高い分オーバーヘッドも⼤大きい l  オンライン / ストリーム処理理 (CEPなど) l  到着したデータをその場で処理理して解析し、結果を出⼒力力する l  多くは単純な処理理しか⾏行行えない 4
  • 5.
  • 6.
    Jubatus l  NTT  PF研とPreferred  Infrastructureによる共同開発 10/27よりOSSで公開  http://jubat.us/ リアルタイム   ストリーム 分散並列列 深い解析 6
  • 7.
    特徴1: リアルタイム /ストリーム処理理 l  解析結果は、データ投⼊入後すぐ返って来る l  多クラス分類などの学習/分類も⼀一瞬で処理理 l  twitterの内容を分析して分類するのは6000QPS l  (将来的には)データを投⼊入し、結果が⾮非同期で返って来るよう にしたい。 l  分類、集計、統計分析、回帰、クラスタリングなど様々な処理理を リアルタイム、ストリームで処理理したい l  現状分類だけですがそれだけでも強⼒力力です 7
  • 8.
    特徴2: 分散並列列処理理 l  スケールアウト:ノードを追加することで、性能向上ができる l  処理理量量に応じてシステムの⼤大きさを柔軟に変更更可能 l  ⼩小さいデータから⼤大きなデータの処理理まで同じシステムで処理理 l  耐故障性も確保 l  各ノードが完全に独⽴立立な処理理なら簡単だが、それぞれが情報を蓄 積し、それらを共有して処理理するのは⼤大変 ⇒  モデルの緩やかな共有で解決(後述) 8
  • 9.
    特徴3:深い解析 l  単純な集計、統計処理理だけではなく、⾃自動分類をはじめとした様 々な機械学習⼿手法をサポート l  難しいことはやっておきますので使ってください l  ⾮非定形データを扱えるように、データからの特徴抽出もサポート l  多くの機械学習ライブラリはこれがないので使えない l  特徴抽出はプラグイン化され、今後サポートを増やしていく 9
  • 10.
    緩やかなモデル情報の共有 l  3つの条件を満たすためにJubatusは各サーバーのモデル情報を 「緩やか」に共有する l  データ⾃自体は共有しない.既存システムと違う割り切切り l  全サーバー間で同時刻に同じモデルが存在することは保証しない l  サーバー毎に解析が(実⽤用上問題が無い程度度に)異異なることを許容 l  時間が経つにつれ、モデル間の情報は共有されていく お互いのモデル情 報をmixして共有 異異なるサーバー間で 解析結果は似ている10 が共有されない
  • 11.
    Jubatusの各詳細については後続の発表で l  特徴抽出、線形分類器について (海野) l 分散処理理の仕組み (上⻄西) l  Jubatusの応⽤用例例と使い⽅方 (⼩小⽥田) l  私は、もう少し概要と今後の展開(妄想)を話します 11
  • 12.
    機械学習はデータがあればどこでも適⽤用可能 l  データから有⽤用な規則、ルール、知識識表現、判断基準などを抽出 l  様々な分野の問題に利利⽤用可能 l  低コストでアプリ開発&迅速な運⽤用開始も可能になる 適用分野 レコメンデー ションクラス 分類、識識別 市場予測 評判分析 タリング 情報抽出 ⽂文字認識識 ロボット 画像解析 検索索ランキン 遺伝⼦子分析 ⾦金金融 医療療診断 グ 12
  • 13.
    タスク固有の問題と⼿手法の分離離 l  ⼀一度度標準的フォーマットに変換すれば百を超える⼿手法を利利⽤用可能 l  特徴抽出と⼿手法を切切り分けたい 分野に依存しない 様々な⼿手法・理理論論を 特徴を捉えた抽象化されたデータ 適⽤用可能 ⽂文書 (0,        1,        0,  2.5,  -‐‑‒1,  …) 分類/回帰:SVM,  LogReg,   (1,  0.5,  0.1,      -‐‑‒2,    3,  …) PA,  CW,  ALOW,  Naïve  Bayes (0,        1,        0,  1.5,    2,  …) CNB,  DT,  RF,  ANN,  …   特徴ベクトル クラスタリング:K-‐‑‒means,   画像 Spectral  Clustering,  MMC,   LSI,  LDA,  GM,  … ⾏行行動履履歴 グラフィカルモデル 構造分析:HMM,  MRF,  CRF,  … センサ情報 13
  • 14.
    機械学習の例例(1/3) 教師有学習 l  ⼊入⼒力力xから出⼒力力yへのマッピングを学習する l  分類:⼊入⼒力力データxからカテゴリ値yを予想する l  ⽂文書分類、ユーザー推定 l  回帰:⼊入⼒力力データxから数値yを予測する l  コンバージョン率率率予測、アクセス数予測、株価予測など l  リスク分析なども l  問題の特性、予測性能に応じて様々な⼿手法が存在 l  Jubatusはこれらの⼿手法をオンライン、分散並列列化しサポートする 14
  • 15.
    機械学習の例例(2/3) レコメンド l  近傍探索索:クエリデータと似た登録データを返す l  この商品データと良良く似た商品データリストを⾼高速に返す l  属性補完:データ中の無い属性値を補完する l  これらの商品を買った⼈人にはこの商品がお薦め l  レコメンドに必要な情報を抽出し、データ⾃自体は共有せずに、 全データをレコメンドできるようにする l  並列列分散、ストリーム化はチャレンジングなタスク l  有⼒力力技術: l  anchor graph [Liu+ ICML 11] l  b-bit minwise hashing [Li+ WWW 10] [Li+ NIPS 11] l  coresets [Feldman+ NIPS 11] 15
  • 16.
    機械学習の例例(3/3) マイニング、統計 l  統計分析 l  max, min, avg, stddev, n次モーメント、エントロピー l  相関があるかを分析する l  外れ値を分析 l  盛り上がり検出 l  隠れた構造分析 l  Hidden Markov Model l  Latent Dirichlet Allocation l  ⾏行行列列分解 16
  • 17.
    統⼀一的な計算モデル案 l  3つの操作だけを定義して様々な機械学習を実現したい l  Update, Analyze, Mix l  Update, Analyzeはローカルな操作、Mixはサーバー間の操作 l  Update  (例例:Train, Register) l  ⼊入⼒力力と現在のモデルを受け取り、モデルを更更新 l  Analyze (例例:Classify, 近傍探索索、属性補完) l  ⼊入⼒力力と現在のモデルを受け取り、出⼒力力を返す l  Mix l  複数のモデルをうけとり、新しくモデルを返す l  交換可能なオペレーター 17
  • 18.
    統⼀一的な計算フレームワーク(続) l  モデル情報はKVSで表現できそう l  map<string, T> l  データ移動については記述しない l  Mix操作を利利⽤用してどのようにデータ交換するかはJubatusが管理理 l  c.f. MapReduceの場合も、Shuffle操作のみ定義 l  容易易に冗⻑⾧長化、スケールアウトについてはJubatusが担当 l  分類、レコメンド多くの統計処理理はこの枠組で実現できそう 18
  • 19.
    ロードマップ l  2012/1 機能を拡充 l  レコメンド l  回帰 l  統計 l  2012/4 Jubatusフレームワーク化 l  各種操作の抽象化⽬目標 l  ストリーム化 l  予定が確定次第、連絡します 19
  • 20.
    Wanted! CONTRIBUTORS 20
  • 21.
    Copyright © 2006-2011 PreferredInfrastructure All Right Reserved.