tut_pfi_2012

5,576 views

Published on

豊橋技科大で2012/6/12で特別講義で利用した資料です。講義時の資料とは多少異なっています。

tut_pfi_2012

  1. 1. 2012/06/12(火)@豊橋技科⼤大  特別講義 ⼤大規模データ解析のための 技術とその実⽤用化 株式会社 Preferred Infrastructure 岡野原  ⼤大輔
  2. 2. アジェンダl  会社・個⼈人の話 l  会社について:Preferred Infrastructure l  個⼈人についてl  ⼤大規模データ解析のための技術 l  “ビッグデータ”を取り巻く環境 l  ⼤大規模データ解析のための技術 l  Jubatusについてl  基本的に⼀一般の⼈人向けに話をしますが、 いくつかは突っ込んだ話をします。質問してください
  3. 3. アジェンダl  会社・個⼈人の話 l  会社について:Preferred Infrastructure l  個⼈人についてl  ⼤大規模データ解析のための技術 l  “ビッグデータ”を取り巻く環境 l  ⼤大規模データ解析のための技術 l  Jubatusについて
  4. 4. 会社紹介株式会社  Preferred Infrastructure (略略称PFI)l  社是:最⾼高の技術を最短で世の中に届けるl  設⽴立立:2006年年3⽉月l  代表者:⻄西川徹l  社員数:26名(+バイト 7名)l  所在地:東京都⽂文京区本郷2-40-1 (東京⼤大学本郷キャンパス近く)l  検索索/推薦分野での製品開発・販売・サービス提供 l  ⼤大⼿手メディア、サービス会社のバックエンドのエンジンを提供 l  提供先例例:朝⽇日新聞、NHK、はてな、NII、イプロス、電通、⽇日経BPl  ⼤大規模分散コンピューティング分野での技術提供 l  通信、製造業、メディア、医療療など各事業との共同研究開発 l  ⼤大規模分散リアルタイム解析システム  Jubatus
  5. 5. PFIの主な製品ラインラップ 情報の分類・整理理  Bazil l  カテゴリーに分類する l  メールのSPAM判定、Twitterのユーザ属性推定、ECサイトの商品カテゴリ分類 情報の検索索  Sedue l  蓄積された⼤大規模のデータから、適切切な情報の検索索やレコメンデーション l  Webサイト内の検索索・企業内ドキュメントの検索索 新しい知⾒見見の発⾒見見  Jubatus l  ⼤大量量かつ複雑なデータを分析し、新たな知⾒見見を発⾒見見する l  リアルタイムに変化するSNSデータ、センサデータ、POSデータ等に対する⾼高 度度な分析 l  ネットワークトラヒックを⽤用いた異異常トラヒックやトレンド分析
  6. 6. Sedue:製品提供/技術提供実績メディア業界 l  ⽇日経BP社  全社横断検索索 l  朝⽇日新聞社  公式ニュースサイトasahi.com l  株式会社インプレスビジネスメディア l  ⽇日本放送協会  NHKニュース l  株式会社電通  ザッピングエンジン「XAPPY」EC/Webサービス業界 l  株式会社イプロス  製造技術データベースサイト l  国⽴立立情報学研究所  図書情報サービスWebcat  Plus l  株式会社エフルート  モバイル検索索サービス l  株式会社はてな  ソーシャルブックマークサービス
  7. 7. 製品技術紹介デモ 今回の⼤大規模データ解析の話とは 必ずしも関係しているわけではありませんl  デモをいくつか紹介しますl  PFIでは開発した技術を⼀一般の⼈人にわかりやすく説明するための プロトタイプ・デモ開発部隊チームがいる l  javascript,  flash,  rails,  haskell,  などを駆使して作成する l  営業資料料としては⾮非常に重要
  8. 8. PFIをどのような会社にしていきたいかl  研究・開発・ビジネス(世の中)をもっと近づけたい l  それが達成できるような⼈人材・組織作りをしたいl  (短期的には)IT業務の形を変えたい l  エンジニアが⾃自⽴立立し、⾃自分で考えて仕事をできるようにしたい l  受託だけではなく、我々も問題と解決法を考えて社会で共有するl  (⻑⾧長期的には)世の中を変えるようなソフトウェアを開発したい l  ⾃自⽴立立した優秀なエンジニアを集め、それぞれが責任をもって能動的 に業務できるような組織作りを⾏行行う l  数⼗十年年後には今の産業を⽀支え、新しい産業を作りたい
  9. 9. アジェンダl  会社・個⼈人の話 l  会社について:Preferred Infrastructure l  個⼈人についてl  ⼤大規模データ解析のための技術 l  “ビッグデータ”を取り巻く環境 l  ⼤大規模データ解析のための技術 l  Jubatusについて
  10. 10. ビッグデータを取り巻く環境
  11. 11. BigData ! l  巨⼤大なデータがあらゆる分野で⽣生まれ続けている l  世の中のデータは年年率率率45%ずつ増えており、2020年年には 現在の40倍の35ZBになると推定 [Digital Universe 2010] l  3Vの増加: Volume(量量), Variety(種類) Velocity(頻度度) l  データの種類・⽣生成される場所は多様化 l  定形データ以外の⾮非定形データが特に増加 データの種類テキスト ⾏行行動履履歴 画像 ⾳音声 映像 信号 ⾦金金融 ゲノム ⼈人 PC モバイル センサー ⾞車車 ⼯工場 EC 病院 ⽣生成される場所 11
  12. 12. BigDataの活⽤用l  BigDataを活⽤用して世の中の様々な問題を解こうとしているl  データ集約型科学 l  Jim Grayは科学的探求は、(1) 実験  (2) 理理論論 (3) 計算とシミュレー ション (4) データマイニング  と進むと提唱 l  物理理、化学、医療療、環境、資源、都市計画など多岐にわたる分野l  ビジネスへの活⽤用 l  あらゆる業界がデータを活⽤用し始めようとしている l  ウェブ・⾦金金融・保険・医療療・⼩小売・運輸・製造・インフラ
  13. 13. ビッグデータ活⽤用の現状l  ウェブから他の産業領領域へ進みつつある l  ウェブ領領域では成功事例例多数(Google, Amazon, Facebook) l  ウェブ以外の分野でのビッグデータ活⽤用の可能性は未知数 l  新しい技術・戦略略・ビジネス構築が必要になっていくl  活⽤用のためには量量のみならず多様性・質・速さへ l  データの種類や性質は様々であり各分野の専⾨門的知識識も必要 l  単なる集計のみならず予測・発⾒見見・分類など深い分析が必要 l  いくつかの分析ではリアルタイム処理理が鍵となる →即時処理理、即時対応  情報の在庫を作らない 13
  14. 14. データ活⽤用の3STEPSTEP 1. ⼤大量量のデータを捨てずに蓄積できるようになってきたSTEP 2. データを分析することで、現状の把握、理理解ができるSTEP 3. 状況を理理解し、現状の改善、予測ができるl 世の中は、Step1 から Step2 を踏み出した段階 この本が実際に この⼈人は30代 本の購買履履歴を 売れているのは 男性なので、こ 全て記録できる 意外にも30代の の本を買うので ようになった! 男性達だ! はないか? 蓄積 理理解 予測 より深い解析へ 14
  15. 15. ビッグデータ解析の現状と今後の課題l  ⼤大規模データを扱えるインフラl  強⼒力力な分析ツールl  データ分析のための継続的なノウハウの蓄積 l  データ分析を⾏行行える⼈人材育成 l  データ分析結果を産業を超えて共有できる仕組み作りl  適切切なデータを取得できるようにする⼯工夫 l  取っていたデータの分析ではなく、 分析するためにデータを狙って取得する試みが必要 15
  16. 16. ビッグデータのウェブ以外での活⽤用例例(1/2)l  NY市の既存の配電網のproactive maintenanceに機械学習を利利⽤用 l  1500万⼈人が利利⽤用している配電網での実際のデータで実証実験 l  様々な情報から、どの順番にメンテナンスを⾏行行う必要かを決定する l  300種類の特徴情報(realtime/semi-realtime/static) l  各種センサデータから挙げられる数百種類のデータ l  過去のトラブルが記述されたトラブルチケット集記録 (⾃自然⾔言語処理理を⾏行行い、特徴・訓練例例を抽出) l  MTBF (Mean time between failures)を推定 l  情報検索索で利利⽤用されるランキング学習を適⽤用し、どの装置から チェックが必要かの優先度度付けを⾏行行う“Machine Learning for the New York City Power Grid”, 
 J. IEEE Trans. PAMI, to appear, 
 Con Edison社とコロンビア大の共同研究 16
  17. 17. ビッグデータのウェブ以外での活⽤用例例(2/2)l  Reactive  Maintenanceは重要だが賢くやる必要がある l  何かトラブルが起こってから、対処するのではなく予防的な保守が 必要.これには勘ではなくデータに基づく分析が必要 l  低コストでの保守はインフラ、ヘルスケアなど多分野で重要l  故障予測は実際可能 l  配電網の故障予測だけでなく、マンホール異異常などについてもトラ ブル集などの⾔言語情報の解析結果と組合せることで、分析ができたl  データが何より⼤大切切 l  データは集められるものはなんでも重要であった l  既存のDBに貯められたデータでは不不⼗十分であり、センサデータ、 トラブル集など多種多様なデータを組合せることが重要 17
  18. 18. アジェンダl  会社・個⼈人の話 l  会社について:Preferred Infrastructure l  個⼈人についてl  ⼤大規模データ解析のための技術 l  “ビッグデータ”を取り巻く環境 l  ⼤大規模データ解析のための技術 l  Jubatusについて
  19. 19. ⼤大規模データ解析のための 技術
  20. 20. 機械学習とは?l  データから有⽤用な規則、ルール、知識識、判断基準を抽出l  データがあるところならば、どこでも使えるl  様々な分野の問題に利利⽤用可能 適用分野 レコメンデー ションクラス 分類、識識別 市場予測 評判分析 タリング 情報抽出 ⽂文字認識識 ロボット 画像解析 検索索ランキン 遺伝⼦子分析 ⾦金金融 医療療診断 グ 20
  21. 21. タスク固有の問題と⼿手法の分離離 特徴抽出 特徴分析 分野に依存しない 様々な⼿手法・理理論論を 特徴を捉えた抽象化されたデータ 適⽤用可能 ⽂文書 (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,  … センサ情報 21
  22. 22. タスク固有の問題と⼿手法の分離離(続)l  特徴抽出と特徴分析を分離離することが重要l  データの種類、ドメイン、利利⽤用⽬目的に依存せず、様々な分析を利利⽤用 可能なしくみを作ることができるl  利利点 l  システム開発・専⾨門家教育のコストを⼤大きく下げることができる l  特徴抽出では各問題ドメインに専念念 l  特徴分析では各分析⼿手法に専念念 22
  23. 23. 特徴抽出l  ⼊入⼒力力された⽣生データの特徴をキーとバリューで表すl  変換の⽅方法はデータの種類によって様々 特徴ベクトル 世の中ではビッグデー 分析結果 タというキーワードが ビッグデータ 2注⽬目されていますが, 世の中 1⼀一⼝口にビッグデータと IT関連 キーワード 1いっても⽴立立場や観点によって定義は様々です. 定義 1 周囲が黄色 1 中心が茶 1 ひまわり 花びらの割合 0.7 ⾼高さ 150 23 他の要素は0とする
  24. 24. 分析⼿手法様々な種類の分析が可能予測 近傍探索索 統計分析•  ⼊入⼒力力xから出⼒力力yを推定 •  似たデータはこれまで無 •  平均・最⼤大/最⼩小・エン •  分類:yがカテゴリ値 かったか,それらはどう トロピー・モーメント・ •  回帰:yが連続値 いうデータか 相関、検定外れ値、傾向分析 クラスタリング 原因分析•  これまでのデータ傾向か •  似たデータ同⼠士を纏め上 •  複数の特徴の中で最も現 ら外れた値はあるか、傾 げ、グループ化する 象の原因として説明し得 向は変わってるか •  階層的に分析する る原因は何か?研究分野は、機械学習、データマイニング、DB、統計、検索索、各ドメイン(特に情報検索索、バイオ、画像、⾳音声)に散らばっており、体系⽴立立っていない 24
  25. 25. 特徴分析(続)l  1つの分析⼿手法だけで⽬目標を達成することは少なく、複数の分析を 組合せることが重要となるl  次にいくつか具体的な利利⽤用シーン毎に分析パターンを紹介する 25
  26. 26. 例例1:ECサイトの分析l  ユーザー分析 l  属性予測 l  性別、年年齢、家族構成、地域、嗜好、過去の⾏行行動 l  ⾏行行動予測 l  商品を購⼊入するか、良良い評判を作るか、継続的に会社と関わるかl  ユーザーへの推薦 l  ユーザーの近傍探索索を⾏行行い、似たユーザーを調べどのような商品を 購⼊入するかどうかを調べ、推薦するl  ユーザーへのサポート l  外れ値、コンセプトドリフトを調べ、何か問題が起きているか、⾏行行 動パターンが変わってきているのかを分析する 26
  27. 27. 例例2:ネットワーク管理理l  電⼒力力消費量量の予測 l  パケットデータなどと、実際の測定値の関係を分析し、パケット データのみから電⼒力力消費量量を予測できるようにするl  ネットワーク保守・セキュリティ l  通信パターン、パケットなどから外れ値検出を⾏行行い、障害検知や攻 撃検知を⾏行行うl  サーバー構成・ネットワーク構成の最適化 l  利利⽤用⽅方法が似ているサーバー・サービスをクラスタリングによって まとめ上げ、それらが近くなるように配置するl  原因分析 l  何か障害が発⽣生した時に、その原因が何かを膨⼤大な候補の中からい くつかに絞り込む 27
  28. 28. 例例3:⼩小売情報分析l  発注数の最適化 l  過去の売上数、店舗、気象、地域、ニュース、ユーザーからの反響 など様々な情報を元に最適な発注数を予測、リスク分析も⾏行行うl  ⽋欠品、代替え分析 l  ⽋欠品情報はデータで表されない隠れた情報.これまでの売上データ の傾向や似た商品での代替えが起きているかで分析を⾏行行う l  この実現のため商品間の類似度度を測ったり、売上の相関を調べるl  ユーザーのモデル化 l  クラスタリング、分類などを利利⽤用し、ユーザーに対し、いくつかタ グ付けを⾏行行いユーザー全容を把握できるようにするl  店舗のモデル化 l  複数の店舗情報を分析し、店舗毎の強い点、弱い点などを分析 28
  29. 29. 例例4:ソーシャルモニタリングl  SNSなどのデータを分析し、企業、商品、⼈人、イベントなどについ ての⾔言及を分析し、マーケティング・製品開発などに活かす l  特徴抽出では、⾔言語処理理技術が重要となってくるl  評判分析 l  ⾔言及対象に対し、肯定/否定/中⽴立立 l  客観的、主観的な記述の抽出l  評判情報の要約 l  ⾔言及対象の分析、真偽判定、評判属性毎に要約(価格、機能など) l  共参照解析なども重要にl  影響度度分析 l  発⾔言毎の影響度度分析、グラフ構造の中⼼心性分析も重要に 29
  30. 30. ⼤大規模分散並列列+機械学習l  Google, MS, Yahoo!などを中⼼心に⼤大規模分散並列列による機械学習の 研究・実⽤用化が進むl  より強⼒力力なモデルを利利⽤用した機械学習 l  ⾼高精度度で理理論論的な保障のある⼿手法 l  オンライン学習など従来並列列化が困難と思われた⼿手法も並列列化可能 であることがわかってきたl  グラフィカルモデルと分散数値最適化を紹介
  31. 31. グラフィカルモデルl  確率率率変数を頂点、変数間の依存関係を枝としたグラフ構造 l  ベイジアンネットワーク、MRF CRF HMM , , l  MAP推定(確率率率が最⼤大になる変数割り当て)l  ⾔言語処理理、情報抽出、⾳音声認識識、画像解析、遺伝⼦子解析、構造予測 で利利⽤用
  32. 32. グラフィカルモデルの分散並列列処理理l  グラフィカルモデルの推論論は⼀一般に困難 l  近年年のモデルはより巨⼤大で密なグラフ l  数百万変数(頂点)なども扱いたいl  様々な並列列化アルゴリズムが提案されつつある l  相互排他的な更更新を⾒見見つけ⾃自動的に並列列で⾏行行う l  頂点を相互排他的な集合で⾊色分け、⾊色毎に更更新 l  Residual Splash Belief Propagation [J. E. Gonzalez AISTATS 2009] l  GraphLab [Y. Low et. al. UAI 2010]
  33. 33. グラフィカルモデルの分散並列列による結果 [S. Singh LCCC 2010] 共参照解析:⼆二つの⾔言 及は同じ実体を指して いるか? (⾔言及のクラスタリン グ) 50 ⇒ 250台 例例:「僕と君はこの⼆二 で5x⾼高速化 年年で4回誘われた」と 岡野原は⻄西川に⾔言った。l  NY  Times  20年年分の記事中の100万回の⼈人名⾔言及の共参照解析l  250台のマシンでも線形のスケーラビリティ
  34. 34. 数値最適化の並列列分散化l  多くの機械学習は数値最適化問題に帰着 l  ⽬目的関数F(θ)の最⼩小値を達成するθを求める l  例例:SVM : F(θ) = ∑iLhinge(θ) + Cθ2l  MapReduceを使えば簡単? l  データを分割して求め、それらの結果の平均とるか l  勾配情報だけを分割して求めるかl  どれも同じ様に⾒見見えるが実は精度度に⼤大きな違いがあり、 理理論論的に解析可能l  4つの⽅方法を紹介する l  結論論:最後のIterativeParameterMixtureを使え
  35. 35. ⽅方法1Parameter Mixture1.  データを分割しK個のshardに配る2.  shard毎にパラメータθを最適化3.  最後に各shardの結果の平均をとる l  θ’ = (∑iθi)/Kl  実はうまくいかない l  性能も悪いし、失敗する例例も作れる l  理理論論的保障もできない
  36. 36. ⽅方法2 Distributed Gradientl  勾配の計算部分を並列列に⾏行行うl  得られた勾配情報を利利⽤用し、更更新は⼀一台で⾏行行うl  ⻑⾧長所 l  勾配の計算に時間がかかる場合に⾼高速化可能l  短所 l  毎回パラメータを全てのshard間でやりとりしないといけない. l  収束は遅い(バッチ学習と同じ)
  37. 37. ⽅方法3  Asynchronous Updatel  全ノードで共通のパラメータθを利利⽤用l  各ワーカーは、現在のθを取得し、各担当分のデータ上でθを更更新l  ⽋欠点:θにlockをとらないため、古いθを元に更更新を計算してしまう 可能性.実はそれでも収束保障はできるが遅い
  38. 38. ⽅方法4 Iterative Parameter Mixture[Mann et al 09][Mcdonald et. Al. 10]l  Parameter Mixtureを少しだけ改造1.  データを分割しshardに配る2.  shard毎に最適化3.  全部のθの平均をとる4. θを再度度各shardに配り1から繰り返すこれは収束証明ができ、実際に⾼高性能•  パラメータの通信がepoch毎のみに発⽣生•  ⼀一台で求めた場合と同じ結果を同じ更更新回数で得られる(線形の スケーラビリティ)•  Shard毎にデータがばらついていても良良い
  39. 39. 実験1 [K. Hall LCCC 2010]•  クリックデータでクリックするかどうかを予測•   訓練例例数  3億7000万•   200個のグループに分割し  240台のworkerでMapReduce•   Iterative  Parameter  Mixtureが70倍の⾼高速化と⾼高性能を達成
  40. 40. 実験2 [K. Hall LCCC 2010]•   先ほどと同じデータ(Single-‐‑‒nodeではもう不不可能)•   訓練例例数  16億•   900個のグループに分割し  600台のworkerでMapReduce•   Iterative  Parameter  Mixtureが同じく⾼高速で⾼高性能
  41. 41. アジェンダl  会社・個⼈人の話 l  会社について:Preferred Infrastructure l  個⼈人についてl  ⼤大規模データ解析のための技術 l  “ビッグデータ”を取り巻く環境 l  ⼤大規模データ解析のための技術 l  Jubatusについて
  42. 42. Jubatus42
  43. 43. Jubatus登場の背景l  既存システムは次の3つの⽬目標を同時に達成することが困難 l  1)リアルタイム性の確保 l  2)データを⽔水平分散処理理 l  3)深い分析l  分散並列列処理理 (MapReduce/Hadoopなど) l  スケールアウト構成による性能向上、耐障害性 l  基本的にバッチ処理理、解析結果はすぐ返ってこない l  計算モデルの⾃自由度度が⾼高い分オーバーヘッドも⼤大きいl  オンライン / ストリーム処理理 (CEPなど) l  到着したデータをその場で処理理して解析し、結果を出⼒力力する l  多くは単純な処理理しか⾏行行えない 43
  44. 44. Jubatus l  NTT  SIC*とPreferred  Infrastructureによる共同開発 l  2011年年10⽉月よりOSSで公開  http://jubat.us/ リアルタイム   ストリーム 分散並列列 深い解析 44 *  NTT  SIC:  NTT研究所  サイバーコミュニケーション研究所  ソフトウェアイノベーションセンタ
  45. 45. 特徴1: リアルタイム / ストリーム処理理l  解析結果は、データ投⼊入後すぐ返って来るl  分類などの学習/分析も⼀一瞬で処理理 l  twitterの内容を分析して分類するのは6000QPSl  分類、統計分析、回帰、近傍探索索など様々な処理理をリアルタイム、 ストリームで処理理 l  データを貯めることなく、その場で処 l  従来バッチで処理理していた様々な解析をリアルタイム・ストリーム で同様の精度度処理理できるよう、新しく解析⼿手法を開発 45
  46. 46. 特徴1: リアルタイム / ストリーム処理理l  解析結果は、データ投⼊入後すぐ返って来るl  分類などの学習/分析も⼀一瞬で処理理 l  twitterの内容を分析して分類するのは6000QPSl  分類、統計分析、回帰、近傍探索索など様々な処理理をリアルタイム、 ストリームで処理理 l  データを貯めることなく、その場で処 l  従来バッチで処理理していた様々な解析をリアルタイム・ストリーム で同様の精度度処理理できるよう、新しく解析⼿手法を開発 46
  47. 47. 特徴2: 分散並列列処理理l  スケールアウト:ノードを追加することで、性能向上ができる l  処理理量量に応じてシステムの⼤大きさを柔軟に変更更可能 l  ⼩小さいデータから⼤大きなデータの処理理まで同じシステムで処理理 l  耐故障性も確保l  各ノードが完全に独⽴立立な処理理なら簡単だが、それぞれが情報を蓄積 し、それらを共有して処理理するのは⼤大変 ⇒  モデルの緩やかな共有で解決(後述) 47
  48. 48. 特徴3:深い解析l  単純な集計、統計処理理だけではなく、分類・近傍探索索など様々な機 械学習⼿手法をサポート l  ユーザーはデータを投⼊入すればこれらの分析処理理を実現できるl  ⾮非定形データを扱えるように、データからの特徴抽出もサポート l  多くの機械学習ライブラリはここがサポートされていない l  特徴抽出はプラグイン化され、今後サポート対象のデータ種類、分 野を増やしていく 48
  49. 49. Jubatusが実現するオンライン分析l  (従来)バッチ分析 l  データを全体を⾒見見てから分析を⾏行行う l  結果が返るまで遅くデータを貯めないといけない (情報の在庫が発⽣生) 分析モデルl  オンライン分析 l  1つずつデータを⾒見見てモデルを即時更更新、分析に反映 l  データ全体を⾒見見て分析した場合と同じような結果が得ら れるような理理論論的な保証 分析モデル 49
  50. 50. オンライン分析の特徴l  オンライン分析は解析速度度が速い l  レイテンシが⼩小さく、スループットも⼤大きい l  データを貯める必要が無いl  Jubatusは最新のオンライン分析⼿手法を実装 l  分類の例例 l  Perceptron (1958) l  Passive Aggressive (PA) (2003) 近年年急激に性能 が向上 l  Confidence Weighted Learning (CW) (2008) l  AROW (2009) l  Normal HERD (NHERD) (2010) 50
  51. 51. オンライン分析を分散化させるのは⾃自明ではない! バッチ分析のイメージ オンライン分析のイメージ 更更新量量計算 更更新量量計算 ここが重いの モデル更更新 で⾃自明に並列列 更更新量量計算 モデル更更新 化しやすい モデル更更新 更更新量量計算 更更新量量計算 モデル更更新 更更新量量計算時間 モデル更更新 モデル更更新l  オンライン分析は頻繁な更更新を必要とするl  単純な分散では頻繁な同期処理理が必要になってしま い、性能の劣劣化が避けられない 51
  52. 52. 緩やかなモデル情報の共有l  Jubatusは各サーバーのモデル情報を「緩やか」に共有するl  データ⾃自体は共有せず、モデルのみ共有する l  既存システムと違う割り切切りl  全サーバー間で同時刻に同じモデルが存在することは保証しない l  サーバー毎に解析が(実⽤用上問題が無い程度度に)異異なることを許容 l  時間が経つにつれ、モデル間の情報は共有されていく お互いのモデル情 報をmixして共有 異異なるサーバー間で 解析結果は似ている52 が共有されない
  53. 53. Jubatusにおける分散機械学習のイメージ 分析器 分析モデルの 差分のみを交換 l  みんな個別に分析モデルを更更新l  たまに分析モデルを交換 l  モデルはデータより遙かに⼩小さく効率率率良良く交換できる 53
  54. 54. Jubatusがなぜリアルタイムに分析できるのか?l  モデル更更新時、解析時に他のマシンと通信する必要がなく、 ローカルで全ての処理理が終了了するl  データではなく、⼩小さなモデル情報を他のマシンと⾮非同期に共有. 通信コストは⾮非常に⼩小さく、レイテンシは低い l  従来のMapReduceではShuffleフェイズのコストが⼤大きかったl  オンライン機械学習を利利⽤用 l  分類・回帰・近傍探索索・外れ値検出・統計・グラフマイニングなど でオンラインで更更新可能なアルゴリズムを採⽤用 l  既にオンライン化されているアルゴリズムは分散のみを新たに開発、 オンライン化されていないものは新たにオンライン化アルゴリズム を開発l  全てメモリ上での処理理を⾏行行う
  55. 55. 分析ロジックの抽象化l  Jubatusでは分析ロジックを3種類の処理理に分解 l  分析ロジック開発者はどう分散させるか、データを共有するか、 耐障害性を保証するかを考える必要ががない l  c.f. MapReduceではロジックをMapとReduceの⼆二つに分解l  UPDATE l  データを受け取ってモデルを更更新するl  ANALYZE l  データを受け取って解析結果を返すl  MIX(システムが勝⼿手に呼び出す) l  内部モデルを混ぜ合わせる 55
  56. 56. 3つの操作:UPDATE 分析器l  分析モデル情報を更更新するl  クライアントが結果を待つ必要は特にない 56
  57. 57. 3つの操作:ANALYZE 分析器l  分析結果を返すが内部状態を変更更しないl  クライアントが結果を受け取る 57
  58. 58. 3つの操作:MIX 分析器l  分析器同⼠士が内部モデルの情報を混ぜ合わせるl  混ぜる⽅方法は分析⼿手法によって異異なるl  システムが適当なタイミングで呼び出す 58
  59. 59. 3つの処理理の例例:統計処理理の場合l  平均値を計算する⽅方法を考えてみるl  内部状態は今までの合計(sum)とデータの個数(count)l  UPDATE l  sumi += x l  counti += 1l  ANALYZE l  return (sum / count)l  MIX l  sum = sum1 + sum2 l  count = count1 + count2 59
  60. 60. 「緩いモデル共有」の特徴l  分散オンライン機械学習と相性が良良い l  独⽴立立に処理理するのでスループットが⾼高い l  もともと100%の精度度達成が難しいのを逆⼿手に取り、 サーバー間で結果が異異なることを許容するl  任意の並⾏行行計算を実現できるわけではない l  逐次処理理した結果と厳密に⼀一致しない l  MIXするまで他のノード計算結果は反映されない 60
  61. 61. Jubatusの分析l  現在, 以下の分析をサポートl  分類 l  教師有多クラス分類:Perceptron, PA, CW, AROWl  回帰 l  教師有回帰分析:PAl  近傍探索索 l  Inverted File Index, LSHl  統計 l  平均、分散、エントロピー、モーメント 61
  62. 62. Jubatusの計算モデルl  Jubatusの各⼿手法は次の4つを指定することで表現されるl  Model lm1 lm2 lm3 l  ローカル  モデル (lm) l  シェア  モデル (sm) sm sm sml  Update 操作 l  ⼊入⼒力力データをとり、lmを更更新 x lm ⇒ lml  Analyze 操作 l  ⼊入⼒力力データをとり、解析結果を返す x lm sm ⇒ yl  Mix 操作 l  それぞれのマシンからlmを集め、混ぜた lm sm ⇒ sm ものをsmに反映させる
  63. 63. ⼆二値線形分類 + パーセプトロン更更新の場合l  Model l  lm : 重みベクトル  wlocal∈Rm l  sm : 重みベクトル  wshare∈Rml  Update 操作 l  wlocal, ⼊入⼒力力ベクトル: x ∈ Rm, 出⼒力力ラベル :y∈{+1, -1} l  分類が間違えたら次のように更更新      wlocal := wlocal + yxl  Analyze 操作 l  (wlocal + wshare)Tx ≧ 0 ならば  +1を返し、そうでないなら-1を返すl  Mix 操作 l  wlocalを集めて、平均をとり、wshareに混ぜて返すl  収束に関してはRegret解析により証明が可能l  多クラス分類、回帰、他の更更新則の場合も殆ど同じ
  64. 64. 近傍探索索の場合l  Model l  lm : CHTで分けられた各⼊入⼒力力  xlocal∈Rm l  sm : 全データのbit signature (LSH, minhash)  bshare∈Rkl  Update 操作 l  xの差分データを受け取り、xのsignatureを再計算l  Analyze 操作 l  bshareを元に近傍探索索l  Mix 操作 l  各マシン上で更更新されたxlocalのbit signatureを集める
  65. 65. Jubatusでサポート予定のその他のアルゴリズムl  グラフ解析 l  最短路路探索索 l  中⼼心性計算l  統計 l  キーと値に紐紐付く統計の代表値(平均、分散、モーメントなど)l  今後検討しているアルゴリズム l  ⽂文字列列マッチング l  マイニング l  クラスタリング
  66. 66. Jubatusクライアントl  Jubatusの機能を利利⽤用するための各種⾔言語⽤用のクライアントを⽤用意l  C++l  Pythonl  Rubyl  Javaなどなどl  この他の⾔言語も現在サポート準備中 l  これらのクライアントは、サーバーIDLから⾃自動⽣生成されている l  Haskelで書かれている.興味がある⽅方はmsgpack idlで検索索 66
  67. 67. Jubatusの今後l  これまでは、実現可能性を確かめることに重点をおいていたl  適⽤用範囲の拡⼤大 l  様々なドメインのタスクに取り組み、それを開発にフィードバックl  使いやすくする l  安定性を⾼高める l  実際の利利⽤用例例にそくしたアプリケーションの開発 l  クライアント、ツールの充実、ドキュメント整備l  新機能開発 l  特に外れ値検出、コンセプトドリフト l  グラフ解析l  ⼀一緒にJubatusの可能性を検証できるパートナーを探しています! 67
  68. 68. まとめ68
  69. 69. ビッグデータの技術開発の今後の課題(1/2)l  問題は⼭山積み.伸びしろは⼤大きいl  インフラ l  クラウド l  センサネットワーク l  組み込みl  データ解析 l  解析⼿手法 l  解析の利利⽤用⽅方法 l  現状、データ解析は専⾨門家の⼈人しかできない. ⼀一般の⼈人ができるようにするには? l  既存の機械学習・データマイニング以外の分野は? l  名寄せ、異異常検知、最適化
  70. 70. ビッグデータの技術開発(2/2)l  ドメイン毎の活⽤用⽅方法 l  ⾞車車、製造業、医療療、マーケティング、広告、エンタープライズ エンターテイメント、教育、法務、公務、バイオ l  いくつかの分野ではデータが⼊入⼿手可能になっている l  例例:OpenXC Project l  ⾃自動⾞車車情報をArduinoとAndroidを利利⽤用して収集可能.OSS l  ハンドル情報、スピード、内部情報などが全てJSONで取れるl  どの分野も未開拓拓であり、研究、ビジネスともにチャンスがある
  71. 71. Copyright © 2006-2012Preferred Infrastructure All Right Reserved.

×