Top Banner
© 2012 NTT Software Innovation Center NTT CONFIDENTIAL 開示先: サイバー関西プロジェクト Copyright © 2012 NTT オンライン機械学習 並列分散処理フレームワーク 日本電信電話株式会社 ソフトウェアイノベーションセンタ 堀川 桂太郎
40

オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド...

Jul 15, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

© 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

オンライン機械学習 並列分散処理フレームワーク

日本電信電話株式会社

ソフトウェアイノベーションセンタ 堀川 桂太郎

Page 2: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

2 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

読み方「ゆばたす」

俊敏な動物チータの学術名から命名

実は〃たてがみ系動物共通フレーズ

Preferred InfrastructureとNTTの共同開発 オープンソースソフトウェア公開中〆http://jubat.us/

Jubatus

Page 3: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

3 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

“ゆばちゃれ”

参加,絶賛募集中!

学生向けデータ分析アイデアコンテスト

Page 4: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

4 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

氏名〆 堀川 桂太郎(ほりかわ けいたろう)

所属〆 日本電信電話株式会社

ソフトウェアイノベーションセンタ

分散処理基盤技術プロジェクト

現在の業務〆 ビッグデータ〒モバイルクラウド

Jubatusのオープンソース化

Virtual Smartphone

研究開発分野: 々Software design and architecture,

々CSCW,CSCL,

々Distributed object computing,

々Meta programming and computational reflection,

々Single sign on for Web services,

々Big data and mobile computing

自己紹介

Page 5: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

5 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

AGENDA

背景〆ビッグデータ

Jubatusが目指すこと

解くべき課題、設計思想

適用例、なぜJubatusか?

技術的な仕組みの話

今後のとりくみ

Page 6: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

6 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

背景

Data

important

Big data

very important

ICTの進歩

データ収集,高速分析を容易化

データ主導型意思決定の席巻

Page 7: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

7 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

ビッグデータ分析 (1/2)

(1)「ストック型←バッチ処理」

蓄積されたビッグデータに対する一括高速分析

⇒ 10数年分の臨床データをあらゆる角度から分析し〃新たな発見〃関係性を抽出

(2)「フロー型←リアルタイム処理」

連続的に発生するデータの流れに対する逐次高速分析

⇒ 不確実な多くの課題が偏在する外部環境において〃曖昧ながらも判断や意思決定を下すニーズと期待

Page 8: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

8 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

ビッグデータ分析(2/2)

(1)「ストック型←バッチ処理」

⇒ 分析の精度,スループット重視

(2)「フロー型←リアルタイム処理」

⇒ 分析の鮮度,レスポンス重視

Page 9: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

9 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

「ビッグデータをすばやく深く分析すること」

大量データ 毎秒16Mバイトのデータ流量 ⇒ 8000 Tweet/秒

速い応答 新鮮なデータを, 高速レスポンスで分析実行

深い分析

自然言語解析と 複数カテゴリへの自動分類

Jubatusが目指すこと(1/2)

Page 10: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

10 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

ハードウェア

スケールアップではなくスケールアウト ⇒ 多数のコモディティサーバによる分散処理

サーバ追加による簡単な性能向上 (フロー型ビッグデータ ⇒24Hx7days安定運用は付加価値)

ソフトウェア

々機械学習〆 うまく段取りできれば、あとは自動実行。 々わかりやすい共通フレームワーク〆 ⇒ 一部のデータ科学者〃プログラマ〃専門家向けに限定せず〃ビッグデータの使いやすいオンライン機械学習フレームワーク

Jubatusが目指すこと(2/2)

「すべての人にスケーラブルな機械学習を」

Page 11: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

11 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

「ビッグデータをすばやく深く分析すること」

関連技術との比較:ポジショニング

SVMlight

In-depth analysis

Scalability

Trade off

Page 12: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

12 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT 解くべき技術課題

•「深い分析」と「スケーラビリティ」の両立

•「スケーラビリテイ」の2種類の課題:

(1) データサイズが増大

(2) 処理要求が増大

• (1)「データサイズ」 ⇒ 持たなくて済む or 分割して保持する

• (2)「処理要求」⇒ レスポンス〃スループット

• クイックレスポンス=「いつでも判断材料をもらえる状況」

Page 13: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

13 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

Jubatusの設計思想 • 「深い分析」(機能)と「スケーラビリティ」(非機能)を分離

• 「深い解析」⇒ オンライン機械学習「エンジン,CPU」

• 「スケーラビリティ」⇒ 共通基盤「シャーシ,マザーボード」

データ

分析 結果

分類

データ

分析 結果

データ

分析 結果

回帰 推薦 +

従来の機械学習 高速シャーシ の開発

分類 回帰 推薦

フロー型 ビッグデータ

● 精度〆 正確な分析 ● データサイズ〆小規模 ● バッチ処理〆 レイテンシ大 ● 個別の開発

● 精度〆 誤差を許容 ● データサイズ〆ビッグデータ ● オンライン処理〆 レスポンスが速い ● フレームワークによる系統的開発が可能

高性能エンジン on 高速シャーシ

深い分析を オンライン実行

Page 14: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

14 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

具体的な適用例

Page 15: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

15 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

Use Case1: ソーシャルメディアの自動分類

Twitter

【リアルタイム】 に 【深い分析】 “つぶやき”がどの企業に関連しているか自動分類

【Big Data Streaming】 Twitterつぶやき: 自然言語 世界〆 8000ツィート/秒

企業分類 (1600カテゴリ)

A社

B社

C社

D社

...

X社

自動分類

クライアント アプリケーション (Webブラウザ)

/dev/null

Page 16: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

16 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

アプリ画面

Page 17: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

17 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

• 複数のサーバの消費電力をリアルタイムに推定 • 従来〆全てのサーバに電力測定モジュールを入れる必要があった • Jubatus〆

• 一部のサーバの消費電力とネットワークパケットのパターンをJubatusで学習

• その他のサーバの消費電力は、パケットを監視/分析することにより、リアルタイムに推定可能

Use Case 2:消費電力推定

データセンタ/オフィス

空調制御に反映、PUEの向上

電力計 TAP

(パケットデータ)

電力計無し

推定

Page 18: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

18 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

• オンラインサービス向けリアルタイム推薦 • ECサイト、検索サービス、オンデマンドTVなど • 従来のバッチ処理分析

• ユーザ行動(アクセス、購入など)を定期的に分析し、推薦モデルを更新 • その間のユーザ行動の変化を反映できない

• Jubatusによるリアルタイム推薦 • ユーザの行動変化が起こるたびに推薦モデルを更新 • 常にユーザ行動が反映された推薦を実現 • 突然の行動変化(TV紹介、イベント)などにも追従可能

Use Case 3: 推薦 (近傍探索)

Real-time recommendation with Jubatus

Buying histories

Customers

Recommendation accuracy

time

Sudden order increase after a

TV expose

Sudden order increase after the death of a

celebrity

Real behavior

Jubatus

Batch processing

Page 19: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

19 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

• 災害・異常気象時の緊急避難ルートの分析 ⇒ 確実な緊急通信路の確保.

• 交通網々通信網の現状確認〃渋滞予測〃適切なルートをごく短時間で分析々通知し〃帰宅困難を解消

• 重要な拠点/安全エリアの抽出 + 拠点間の(渋滞が重ならない)最短路の分析

数分後

• 10億規模のノード, エッジからなるグラフ構造

• 明日の正解を待てない〃今〃判断材料が必要

• リアルタイムに構造が変化するグラフの最短経路〃

重要拠点の推移(様子)をすぐ知りたい

●その他事例〆 ソーシャルメディア (Facebook, twitter)から〃来日中の有名アーティストの出没情報をトレース〃 発信者やつぶやきの重要性の推移を分析し〃素早い意思決定々アクションに活用〄

リアルタイムBig Dataグラフ分析がフィットするシーンは?

• グラフ構造〆 特徴ベクトル間の関係⇒ より複雑々高次なデータ表現

• 大量の情報のつながり/関係の中から新たな規則性を発見する分析処理

• バッチ系Big Data グラフ分析では Page Rank が有名 (膨大なWebページの重要度を計算)

Use Case 4:グラフマイニング

Page 20: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

20 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

なぜJubatus?

• ビッグデータ∧深い分析∧ リアルタイムを必要とするシーンとは

• 正解(厳密な分析結果)を明日まで待てない • 人間の判断(意思決定ルート)を介在したアクションでは遅い

• μ秒単位での自動判断〆 予め与えられた決定的ロジックでなく〃状況の変化を速やかに反映して自動判断(⇒ 機械学習)

• データ量で全体を見通し,分析精度,誤差の幅を容認: 誤差,危険率を伴う自動判断が適用可能な領域

• たとえ誤差が許容範囲を超えても〃次の瞬間には〃よい判断材料を期待できる安心感がバリュー

• ビッグデータの相乗効果:特定領域に閉じず,異なるドメインにまたがる新たな関係性の分析・発見へ

• 空間方向⇒ 時間軸方向の広がり

(クロスドメインデータが入手できれば)

Page 21: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

21 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

Jubatusの仕組み

Page 22: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

22 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

• オンライン機械学習アルゴリズム • 分類(PA,CW,AROW,NHERD, perceptron)

• 回帰(PA)

• 推薦々近傍探索(転置インデックス, Locality sensitive hash, min-hash)

• グラフマイニング (Centrality, Shortest-path)

• 統計( Sum〃stddev, Max〃min〃entropy, moment)

• 分散処理フレームワーク • 機械学習並列同期(UMA: Update-Mix-Analyze)

• スケーラビリティ

• 耐故障性(Consistent hashing)

• その他 • 特徴ベクトル変換

• 拡張容易なプログラム構造(UMA, IDL, 各種プラグイン)

ソフトウェア構成

Page 23: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

23 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

• 分類、線形回帰

• 入力Xに対して出力Yを当てる/予測する

• Yが離散値:分類、Yが連続量:線形回帰

機械学習:分類・線形回帰

タスク例 入力X 出力Y

メール分類 メール スパム or 普通 or 重要など

Twitterの分類 個々のつぶやき〆Tweet

関連企業名、市町村、 商品、サービス、番組

広告のコンバージョン予測

アクセス履歴、広告 クリックするか

監視カメラ解析 監視カメラ画像 部屋の状態

電力使用量 パケット 各サーバの電力使用量

Page 24: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

24 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

• 入力は特徴ベクトル (←生データを変換)

• 各特徴量にクラスごとの重みがある

• 重みの総和(内積)が各クラスの得点となる

機械学習のしくみ:分類

クラス1: スポーツ

クラス2: グルメ

クラス3: 政治

カレー -1 2 -1

仕分け -1 -1 2

ライス -1 1 1

野球 2 -1 -1

スコア(内積)

0 2 -1

特徴ベクトル

スコア最大

入力:「野球の後のカレーライスはおいしい。」

カレー 1

ライス 1

野球 1

々々々 0

重み

機械学習で重みを自動調整

Page 25: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

25 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

• 入力は特徴ベクトルなど(アクセス・購入履歴など)

• Row間(ユーザ間)の近さ(類似度)を計算

機械学習のしくみ:推薦(近傍探索)

アイテム1 アイテム2 アイテム3 ... アイテムX

Aさん ○ ○ ○

Bさん ○ ○

Cさん ○ ○ ○

Dさん ○ ○ ○

入力:「Bさんがアイテム2を買った」

類似度小

類似度中

類似度大

出力:「BさんはDさんと購入パターンが一番似ています。お勧め商品はアイテム3です」

Page 26: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

26 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

• 入力はノードとエッジ

• 中心点、最短経路を求める

• 中心点

• Webページの重要度(PageRank)、Twitterのユーザ影響度

• 下図の例〆E (他ノードからのリンクが多い、など)

• 最短経路

• ネットワーク最適ルーティング

• 下図の例〆KEの最短はKIE

機械学習のしくみ:グラフマイニング

A

B

C

E

D

H

I

F

K

J

G

Page 27: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

27 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT 方式比較:バッチ処理

• ストック型ビッグデータ ⇒ ためて一気に計算

• 定期便方式 ⇒ 開始・終了が明確

• データの鮮度 ⇒ 今あつめたデータは次の便まで待ってから

データ 処理

データ 処理

データ 処理

データ 処理

KVS

Map

Reduce

データ入力

中間処理 結果 r0

中間処理 結果 r1

中間処理 結果 r2

中間処理 結果 rn

集約処理 結果 R

分析アプリ

時間 T

処理結果 の鮮度

バッチ処理の間隔

々有意な分析結果が得るためには〃reduce完了まで待つ〄

バッチ系処理

ビッグデータ ソース

々解析の鮮度〆 新たに蓄えたデータは次の便まで解析が待た

される〄

データ在庫量がビッグ

Page 28: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

28 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

リアルタイム処理 フロー型ビッグデータ⇒ ためずに小まめに計算

24 x 7 安定動作 ⇒ 開始々終了がない

各サーバが自律的に分析〆 任意の時点で〃自身の分析を提示可能

分析の鮮度 ⇒ 今〃取り込んだデータを待たずにすぐ消化

Update

Mix

mixed

diff

diff

mixed

A N A L Y Z E

Update

Mix

mixed

diff

diff

mixed

A N A L Y Z E

Update

Mix

mixed

diff

diff

mixed

A N A L Y Z E

データ流量がビッグ データソース

時間 T

バッチ処理

理想的な分析鮮度

Jubatus (MIX方式)

解析精度の 要件下限

Page 29: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

29 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

• update: 更新系クエリ,Big Dataの追加・変更,非同期 • mix: 分散サーバ間のゆるやかな分析結果の共有 • analyze: クライアントからの参照系クエリ,分析リクエスト • 解析ロジックに非依存な共通モデル ⇒ 使いやすいフレームワークへ

update-mix-analyze (UMA)

Update

Mix

mixed

diff

diff

mixed

A N A L Y Z E

Update

Mix

mixed

diff

diff

mixed

A N A L Y Z E

Update

Mix

mixed

diff

diff

mixed

A N A L Y Z E

データソース

mixed 領域

diff領域 ・Updateで自学自習

する学習モデルを保持

・Mixで勉強会.

学習モデルの共有

・Analyzeで全体見解

+個人見解を返す

答え合わせ

自学自習

Page 30: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

30 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

• User process

• Jubatus client APIを用いてAP実装

• データ収集、プロキシ経由での学習々類推要求の送信

• Proxy process

• サーバへの要求転送

• サーバ数、サーバ稼働状況などをクライアントには意識させない

• Server process

• 学習々類推、およびサーバ間も学習モデル同期を実施

• サーバを追加することによって線形に性能向上

• Zookeeper

• 分散サーバ間のコーディネーション(サーバ死活監視、リーダ選択など)

Jubatus 分散処理アーキテクチャ

User processes Proxy processes

Server processes

ZooKeeper

API

API

API

MIX

(learning model

synchronization)

Data

Page 31: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

31 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

クライアントAPI

クラス メソッド例

分類 学習要求 (X→Yを教える)

分類要求 (X→Yを解かせる)

回帰 学習要求 (X→Yを教える)

類推要求 (X→Yを解かせる)

推薦

行データ(userID/Items)の更新々削除(教える)

類似行の検索 (解かせる)

推進アイテムを抽出 (解かせる)

統計 データの更新

合計、偏差、最大々最小、エントロピー、モーメント計算

グラフ ノード生成々削除々更新々参照

エッジ生成々削除々更新々参照

中心性スコア計算

2ノード間最短経路計算

Page 32: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

32 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

Data conversion

32

文書 (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 Bayes,

CNB, DT, RF, ANN, …

クラスタリング〆K-means, Spectral Clustering, MMC,

LSI, LDA, GM, …

構造分析〆HMM, MRF, CRF, …

画像

センサ情報

行動履歴

分野に依存しない 特徴を捉えた抽象化されたデータ

様々な手法々理論を 適用可能

特徴抽出 (整形・特徴ベクトル変換)

特徴分析

Page 33: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

33 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

• 入力データの整形と特徴ベクトルへの変換を容易にする

• 整形(フィルタ)

• HTMLタグを取り除く

• 年齢を数え年に変換する、など

• 特徴ベクトル変換

• 区切り • スペース区切り/形態素解析/N-gramなど

• 重み付け • 重みなし/TFIDFなど

• 外部変換モジュールを組み込み可能 • 例〆画像向け特徴ベクトル変換、Pcap用特徴ベクトル変換など

Data conversion

Page 34: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

34 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

Data conversion

•特徴ベクトル変換例

Bigramをn=2のngramとして定義する

Key=user/name は文字列データとして扱う

Key=message はbigramとして扱う

Key=message-detagged はスペース区切りで扱う

Key=user/age はそのままの数値として扱う

Key=user/income はlogをとる

Key=user/age_kazoe はそのままの数値として扱う

Page 35: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

35 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

• Jubatus OSS サイト

• October 2011より公開

• Web site http://jubat.us

• Twitter @JubatusOfficial

• Github https://github.com/jubatus/jubatus

オープンソース

サポート解析 エンジン

説明 例

第1版 分類 与えられたデータをカテゴリに分類 スパムメール判定 Twitterのカテゴリ分け

第2版

推薦 与えられたデータと似ているデータを推薦

ECサイトの商品お勧め 検索サイトの連動広告

回帰 与えられたデータに対する出力の値を推定 消費電力値予測 株価予測

統計 データの頻度、標準偏差、最大値、最小値などの統計情報を集計

センサー監視 データ異常検知

第3版 グラフマイニング 与えられたグラフ構造から中心点や最短経路を抽出

ソーシャルコミュニティ分析 ネットワーク構造分析

Page 36: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

36 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

性能例 推薦 (近傍探索)

【Big Data】&【深い分析】 3000万ユーザ数の場合でレスポンス0.1秒推薦処理可能(Mahoutの10倍高速)

購入要求、検索など

お勧め

アイテム1

アイテム2

アイテム3

... アイテムX

A さん

○ ○ ○

B さん

... ○ ○

Xさん ○ ○

【Big Data】& 【リアルタイム】 1サーバあたり10万回/秒の更新が可能

Page 37: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

37 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT 性能検証 (分類)

スループット、スケーラビリティ

- スループット:1サーバ 約20万特徴/秒

- スケーラビリティ:サーバ台数に対しほぼ線形に向上

Twitterの例:

スループット:6,000ツィート/秒 (特徴量30程度)

全世界Twitter処理に必要な台数:PC2台 (ピーク時8,000 tweet/秒)

学習精度

- バッチ処理学習と比べ遜色ない学習精度を達成

- 学習時間に応じて精度は向上

サーバ並列度を上げることでより短時間で

高い精度を達成

サーバ台数 vs スループット 学習時間 vs 精度

マシン台数

バッチ処理学習精度

0

50

100

150

200

250

300

350

0 2 4 6 8 10

12

14

16

18 Number of servers

(万)

スル

ープ

ット

[特徴

/秒

]

学習精度「%」

1サーバで 20万単語/sec÷ 30単語/ツィート = 6700ツィート/秒 16サーバで

300万単語/sec÷ 30単語/ツィート = 10万ツィート/秒

10秒で約93%の正解率

Page 38: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

38 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

まとめ

• ビッグデータを深くすばやく分析するJubatusの目標,設計思想

• Jubatusを活かす適用領域の紹介

• 技術的特徴: MIX機構

• これまでの到達点として,5つの機械学習エンジンを共通的に支える基盤(update-mix-analyze)として強化・検証

Page 39: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

39 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT •Join us!

•http://jubat.us/ 仲間,募集中

Page 40: オンライン機械学習 並列分散処理フレームワーク分散処理基盤技術プロジェクト 現在の業務〆 ビッグデータ〒モバイルクラウド Jubatusのオープンソース化

40 © 2012 NTT Software Innovation Center

NTT CONFIDENTIAL

開示先: サイバー関西プロジェクト Copyright © 2012 NTT

参加,絶賛募集中!

学生向けデータ分析アイデアコンテスト