Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Jubatusにおける大規模分散オンライン機械学習@先端金融テクノロジー研究会

2,755 views

Published on

Jubatusにおける大規模分散オンライン機械学習@先端金融テクノロジー研究会

  1. 1. Jubatusにおける⼤大規模分散オンライン機械学習海野  裕也(株) Preferred Infrastructure研究開発部⾨門<unno@preferred.jp>2012/6/1先端⾦金金融テクノロジー研究会
  2. 2. 株式会社  Preferred  Infrastructurel 略略称 PFIl 設⽴立立 2006年年3⽉月l 代表者 ⻄西川  徹l 社員数 26名(2012/4現在)l 所在地 〒113-‐‑‒0033 東京都⽂文京区本郷2-‐‑‒40-‐‑‒1l URL http://preferred.jp/l 事業概要 検索索/推薦(レコメンデーション)分野での製品開発販売、サービス提供および技術提供⼤大規模分散コンピューティング分野での技術提供2会社概要
  3. 3. ミッション:最先端の技術を最短路路で実⽤用化テクノロジーとサービス・プロダクトとの間のギャップを埋めテクノロジーが持つポテンシャルを最⼤大限に引き出すこと研究ベースの技術が想定しているものと実世界には⼤大きな壁が存在するl  アカデミックの第⼀一線で研究しているリサーチャーと、アカデミックな研究を理理解し、実装・実⽤用化できるエンジニアを集合させるl  世の中に必要とされている技術の中でも、特に難しい課題を選び抜き、それに対する解を提供していくこと3 Basic  TechnologiesAcademic  ResearchesProductsServices
  4. 4. 実績    製品導⼊入/技術提供l メディア業界Ø  ⽇日経BP  全社横断検索索Ø  朝⽇日新聞社  公式ニュースサイトasahi.comØ  株式会社インプレスビジネスメディアØ  ⽇日本放送協会  NHKニュースØ  株式会社電通  ザッピングエンジン「XAPPY」l EC/Webサービス業界Ø  株式会社イプロス  製造技術データベースサイトØ  国⽴立立情報学研究所  図書情報サービスWebcat  PlusØ  株式会社エフルート  モバイル検索索サービスØ  株式会社はてな  ソーシャルブックマークサービス4
  5. 5. アジェンダl  ビッグデータ分析の現状l  機械学習の基礎l  特徴抽出と特徴分析l  利利⽤用事例例l  Jubatusl  オンライン分散解析基盤l  まとめ5
  6. 6. ビッグデータ分析の現状6
  7. 7. Big Data !l  巨⼤大なデータがあらゆる分野で⽣生まれ続けているl  データが⼤大きいことも重要だが、増加し続けていることが重要l  データ量量の変化に対応できるスケーラブルなシステムが求められるl  データの種類・⽣生成される場所は多様化l  定形データのみならず、⾮非定形データも増加7 テキスト ⾏行行動履履歴 画像 ⾳音声 映像 信号 ⾦金金融 ゲノム⼈人 PC モバイル センサー ⾞車車 ⼯工場 EC 病院⽣生成される場所データの種類
  8. 8. ビッグデータ解析の現状l  ウェブから他の産業領領域へl  ウェブ領領域では成功事例例多数(Google, Amazon, Facebook)l  ウェブ以外の分野でのビッグデータ活⽤用の可能性は未知数l  ⾦金金融・保険・医療療・⼩小売・運輸・製造・インフラl  新しい技術・戦略略・ビジネス構築が必要になっていくl  分析は量量のみならず多様化・質・速さへl  データの種類や性質は様々であり分野の専⾨門的知識識も必要l  単なる集計のみならず予測・発⾒見見・分類など深い分析が必要l  いくつかの分析ではリアルタイム処理理が鍵となる→即時処理理、即時対応  情報の在庫を作らない8
  9. 9. データ活⽤用の3STEPSTEP 1. ⼤大量量のデータを捨てずに蓄積できるようになってきたSTEP 2. データを分析することで、現状の把握、理理解ができるSTEP 3. 状況を理理解し、現状の改善、予測ができるl 世の中は、Step1 から Step2 を踏み出した段階9 9 蓄積 理理解 予測より深い解析へ本の購買履履歴を全て記録できるようになった!この本が実際に売れているのは意外にも30代の男性達だ!この⼈人は30代男性なので、この本を買うのではないか?
  10. 10. ビッグデータ解析の現状と今後の課題l  ⼤大規模データを扱えるインフラl  強⼒力力な分析ツールl  データ分析のための継続的なノウハウの蓄積l  データ分析を⾏行行える⼈人材育成l  データ分析結果を産業を超えて共有できる仕組み作りl  適切切なデータを取得できるようにする⼯工夫l  取っていたデータの分析ではなく、分析するためにデータを狙って取得する試みが必要10
  11. 11. 機械学習の基礎
  12. 12. 機械学習とは?l  データから有⽤用な規則、ルール、知識識、判断基準を抽出l  データがあるところならば、どこでも使えるl  様々な分野の問題に利利⽤用可能12レコメンデーションクラスタリング分類、識識別 市場予測 評判分析情報抽出 ⽂文字認識識 ロボット 画像解析遺伝⼦子分析検索索ランキング⾦金金融 医療療診断適用分野
  13. 13. タスク固有の問題と⼿手法の分離離13⽂文書 (0,        1,        0,  2.5,  -‐‑‒1,  …)(1,  0.5,  0.1,      -‐‑‒2,    3,  …)(0,        1,        0,  1.5,    2,  …)特徴ベクトルグラフィカルモデル分類/回帰:SVM,  LogReg,  PA,  CW,  ALOW,  Naïve  BayesCNB,  DT,  RF,  ANN,  …  クラスタリング:K-‐‑‒means,  Spectral  Clustering,  MMC,  LSI,  LDA,  GM,  …構造分析:HMM,  MRF,  CRF,  …画像センサ情報⾏行行動履履歴分野に依存しない特徴を捉えた抽象化されたデータ様々な⼿手法・理理論論を適⽤用可能特徴抽出 特徴分析
  14. 14. タスク固有の問題と⼿手法の分離離(続)l  特徴抽出と特徴分析を分離離することが重要l  データの種類、ドメイン、利利⽤用⽬目的に依存せず、様々な分析を利利⽤用可能なしくみを作ることができるl  利利点l  システム開発・専⾨門家教育のコストを⼤大きく下げることができるl  特徴抽出では各問題ドメインに専念念l  特徴分析では各分析⼿手法に専念念14
  15. 15. 特徴抽出l  ⼊入⼒力力された⽣生データの特徴をキーとバリューで表すl  変換の⽅方法はデータの種類によって様々15 周囲が黄色 1中心が茶 1花びらの割合 0.7⾼高さ 150世の中ではビッグデータというキーワードが注⽬目されていますが,⼀一⼝口にビッグデータといっても⽴立立場や観点によって定義は様々です.他の要素は0とするビッグデータ 2世の中 1キーワード 1定義 1IT関連ひまわり特徴ベクトル 分析結果
  16. 16. 特徴分析l  予測l  ⼊入⼒力力xから出⼒力力yを推定(分類:yがカテゴリ値  回帰:yが連続値)l  近傍探索索l  似たデータはこれまで無かったか,それらはどういうデータかl  統計分析l  平均・最⼤大/最⼩小・エントロピー・モーメント・相関l  外れ値、コンセプトドリフト分析l  これまでのデータ傾向から外れた値はあるか、傾向は変わってるかl  クラスタリングl  似たデータ同⼠士を纏め上げ、グループ化するl  原因分析l  複数の特徴の中で最も現象を説明し得る原因は何か?16
  17. 17. 特徴分析(続)l  1つの分析⼿手法だけで⽬目標を達成することは少なく、複数の分析を組合せることが重要となるl  次にいくつか具体的な利利⽤用シーン毎に分析パターンを紹介する17
  18. 18. 例例:ソーシャルデータからの証券市場予測l  twitterデータ全体での感情分析結果の起伏と、ダウ平均株価の起伏に強い相関が⾒見見つかった18 Johan Bollen and Huina Mao, Twitter Mood as a Stock Market Predictor,in Computer, vol. 44, no. 10, 2011.
  19. 19. 例例1:ECサイトの分析19 l  ユーザー分析l  属性予測l  性別、年年齢、家族構成、地域、嗜好、過去の⾏行行動l  ⾏行行動予測l  商品を購⼊入するか、良良い評判を作るか、継続的に会社と関わるかl  ユーザーへの推薦l  ユーザーの近傍探索索を⾏行行い、似たユーザーを調べどのような商品を購⼊入するかどうかを調べ、推薦するl  ユーザーへのサポートl  外れ値、コンセプトドリフトを調べ、何か問題が起きているか、⾏行行動パターンが変わってきているのかを分析する
  20. 20. 例例2:ネットワーク管理理l  電⼒力力消費量量の予測l  パケットデータなどと、実際の測定値の関係を分析し、パケットデータのみから電⼒力力消費量量を予測できるようにするl  ネットワーク保守・セキュリティl  通信パターン、パケットなどから外れ値検出を⾏行行い、障害検知や攻撃検知を⾏行行うl  サーバー構成・ネットワーク構成の最適化l  利利⽤用⽅方法が似ているサーバー・サービスをクラスタリングによってまとめ上げ、それらが近くなるように配置するl  原因分析l  何か障害が発⽣生した時に、その原因が何かを膨⼤大な候補の中からいくつかに絞り込む20
  21. 21. 例例3:⼩小売情報分析l  発注数の最適化l  過去の売上数、店舗、気象、地域、ニュース、ユーザーからの反響など様々な情報を元に最適な発注数を予測、リスク分析も⾏行行うl  ⽋欠品、代替え分析l  ⽋欠品情報はデータで表されない隠れた情報.これまでの売上データの傾向や似た商品での代替えが起きているかで分析を⾏行行うl  この実現のため商品間の類似度度を測ったり、売上の相関を調べるl  ユーザーのモデル化l  クラスタリング、分類などを利利⽤用し、ユーザーに対し、いくつかタグ付けを⾏行行いユーザー全容を把握できるようにするl  店舗のモデル化l  複数の店舗情報を分析し、店舗毎の強い点、弱い点などを分析21
  22. 22. 例例4:ソーシャルモニタリングl  SNSなどのデータを分析し、企業、商品、⼈人、イベントなどについての⾔言及を分析し、マーケティング・製品開発などに活かすl  特徴抽出では、⾔言語処理理技術が重要となってくるl  評判分析l  ⾔言及対象に対し、肯定/否定/中⽴立立l  客観的、主観的な記述の抽出l  評判情報の要約l  ⾔言及対象の分析、真偽判定、評判属性毎に要約(価格、機能など)l  共参照解析なども重要にl  影響度度分析l  発⾔言毎の影響度度分析、グラフ構造の中⼼心性分析も重要に22
  23. 23. Jubatus23
  24. 24. Jubatus登場の背景l  既存システムは次の3つの⽬目標を同時に達成することが困難l  1)リアルタイム性の確保l  2)データを⽔水平分散処理理l  3)深い分析l  分散並列列処理理 (MapReduce/Hadoopなど)l  スケールアウト構成による性能向上、耐障害性l  基本的にバッチ処理理、解析結果はすぐ返ってこないl  計算モデルの⾃自由度度が⾼高い分オーバーヘッドも⼤大きいl  オンライン / ストリーム処理理 (CEPなど)l  到着したデータをその場で処理理して解析し、結果を出⼒力力するl  多くは単純な処理理しか⾏行行えない24
  25. 25. Jubatus25 リアルタイム  ストリーム 分散並列列 深い解析l  NTT  SIC*とPreferred  Infrastructureによる共同開発l  2011年年10⽉月よりOSSで公開  http://jubat.us/*  NTT  SIC:  NTT研究所  サイバーコミュニケーション研究所  ソフトウェアイノベーションセンタ
  26. 26. 特徴1: リアルタイム / ストリーム処理理l  解析結果は、データ投⼊入後すぐ返って来るl  分類などの学習/分析も⼀一瞬で処理理l  twitterの内容を分析して分類するのは6000QPSl  分類、統計分析、回帰、近傍探索索など様々な処理理をリアルタイム、ストリームで処理理l  データを貯めることなく、その場で処l  従来バッチで処理理していた様々な解析をリアルタイム・ストリームで同様の精度度処理理できるよう、新しく解析⼿手法を開発26
  27. 27. 特徴2: 分散並列列処理理l  スケールアウト:ノードを追加することで、性能向上ができるl  処理理量量に応じてシステムの⼤大きさを柔軟に変更更可能l  ⼩小さいデータから⼤大きなデータの処理理まで同じシステムで処理理l  耐故障性も確保l  各ノードが完全に独⽴立立な処理理なら簡単だが、それぞれが情報を蓄積し、それらを共有して処理理するのは⼤大変⇒  モデルの緩やかな共有で解決(後述)27
  28. 28. 特徴3:深い解析l  単純な集計、統計処理理だけではなく、分類・近傍探索索など様々な機械学習⼿手法をサポートl  ユーザーはデータを投⼊入すればこれらの分析処理理を実現できるl  ⾮非定形データを扱えるように、データからの特徴抽出もサポートl  多くの機械学習ライブラリはここがサポートされていないl  特徴抽出はプラグイン化され、今後サポート対象のデータ種類、分野を増やしていく28
  29. 29. Jubatusが実現するオンライン分析l  (従来)バッチ分析l  データを全体を⾒見見てから分析を⾏行行うl  結果が返るまで遅くデータを貯めないといけない(情報の在庫が発⽣生)l  オンライン分析l  1つずつデータを⾒見見てモデルを即時更更新、分析に反映l  データ全体を⾒見見て分析した場合と同じような結果が得られるような理理論論的な保証29 分析モデル分析モデル
  30. 30. オンライン分析の特徴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)30 近年年急激に性能が向上
  31. 31. オンライン分析を分散化させるのは⾃自明ではないl  オンライン分析は頻繁な更更新を必要とするl  単純な分散では頻繁な同期処理理が必要になってしまい、性能の劣劣化が避けられない31 バッチ分析のイメージ オンライン分析のイメージ 更更新量量計算モデル更更新時間 更更新量量計算モデル更更新更更新量量計算モデル更更新更更新量量計算モデル更更新更更新量量計算モデル更更新更更新量量計算モデル更更新ここが重いので⾃自明に並列列化しやすい
  32. 32. 緩やかなモデル情報の共有l  Jubatusは各サーバーのモデル情報を「緩やか」に共有するl  データ⾃自体は共有せず、モデルのみ共有するl  既存システムと違う割り切切りl  全サーバー間で同時刻に同じモデルが存在することは保証しないl  サーバー毎に解析が(実⽤用上問題が無い程度度に)異異なることを許容l  時間が経つにつれ、モデル間の情報は共有されていく32 異異なるサーバー間で解析結果は似ているが共有されないお互いのモデル情報をmixして共有
  33. 33. Jubatusにおける分散機械学習のイメージl  みんな個別に分析モデルを更更新l  たまに分析モデルを交換l  モデルはデータより遙かに⼩小さく効率率率良良く交換できる33 分析器分析モデルの差分のみを交換
  34. 34. 分析ロジックの抽象化l  Jubatusでは分析ロジックを3種類の処理理に分解l  分析ロジック開発者はどう分散させるか、データを共有するか、耐障害性を保証するかを考える必要ががないl  c.f. MapReduceではロジックをMapとReduceの⼆二つに分解l  UPDATEl  データを受け取ってモデルを更更新するl  ANALYZEl  データを受け取って解析結果を返すl  MIX(システムが勝⼿手に呼び出す)l  内部モデルを混ぜ合わせる34
  35. 35. 3つの操作:UPDATEl  分析モデル情報を更更新するl  クライアントが結果を待つ必要は特にない35 分析器
  36. 36. 3つの操作:ANALYZEl  分析結果を返すが内部状態を変更更しないl  クライアントが結果を受け取る36 分析器
  37. 37. 3つの操作:MIXl  分析器同⼠士が内部モデルの情報を混ぜ合わせるl  混ぜる⽅方法は分析⼿手法によって異異なるl  システムが適当なタイミングで呼び出す37 分析器
  38. 38. 3つの処理理の例例:統計処理理の場合l  平均値を計算する⽅方法を考えてみるl  内部状態は今までの合計(sum)とデータの個数(count)l  UPDATEl  sum += xl  count += 1l  ANALYZEl  return (sum / count)l  MIXl  sum = sum1 + sum2l  count = count1 + count238
  39. 39. 「緩いモデル共有」の特徴l  分散オンライン機械学習と相性が良良いl  独⽴立立に処理理するのでスループットが⾼高いl  もともと100%の精度度達成が難しいのを逆⼿手に取り、サーバー間で結果が異異なることを許容するl  任意の並⾏行行計算を実現できるわけではないl  逐次処理理した結果と厳密に⼀一致しないl  MIXするまで他のノード計算結果は反映されない39
  40. 40. Jubatusの分析l  現在, 以下の分析をサポートl  分類l  教師有多クラス分類:Perceptron, PA, CW, AROWl  回帰l  教師有回帰分析:PAl  近傍探索索l  Inverted File Index, LSHl  統計l  平均、分散、エントロピー、モーメントl  また、グラフデータを対象にした分析もサポート予定l  ソーシャルデータやネットワーク分析なども可能となる40
  41. 41. Jubatusクライアントl  Jubatusの機能を利利⽤用するための各種⾔言語⽤用のクライアントを⽤用意l  C++l  Pythonl  Rubyl  Javal  Haskell  この他の⾔言語も現在サポート準備中l  これらのクライアントは、サーバーIDLから⾃自動⽣生成されている41
  42. 42. 42
  43. 43. まとめ43
  44. 44. Jubatusの今後l  これまでは、実現可能性を確かめることに重点をおいていたl  適⽤用範囲の拡⼤大l  様々なドメインのタスクに取り組み、それを開発にフィードバックl  使いやすくするl  安定性を⾼高めるl  実際の利利⽤用例例にそくしたアプリケーションの開発l  クライアント、ツールの充実、ドキュメント整備l  新機能開発l  特に外れ値検出、コンセプトドリフトl  グラフ解析l  ⼀一緒にJubatusの可能性を検証できるパートナーを探しています!44
  45. 45. Copyright © 2006-2012Preferred Infrastructure All Right Reserved.

×