大規模データ解析勉強会に参加してきました

大規模データ処理勉強会 ~「大きな」データと対峙する(仮称)~ on Zusaar

@が発表すると聞いて、今の取り組みに近いこともあり頑張って参加してきました。
Web系の勉強会とはちょっと雰囲気が違いましたね。

「ライフサイエンス分野の大規模データ・現場での課題とこれから」(ライフサイエンス統合データベースセンター/DBCLS 大田さん @iNut)

若干遅れて参加して、Macがジャーンってなるのが怖くてメモってませんが、@iNutはばんばんに笑いをとっていました。
元々DBCLSの知り合いはたくさんいて、時折話は聞いていたのですが、まとめて話を聞くのは初めてで、抱えてる問題と彼らが取組もうとしていることの理解が深まった気がします。

「Jubatusにおける大規模分散オンライン機械学習」(PFI 海野さん、@unnnonouno)

データは増えているのみならず多様化している
  • データを活用する
    • 蓄積、理解、予測
    • フェーズが進むほど処理が難しくなっていく
現状の背景
  • リアルタイム性の確保
  • データの水平分散処理
  • 高度な解析
    • 全てを同時に満たすのは難しい
  • MapReduce
    • リアルタイム性が低い
  • ストリーム処理
    • 複雑な処理ができない
jubatus
  • http://jubat.us/
  • 3つのポイントを80点くらいで全て満たしている
機械学習とは?
  • 大雑把にいって、いっぱいデータを集めて何かルールや知識を取り出す技術の総称
  • 狭い意味では抽象化されたデータを取り扱う
  • jubatusは生データからの特徴抽出から機械学習まで処理を行う
現在のjubatusの実装
  • 多クラス分類j
非定形でーたからの特徴ベクトルへの変換
  • 入力された生データの特徴をキーとバリューで表す(単語と頻度とか)
  • 変換の方法はデータの種類により様々
多クラス分類の中の、線形分類器が実装されている
  • 入力は特徴ベクトル
  • 各特徴量にクラスごとの重みがある
  • 重みの総和(内積)が各クラスの得点とする
線形分類器の機械学習
  • クラス毎の重みを自動調整する
  • 調整の基準や計算方法で様々な種類が存在する
オンライン学習
  • バッチ学習
    • データを溜めて、重みを調整
  • オンライン学習
    • 1つずつデータを見て重みの更新を繰り返す
オンライン学習の重み更新のイメージ
  • 分類に間違えたら正しく分類できるように微調整
Jubatusでの実装
  • オンライン学習では更新が早い
  • 同じ学習時間に対して、バッチ学習よりも経験的に精度が高い
オンライン学習を分散化させるのは自明ではない
  • オンライン学習の特徴は頻繁な更新
  • 単純な分散を行うと、更新の際にマシン間で頻繁な同期が必要で、性能の劣化が避けられない
Jubatusの分散手法
  • 緩やかなモデル情報の共有
    • データ自体を共有しない為に軽い
  • 全てのサーバーで同時刻に同じモデルが存在することは保証しない
    • サーバー毎に解析が異なることを(実用上問題が無い程度に)許容
    • 時間が経つにつれ、モデル感の情報は共有されていく
イメージ
  • みんな個別に自学自習
  • たまに勉強会で共有
    • タイミング等はけっこう難しい
3種類の処理に分解
  • UPDATE
    • データを受け取ってモデルを更新する
    • 学習
  • ANALIZE
    • データを受け取って解析する
  • MIX
    • モデルを共有する
3種類の処理の例
  • データは入力xとカウントcount
  • 平均値
  • UPDATE
    • sum+=x
    • count +=1
  • ANALIZE
    • return(sum/count)
  • MIX
    • sum=sum1+sum2
    • count=count1+count2
緩いモデル共有の特徴
  • 分散オンライン学習に特化
    • 独立に学習するのでスループットが高い
    • もともと100%の精度が難しいので
今後
  • 分散オンライン機械学習の理論が不足
  • 今はレコメンド問題の研究開発をしている
    • 問題によってはオンライン学習させるのも難しい
  • 他の問題はまだまだ

Jubatusの話を聞いたのは2回目なので、理解を深めることができた気がします。

Hadoopの将来とClouderaの方向性」(Cloudera 田澤さん,川崎さん)

なぜHadoopが必要になるのか
  • 非構造化データが爆発的に増えている
Hadoop適用の現状
  • アメリカでは浸透期から活用期になっている
  • 日本ではまだ検証期
Clouderaの海外ユーザー
  • Disney、apple、BankOfAmerica
Clouderaのエコシステム
  • 機関システムに入り込んで、関係するハードやネットワーク等で協業
ロードマップ(Hadoop 0.23.0)
製品ロードマップ
  • Hadoop0.23をベースにCDH4が出る予定
三種の神器
  • OS, N/W, RDBMS
    • 企業ビジネスを支えるためにEA/SOA + 分散処理(Hadoop)を取組んでいる
    • 新しい収益を生む企業システムを目指す
データの視点
  • データサイエンティスト
    • 企業内のデータを見て、これとこれを組み合わせると効果があるとかを考えている
CM(Cloudera Manager)のデモ
  • VM環境でホスト(CM)とスレーブ(Hadoop環境2台)の画面
  • サービスの確認
  • タスクやジョブの確認
    • 時系列で状況を確認することができる

ClouderaManagerは大変便利だと思いました。
オープンソースではないけど、50ノードまでは無料らしいですね。

引き続いてHadoop Toubleshooting101の資料

Hadoop Troubleshooting 101 - Japanese Version

  • Hadoopのトラブルで一番多いのが設定間違い
  • Clouderaに対する問い合わせのissue ticketの分析結果
    • メモリの管理ミス
    • スレッドの管理ミス
    • ディスクの管理ミス
チケット分析
  • 設定ミスソレ自体が原因のチケットは2%以下

Hadoop Troubleshooting101を後で読もう。

Hadoop World 2011報告(予定)」(NTTデータ 鰺坂さん)

鰺坂さん
  • Hive, Asakusaに取組んでいる
Hadoopのユーザーは2つに分類される
  • 今まで捨てていたデータの活用
    • ログとか通信とか
  • 既存の処理を高速化
Web系以外の企業のユースケース
  • JPMorgan
  • WaltDisney
  • CBS
  • eBay
    • オークションサイトの検索・ランキング機能強化
  • 他にも位置情報やら、情報サイトやら
JPMorgan
  • サーバー数50000以上
  • 150PBのオンラインストレージ
  • IT基盤とアプリにそれぞれ年40億ドルの投資
  • 収入増加にHadoopを使う
  • ユースケース1:ETL + データ分析
    • 巨大なデータセットから複数のデータソースに変換する
      • 必須の前処理
    • バッチ処理の時間を従来比で75%減少
  • ユースケース2:共通データ基盤
    • 複数の事業部で利用できるように、共通のデータを定期的に収集する
    • 検索頻度の低いデータに対する低コストのストレージとして利用
    • 7事業部中5事業部で利用
  • ユースケース3:データマイニング
    • Hadoopにデータをいれて、そのままマイニングできるのがうれしい
    • リテールバンクとITインフラ:詐欺防止
    • 資産運用:取引品質分析における顧客レポートの作成で、不要なレポートの削減
eBay
Walt Disney
  • ディズニーのインターネットビジネスのログデータ
    • 100〜120億pv/月
    • 420億クリック/月
  • Disney独自クラウド基盤"Disney Cloud Services Platform'
    • テーマパークの交通流解析

アメリカでは活用フェーズに入っているというのは本当だなぁと感じました。
Clouderaの方によると、日本企業が検証フェーズをそろそろ終えそうとのことらしいので、来年くらいにこの流れは日本に入ってくるんでしょうね。

所感など

Web系の方とふれあう機会が多いですが、スーツな方々もすごく優秀な方が多いなぁと思いました。
活用例としては、Web業界の方が例が多い印象ですが、来年にはWeb以外の事例がどんどん出て来そうな予感がします。
特に、商用利用が多いために、検証をしっかりされているようなので、その辺のノウハウとか知識とかを共有していけたら楽しいことになりそうだと思った勉強会でした。
時々はこういう会にも出ないと世界が狭まりますね。