SlideShare a Scribd company logo
NIPS2010を読む会@東工大 2011/2/14




  LCCC2010:Learning on Cores,
    Clusters and Cloudsの解説
             岡野原 大輔
       (株)Preferred Infrastructure
LCCC2010について
• NIPS併催のワークショップ
• 毎年同じようでテーマで開催されている
 – Organizer達で今年本を出すらしい                       [挨拶より]
   • J. Langford, O. Dekel, J. Duchi, A. Agrawal, L. Cayton

• Google, MS, Yahoo!をはじめ主要な企業と
  大学、研究所が3等分ぐらいずつ
 – 実用化は04年頃から進み身近なところで利用
 – 例:gmailの優先トレイはメールでPA+転移学習
• 理論と実践の両方が進展
今日の発表について
• Distributed MAP Inference for Undirected
  Graphical Models
• Machine Learning in the Cloud with Graph
  Lab
• MapReduce/Bigtable for Distributed
  Optimization

• 選んだ基準
  – 実用的
  – 単に並列化しただけじゃないものを選んだ
背景
• 解析対象データの急激な増加
 – アルゴリズムは最低でも線形の計算量が必要
   だがそれでも不十分.潰しても捨てても無理
 – 世界で作成されたデータ量は
   2009年 8億テラバイト(前年比62%増)
   2020年 35億テラバイトと予想 [Digital Universe 2010]
 – 例: ニューヨーク株式市場 毎日1TB
      Facebook 毎日20TBの圧縮データ
• 分散/並列化しないと、そもそもデータの読み
  込み/書き込みすら無理
 – HDDは現在100MB/s
素朴な疑問
 並列分散化の機械学習は面白いの?
Q. たくさんマシンを用意できたなら、データを適当
  に分けて、それぞれのマシンで処理して結果を合
  わせるだけじゃないの?

A. 部分的にYES, 残りはNO
 – 各マシン間の情報のやりとりが制限された環境で学
   習の収束保障は?収束速度は?
 – 単純なアプローチはうまく行かない.が、ちょっと
   だけ工夫するとうまくいく
 – 分散並列システムを一から作るのはすごく大変
   MapReduceなどの分散並列を実現するフレームワー
   ク上で実現可能な機械学習を考える
分散並列環境下の問題
• 通信コストは非常に大きい
 – データのマシン間移動は計算コストと同じか
   それ以上に大変
 – スループット、レイテンシの両方で制限
• マシン間同期をとるのはコストがかかる
 – 計算時間はバラバラで一番遅いマシンに依存
 – そもそも同期をとれない場合も
• それぞれが独立にタスクをこなしつつ、
  いかに全体の最適化を達成するか
Distributed MAP Inference
 for Undirected Graphical
          Models
        Sammer Singh
     Amarnag Subramanya
       Fernando Pereira
      Andrew McCallum
目標

• グラフィカルモデルの推論は一般に困難
 – 近年利用されるモデルはより巨大で密に
   • 共参照推定、関係抽出、同時推論など
   • 文書集合をまたがるグラフ
 – 100万変数の問題を数百台で解きたい
• 様々な近似推論手法が提案されている
 – LP-Relaxations
 – Dual Decomposition
 – MCMC-Based
• これらの手法の並列化は難しい
問題設定
• 変数Yの確率分布を因子ψで表す




• 例:


• MAP推定をしたい y*=argmaxy p(Y=y)
 – ループなどがあり動的計画法は使えない
既存手法
    MCMCによるMAP推定
1. yを適当に決める
2. yの中身を少し変更したy’を提案
3. [0,1]の乱数が
   より大きいならy’を採択し、y=y’と更新
 – 確率が上がるなら常に採用、下がる場合は確
   率的に採用.tは温度
 – p(y’)/p(y)は変数が変わったところだけ見れ
   ば計算できるので高速に計算できる
相互排他的な提案を利用した
       並列化
• yからの提案 yaとybについて
   yaとybの影響箇所が重ならないとする
• この時、y⇒yaとy⇒ybは並列に評価でき、
  採択することができる

• グラフィカルモデルの特徴を利用し、相
  互排他的な提案を作ることができる
 – 汎用的な方法もできつつある
   c.f. Residual Splash Belief Propagation
赤と緑の両方の提案を同時に計算し、
採択することができる
赤:m3をe1のグループから外すか
緑:m4とm5を分割するか
文書間共参照解析での並列数に
    対する精度




共参照解析:
二つの表現が現実世界で同一実体を指すかどうかを求める
実験結果 (2)
   マシン台数におけるスケーラビリティ

• NY Times Corpus 20年分の記事中に含
  まれる100万回の人名言及の共参照解析




                     正解データが無いので
                     精度で評価できないが・・
Machine Learning in the
 Cloud with Graph Lab
        Yucheng Low
       Joey Gonzalez
         Aapo Kyrola
       Danny Bickson
      Carlos Guestrin
       Joe Hellerstein
      David O’Hallaron
背景
• 分散並列向けにSplash Belief Propagation
  を提案 [UAI 09]
• MapReduce(MR)はバッチ処理が得意だが
  反復的な処理、部分的な更新は苦手
⇒ GraphLabを提案 [UAI 10]
  –   MRが苦手なML向けの処理を行うフレームワーク
  –   データの疎な依存関係を表せる
  –   部分更新、反復処理が得意
  –   マルチコア、分散、クラウド、GPUに対応
GraphLabの特徴
   Sequential Consistency
Thm.
  全ての並列更新処理については、それと同じ結
  果を生成する、逐次更新処理が必ず存在
  – 並列処理の正しさを証明
実験結果
• Gibbs sampling
  – 相互排他的な変数を毎に色分けし並列更新
  – プロセッサ数にほぼ線形で性能向上
  – 他の様々な並列化もサポート
• LASSO
  – Shooting Algorithmの並列化
    • 変数とサンプルで二部グラフ作り相互排他的な変数集
      合を作る
  – 相互排他的な変数の更新を自動で並列化
• その他いくつかのタスクで並列化を評価
MapReduce / Bigtable for
Distributed Optimization
          Keith Hall
         Scott Gilpin
        Gideon Mann
         Slav Petrov
最適化の分散並列化は簡単?
• MapReduceフレームワークを使えば簡単
• データ分散し、それぞれ独立にパラメー
  タを計算して(Map)、集める(Reduce)
• 分散の仕方でいろいろ方法がある
 – パラメータを分割して求めて平均とるか
 – 勾配を分割して求めて勾配をとるか など
• どれも同じ様に見えるが実は精度に大き
  な違いがあり、理論的に解析可能

  ここでの最適化は教師付き学習を含む最適化
方法1:Parameter Mixture
1. データを分割しK個のshardに配る
2. shard毎にパラメータθを最適化
3. 最後に各最適化した結果の平均をとる
 – θ’ = (∑iθi)/K


• 実はうまくいかない
 – 性能も悪いし、失敗する例も作れる(次項)
 – 理論的保障もできない
Parameter Mixtureが失敗する例
• f(x)=wTx のwを学習.訓練例は次の通り
 y1=0   x1   =(1   1   0)
 y2=1   x2   =(0   0   1)
 y3=0   x3   =(0   1   1)
 y4=1   x4   =(1   0   0)
• 1と2で学習して    w1=(-1 -1 0)
• 3と4で学習して    w2=(0 -1 -1)
• w’=w1+w2は全ての訓練例をy=0に分類
• 全例を正しく分けるのは w =(1 -2 1)
⇒全訓練例を正しく分類するwがあっても、
  それをPMは必ずしも求めることはできない
方法2
       Distributed Gradient
• 勾配の計算部分を並列に行う
• 求まった勾配を利用して更新は一台で行
  う
• 長所
 – 勾配の計算に時間がかかる場合に高速化可能
• 短所
 – 毎回パラメータを全てのshard間でやりとり
   しないといけない.
 – 収束は遅く,バッチ学習と同じ
方法3
   Asynchronous Update
• 全shardで共通のパラメータθを利用
• 各ワーカーは、現在のθを取得し、分割さ
  れたデータでθを更新

• 欠点:θにlockをとらないため、古いθを
  元に更新を計算してしまう可能性.実は
  それでも収束保障はできるが遅い
方法4
         Iterative Parameter Mixture
• Parameter Mixtureを少しだけ改造

1.   データを分割しshardに配る
2.   shard毎に最適化
3.   全部のθの平均をとる
4.   θを再度各shardに配り1から繰り返す

これは収束証明ができ、実際に高性能
     –    重要:各epoch毎にパラメーターを通信するのみ.
          データの通信は発生しない
•    以降ではStructured Perceptronの場合を議論
Structured Perceptron(SP)
[Collins 2002] 1台での学習の場合




更新時に、正解の特徴ベクトルを足し、不正解で最も
スコアが高かった特徴ベクトルを引く
Structured Perceptron

• 1台での学習の場合
• 訓練例の直径がRであり、マージンγで分
  離可能の時、SPによる学習アルゴリズム
  の更新回数は高々(R/γ)2 [Novikoff 62][Collins 02]

• これを分散させるとどうなるか ..
Structured Perceptorn
+ Iterative Paramter Mixture




                    μi,nは混ぜる割合
                         ∑iμi,n =1
データ


                                 データをK個に分割に分割


                                  θ(0) = 0

θ(0)   θ(0)       θ(0)   θ(0)
                                 それぞれで独立に学習


θ1     θ2         θ3     θ4
                                θ(1)=(θ1+θ2+θ3+θ4)/4
                                パラメータを集めて、平均をとり
θ(1)   θ(1)       θ(1)   θ(1)   再度分配する(データはそのまま)

                                 θ(1)を初期値に再度学習


θ1     θ2         θ3     θ4      これを収束するまで繰り返す
Iterative Paramter Mixture +
      Structured Perceptron
• 訓練例の直径がRであり、マージンγで分
  離可能の時、IPM+SPによる学習アルゴリ
  ズムの合計の更新回数は高々(R/γ)2
[R. McDonald NAACL 10]
 – 一台で動かした場合と全く同じなので
   K台で分割したらK倍の高速化が可能
 – データの移動を全くしなくても全部のデータ
   を正しく分類可能な学習ができる!
略証 (1/3)
• wi,n      : i番目のshardのn週目の学習結果
• w([i,n]-k): wi,nのk回の更新前
• ki,n     : shard i でのn epoch目の更新回数

• wi,nを下から抑える
略証 (2/3)
• wi,nを上から抑える




• これより各shardのエラー回数ki,nと
  w(avg,n-1)の対応付けができた
略証 (3/3)
• 次にw(avg,N)を上と下から抑える




• これらは数学的帰納法で証明する
 – 先程の(A1) (A2)とJensenの不等式を組み合わせ
   て抑えることができる
• |u|=1より、|wavg,N|≧uw(avg,N)
• (IH2)と組み合わせて最初のバウンドを得る
実験1




• クリックデータでクリックするかどうかを予測
• 訓練例数 3億7000万
• 200個のグループに分割し 240台のworkerでMapReduce
• Iterative Parameter Mixtureが70倍の高速化と高性能を達成
実験2




• 先ほどと同じデータ(Single-coreではもう不可能)
•訓練例数 16億
• 900個のグループに分割し 600台のworkerでMapReduce
• Iterative Parameter Mixtureが同じく高速で高性能
彼らの結論
• 非同期更新は現在のデータセンター環境
  では非常に厳しい
  – 遅い、収束しない
  – ネットワークが混み合う
• Iterative Parameter Mixtureが良い
  – 実装もすごく簡単
  – Perceptron以外にも
    Passive Aggressiveなどでも証明可能
結論
• 機械学習の分散並列化の理論/実践が揃い
  つつある
  – オンライン学習のRegret最小化解析の適用
  – 分散最適化の理論
  – MapReduceで可能なものがまだ中心
• 現状、線形識別器の分散並列化は
  Iterative Parameter Mixtureが最強
  – ほぼ線形の高速化が可能で収束する
  – Iteration毎にパラメータを混ぜるだけ
コメント
• やり残し
 – 個別の手法についての収束証明はあるが、一般の
   分散最適化問題も証明できるか
 – 最適な混ぜ具合を決められるか
   Active Learningとの関係?
• パラメータを圧縮した最適化は伸びシロあり
 – センサネットワークやCompressed Sensing の
   話がそのまま使えそう
• 数台程度ならMapReduce使わずとも
  実現できそう
質問に対する回答
• 問:Shard間でデータがものすごく偏って
  いる場合でもIterative Parameter
  Mixtureは収束する?例えば片方が全部正
  例、もう片方が全部負例でも?
• 答:必ず収束する
+1 (1, 1, 0)   一周目 w=(1,1,0) w=(0,0,0)
+1 (1, 0, 0)   平均をとって w=(1/2, 1/2, 0)
-1 (0, 1, 1)   二週目 w=(1/2, 1/2, 0), w=(1/2, -1/2, -1)
-1 (0, 0, 1)   平均をとって w=(1/2, 0, -1/2) 終了

More Related Content

PDF
ディープニューラルネット入門
PPTX
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
PDF
機械学習の理論と実践
PPTX
Pythonとdeep learningで手書き文字認識
PDF
Jubatusの特徴変換と線形分類器の仕組み
PDF
Jubatusにおける大規模分散オンライン機械学習
PDF
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
PDF
機械学習 入門
ディープニューラルネット入門
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
機械学習の理論と実践
Pythonとdeep learningで手書き文字認識
Jubatusの特徴変換と線形分類器の仕組み
Jubatusにおける大規模分散オンライン機械学習
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
機械学習 入門

What's hot (20)

PDF
Pythonによる機械学習入門 ~Deep Learningに挑戦~
PDF
MapReduceによる大規模データを利用した機械学習
PDF
論文紹介 Semi-supervised Learning with Deep Generative Models
PDF
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
PDF
Pythonによる機械学習
PDF
最近のDeep Learning (NLP) 界隈におけるAttention事情
PDF
はてなインターン「機械学習」
PDF
TensorFlowによるニューラルネットワーク入門
PDF
それっぽく感じる機械学習
PDF
Deep learning入門
PDF
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
KEY
アンサンブル学習
PDF
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
PDF
GPU上でのNLP向け深層学習の実装について
PDF
Active Learning 入門
PDF
「深層学習」勉強会LT資料 "Chainer使ってみた"
PPTX
Deep Learning基本理論とTensorFlow
PDF
Practical recommendations for gradient-based training of deep architectures
PDF
第1回 Jubatusハンズオン
PPTX
ChainerでDeep Learningを試す為に必要なこと
Pythonによる機械学習入門 ~Deep Learningに挑戦~
MapReduceによる大規模データを利用した機械学習
論文紹介 Semi-supervised Learning with Deep Generative Models
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Pythonによる機械学習
最近のDeep Learning (NLP) 界隈におけるAttention事情
はてなインターン「機械学習」
TensorFlowによるニューラルネットワーク入門
それっぽく感じる機械学習
Deep learning入門
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
アンサンブル学習
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
GPU上でのNLP向け深層学習の実装について
Active Learning 入門
「深層学習」勉強会LT資料 "Chainer使ってみた"
Deep Learning基本理論とTensorFlow
Practical recommendations for gradient-based training of deep architectures
第1回 Jubatusハンズオン
ChainerでDeep Learningを試す為に必要なこと
Ad

Similar to LCCC2010:Learning on Cores, Clusters and Cloudsの解説 (20)

PDF
bigdata2012ml okanohara
PDF
PFI Christmas seminar 2009
PDF
20160329.dnn講演
PDF
20150803.山口大学集中講義
PPTX
数理最適化と機械学習の 融合アプローチ -分類と新しい枠組み-(改訂版)
PDF
PRML復々習レーン#9 前回までのあらすじ
PDF
SOINN-AM
PDF
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
PDF
データマイニング勉強会3
PDF
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
PDF
第1回 Jubatusハンズオン
PPTX
第七回統計学勉強会@東大駒場
PPTX
MLaPP輪講 Chapter 1
PDF
Prml5 6
PDF
SSII2018TS: 大規模深層学習
PDF
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
PPTX
0610 TECH & BRIDGE MEETING
PDF
Unified Expectation Maximization
PPTX
MASTERING ATARI WITH DISCRETE WORLD MODELS (DreamerV2)
PDF
深層学習(講談社)のまとめ(1章~2章)
bigdata2012ml okanohara
PFI Christmas seminar 2009
20160329.dnn講演
20150803.山口大学集中講義
数理最適化と機械学習の 融合アプローチ -分類と新しい枠組み-(改訂版)
PRML復々習レーン#9 前回までのあらすじ
SOINN-AM
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
データマイニング勉強会3
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
第1回 Jubatusハンズオン
第七回統計学勉強会@東大駒場
MLaPP輪講 Chapter 1
Prml5 6
SSII2018TS: 大規模深層学習
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
0610 TECH & BRIDGE MEETING
Unified Expectation Maximization
MASTERING ATARI WITH DISCRETE WORLD MODELS (DreamerV2)
深層学習(講談社)のまとめ(1章~2章)
Ad

More from Preferred Networks (20)

PDF
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
PDF
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
PDF
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
PDF
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
PDF
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
PDF
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
PDF
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
PDF
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
PDF
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
PPTX
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
PPTX
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PDF
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
PDF
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
PDF
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
PDF
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
PDF
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
PDF
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
PDF
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
PDF
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
PDF
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50

LCCC2010:Learning on Cores, Clusters and Cloudsの解説

  • 1. NIPS2010を読む会@東工大 2011/2/14 LCCC2010:Learning on Cores, Clusters and Cloudsの解説 岡野原 大輔 (株)Preferred Infrastructure
  • 2. LCCC2010について • NIPS併催のワークショップ • 毎年同じようでテーマで開催されている – Organizer達で今年本を出すらしい [挨拶より] • J. Langford, O. Dekel, J. Duchi, A. Agrawal, L. Cayton • Google, MS, Yahoo!をはじめ主要な企業と 大学、研究所が3等分ぐらいずつ – 実用化は04年頃から進み身近なところで利用 – 例:gmailの優先トレイはメールでPA+転移学習 • 理論と実践の両方が進展
  • 3. 今日の発表について • Distributed MAP Inference for Undirected Graphical Models • Machine Learning in the Cloud with Graph Lab • MapReduce/Bigtable for Distributed Optimization • 選んだ基準 – 実用的 – 単に並列化しただけじゃないものを選んだ
  • 4. 背景 • 解析対象データの急激な増加 – アルゴリズムは最低でも線形の計算量が必要 だがそれでも不十分.潰しても捨てても無理 – 世界で作成されたデータ量は 2009年 8億テラバイト(前年比62%増) 2020年 35億テラバイトと予想 [Digital Universe 2010] – 例: ニューヨーク株式市場 毎日1TB Facebook 毎日20TBの圧縮データ • 分散/並列化しないと、そもそもデータの読み 込み/書き込みすら無理 – HDDは現在100MB/s
  • 5. 素朴な疑問 並列分散化の機械学習は面白いの? Q. たくさんマシンを用意できたなら、データを適当 に分けて、それぞれのマシンで処理して結果を合 わせるだけじゃないの? A. 部分的にYES, 残りはNO – 各マシン間の情報のやりとりが制限された環境で学 習の収束保障は?収束速度は? – 単純なアプローチはうまく行かない.が、ちょっと だけ工夫するとうまくいく – 分散並列システムを一から作るのはすごく大変 MapReduceなどの分散並列を実現するフレームワー ク上で実現可能な機械学習を考える
  • 6. 分散並列環境下の問題 • 通信コストは非常に大きい – データのマシン間移動は計算コストと同じか それ以上に大変 – スループット、レイテンシの両方で制限 • マシン間同期をとるのはコストがかかる – 計算時間はバラバラで一番遅いマシンに依存 – そもそも同期をとれない場合も • それぞれが独立にタスクをこなしつつ、 いかに全体の最適化を達成するか
  • 7. Distributed MAP Inference for Undirected Graphical Models Sammer Singh Amarnag Subramanya Fernando Pereira Andrew McCallum
  • 8. 目標 • グラフィカルモデルの推論は一般に困難 – 近年利用されるモデルはより巨大で密に • 共参照推定、関係抽出、同時推論など • 文書集合をまたがるグラフ – 100万変数の問題を数百台で解きたい • 様々な近似推論手法が提案されている – LP-Relaxations – Dual Decomposition – MCMC-Based • これらの手法の並列化は難しい
  • 9. 問題設定 • 変数Yの確率分布を因子ψで表す • 例: • MAP推定をしたい y*=argmaxy p(Y=y) – ループなどがあり動的計画法は使えない
  • 10. 既存手法 MCMCによるMAP推定 1. yを適当に決める 2. yの中身を少し変更したy’を提案 3. [0,1]の乱数が より大きいならy’を採択し、y=y’と更新 – 確率が上がるなら常に採用、下がる場合は確 率的に採用.tは温度 – p(y’)/p(y)は変数が変わったところだけ見れ ば計算できるので高速に計算できる
  • 11. 相互排他的な提案を利用した 並列化 • yからの提案 yaとybについて yaとybの影響箇所が重ならないとする • この時、y⇒yaとy⇒ybは並列に評価でき、 採択することができる • グラフィカルモデルの特徴を利用し、相 互排他的な提案を作ることができる – 汎用的な方法もできつつある c.f. Residual Splash Belief Propagation
  • 13. 文書間共参照解析での並列数に 対する精度 共参照解析: 二つの表現が現実世界で同一実体を指すかどうかを求める
  • 14. 実験結果 (2) マシン台数におけるスケーラビリティ • NY Times Corpus 20年分の記事中に含 まれる100万回の人名言及の共参照解析 正解データが無いので 精度で評価できないが・・
  • 15. Machine Learning in the Cloud with Graph Lab Yucheng Low Joey Gonzalez Aapo Kyrola Danny Bickson Carlos Guestrin Joe Hellerstein David O’Hallaron
  • 16. 背景 • 分散並列向けにSplash Belief Propagation を提案 [UAI 09] • MapReduce(MR)はバッチ処理が得意だが 反復的な処理、部分的な更新は苦手 ⇒ GraphLabを提案 [UAI 10] – MRが苦手なML向けの処理を行うフレームワーク – データの疎な依存関係を表せる – 部分更新、反復処理が得意 – マルチコア、分散、クラウド、GPUに対応
  • 17. GraphLabの特徴 Sequential Consistency Thm. 全ての並列更新処理については、それと同じ結 果を生成する、逐次更新処理が必ず存在 – 並列処理の正しさを証明
  • 18. 実験結果 • Gibbs sampling – 相互排他的な変数を毎に色分けし並列更新 – プロセッサ数にほぼ線形で性能向上 – 他の様々な並列化もサポート • LASSO – Shooting Algorithmの並列化 • 変数とサンプルで二部グラフ作り相互排他的な変数集 合を作る – 相互排他的な変数の更新を自動で並列化 • その他いくつかのタスクで並列化を評価
  • 19. MapReduce / Bigtable for Distributed Optimization Keith Hall Scott Gilpin Gideon Mann Slav Petrov
  • 20. 最適化の分散並列化は簡単? • MapReduceフレームワークを使えば簡単 • データ分散し、それぞれ独立にパラメー タを計算して(Map)、集める(Reduce) • 分散の仕方でいろいろ方法がある – パラメータを分割して求めて平均とるか – 勾配を分割して求めて勾配をとるか など • どれも同じ様に見えるが実は精度に大き な違いがあり、理論的に解析可能 ここでの最適化は教師付き学習を含む最適化
  • 21. 方法1:Parameter Mixture 1. データを分割しK個のshardに配る 2. shard毎にパラメータθを最適化 3. 最後に各最適化した結果の平均をとる – θ’ = (∑iθi)/K • 実はうまくいかない – 性能も悪いし、失敗する例も作れる(次項) – 理論的保障もできない
  • 22. Parameter Mixtureが失敗する例 • f(x)=wTx のwを学習.訓練例は次の通り y1=0 x1 =(1 1 0) y2=1 x2 =(0 0 1) y3=0 x3 =(0 1 1) y4=1 x4 =(1 0 0) • 1と2で学習して w1=(-1 -1 0) • 3と4で学習して w2=(0 -1 -1) • w’=w1+w2は全ての訓練例をy=0に分類 • 全例を正しく分けるのは w =(1 -2 1) ⇒全訓練例を正しく分類するwがあっても、 それをPMは必ずしも求めることはできない
  • 23. 方法2 Distributed Gradient • 勾配の計算部分を並列に行う • 求まった勾配を利用して更新は一台で行 う • 長所 – 勾配の計算に時間がかかる場合に高速化可能 • 短所 – 毎回パラメータを全てのshard間でやりとり しないといけない. – 収束は遅く,バッチ学習と同じ
  • 24. 方法3 Asynchronous Update • 全shardで共通のパラメータθを利用 • 各ワーカーは、現在のθを取得し、分割さ れたデータでθを更新 • 欠点:θにlockをとらないため、古いθを 元に更新を計算してしまう可能性.実は それでも収束保障はできるが遅い
  • 25. 方法4 Iterative Parameter Mixture • Parameter Mixtureを少しだけ改造 1. データを分割しshardに配る 2. shard毎に最適化 3. 全部のθの平均をとる 4. θを再度各shardに配り1から繰り返す これは収束証明ができ、実際に高性能 – 重要:各epoch毎にパラメーターを通信するのみ. データの通信は発生しない • 以降ではStructured Perceptronの場合を議論
  • 26. Structured Perceptron(SP) [Collins 2002] 1台での学習の場合 更新時に、正解の特徴ベクトルを足し、不正解で最も スコアが高かった特徴ベクトルを引く
  • 27. Structured Perceptron • 1台での学習の場合 • 訓練例の直径がRであり、マージンγで分 離可能の時、SPによる学習アルゴリズム の更新回数は高々(R/γ)2 [Novikoff 62][Collins 02] • これを分散させるとどうなるか ..
  • 28. Structured Perceptorn + Iterative Paramter Mixture μi,nは混ぜる割合 ∑iμi,n =1
  • 29. データ データをK個に分割に分割 θ(0) = 0 θ(0) θ(0) θ(0) θ(0) それぞれで独立に学習 θ1 θ2 θ3 θ4 θ(1)=(θ1+θ2+θ3+θ4)/4 パラメータを集めて、平均をとり θ(1) θ(1) θ(1) θ(1) 再度分配する(データはそのまま) θ(1)を初期値に再度学習 θ1 θ2 θ3 θ4 これを収束するまで繰り返す
  • 30. Iterative Paramter Mixture + Structured Perceptron • 訓練例の直径がRであり、マージンγで分 離可能の時、IPM+SPによる学習アルゴリ ズムの合計の更新回数は高々(R/γ)2 [R. McDonald NAACL 10] – 一台で動かした場合と全く同じなので K台で分割したらK倍の高速化が可能 – データの移動を全くしなくても全部のデータ を正しく分類可能な学習ができる!
  • 31. 略証 (1/3) • wi,n : i番目のshardのn週目の学習結果 • w([i,n]-k): wi,nのk回の更新前 • ki,n : shard i でのn epoch目の更新回数 • wi,nを下から抑える
  • 32. 略証 (2/3) • wi,nを上から抑える • これより各shardのエラー回数ki,nと w(avg,n-1)の対応付けができた
  • 33. 略証 (3/3) • 次にw(avg,N)を上と下から抑える • これらは数学的帰納法で証明する – 先程の(A1) (A2)とJensenの不等式を組み合わせ て抑えることができる • |u|=1より、|wavg,N|≧uw(avg,N) • (IH2)と組み合わせて最初のバウンドを得る
  • 34. 実験1 • クリックデータでクリックするかどうかを予測 • 訓練例数 3億7000万 • 200個のグループに分割し 240台のworkerでMapReduce • Iterative Parameter Mixtureが70倍の高速化と高性能を達成
  • 35. 実験2 • 先ほどと同じデータ(Single-coreではもう不可能) •訓練例数 16億 • 900個のグループに分割し 600台のworkerでMapReduce • Iterative Parameter Mixtureが同じく高速で高性能
  • 36. 彼らの結論 • 非同期更新は現在のデータセンター環境 では非常に厳しい – 遅い、収束しない – ネットワークが混み合う • Iterative Parameter Mixtureが良い – 実装もすごく簡単 – Perceptron以外にも Passive Aggressiveなどでも証明可能
  • 37. 結論 • 機械学習の分散並列化の理論/実践が揃い つつある – オンライン学習のRegret最小化解析の適用 – 分散最適化の理論 – MapReduceで可能なものがまだ中心 • 現状、線形識別器の分散並列化は Iterative Parameter Mixtureが最強 – ほぼ線形の高速化が可能で収束する – Iteration毎にパラメータを混ぜるだけ
  • 38. コメント • やり残し – 個別の手法についての収束証明はあるが、一般の 分散最適化問題も証明できるか – 最適な混ぜ具合を決められるか Active Learningとの関係? • パラメータを圧縮した最適化は伸びシロあり – センサネットワークやCompressed Sensing の 話がそのまま使えそう • 数台程度ならMapReduce使わずとも 実現できそう
  • 39. 質問に対する回答 • 問:Shard間でデータがものすごく偏って いる場合でもIterative Parameter Mixtureは収束する?例えば片方が全部正 例、もう片方が全部負例でも? • 答:必ず収束する +1 (1, 1, 0) 一周目 w=(1,1,0) w=(0,0,0) +1 (1, 0, 0) 平均をとって w=(1/2, 1/2, 0) -1 (0, 1, 1) 二週目 w=(1/2, 1/2, 0), w=(1/2, -1/2, -1) -1 (0, 0, 1) 平均をとって w=(1/2, 0, -1/2) 終了