SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
Robust Large-Scale Machine
Learning in the Cloud
Steffen Rendle
Dennis Fetterly
Eugene J. Shekita
Bor-yiing Su
Google Inc.
[KDDʼ16]
2017/3/17 Yuto Yamaguchi@CAML 1
機械学習情報交換会
⼀⾔で
2017/3/17 Yuto Yamaguchi - CAML 2
⼀般化線形モデルの学習を
めっちゃスケールするようにしたよ
概要
• ⼀般化線形モデルに対する
Scalable Coordinate Descent (SCD) を提案
• 通常のCDよりもスケールアウトしやすい
• Work loadが均⼀に近い
• CDはある特徴次元について更新を逐次繰り返すが、
SCDは複数の特徴次元をまとめて更新
• Google Could上に実装
• システムの詳細について説明
• 実際にGoogleが持っている広告のデータで実験
• Netflix prizeの10000倍でかい(!)データ
• ワーカーの数に(ほぼ)線形にスケール
2017/3/17 Yuto Yamaguchi - CAML 3
ALGORITHM
SYSTEM
EXPERIMENTS
問題設定 ー ⼀般化線形モデル
2017/3/17 Yuto Yamaguchi - CAML 4
線形モデル+好きなリンク関数
好きなロス+L2正則化(L1でも可)
*なんでもOKだけど
論⽂中では
リンク関数 = identity
ロス関数 = squared loss
正則化 = L2
を例に議論
問題設定 ー データ
• Trillion(1兆)スケールのサンプル数 |S|
• メモリに乗り切らない
• Billion(10億)スケールの特徴数 p
• めちゃくちゃスパース
• One-hot encodingをたくさん含むようなデータ
• NZ(X) < < |S| x p
2017/3/17 Yuto Yamaguchi - CAML 5
* NZ(X): Design matrix X の中の
non-zero 要素数
問題設定 ー 計算環境
• Shared Machines:
• 1つの物理マシンに複数のVM
• Distributed File System:
• GFSとか使うよ
• Preemptible VMs:
• Priorityの低いVMを⽌めてpriorityの⾼いVMに計算リソースを割り当てる
• AWSのspot instanceとか
• Machine Failures:
• 計算機は壊れるよ
2017/3/17 Yuto Yamaguchi - CAML 6
ゴール(何をしたいか)
• Robust Distribution:
• どれくらいスケールさせても、どういう計算環境でも同じように収束
して欲しい
• Linear Scale-out (weak scaling):
• 学習サンプル数と分散させるワーカーの数を同じ割合で増やすと、学
習にかかる時間は変わらない
• Linear Speed-up (strong scaling):
• 学習サンプル数は変えず、ワーカーの数をM倍すると、M倍速くなる
2017/3/17 Yuto Yamaguchi - CAML 7
ALGORITHM
2017/3/17 Yuto Yamaguchi - CAML 8
Coordinate Descent (CD)
2017/3/17 Yuto Yamaguchi - CAML 9
θ\θj が既知(fixed)であると仮定して、 θjを順番に更新する
CD ー アルゴリズム
2017/3/17 Yuto Yamaguchi - CAML 10
データパラレルにすると
ここで同期バリアが発⽣
(Tの集約)
めちゃくちゃスパースな設定だと、
各イテレーション( j )での各
ワーカのwork loadが⼩さすぎる
è オーバヘッドのほうが
⼤きくなりがち(遅い!)
Proposed Algorithm:
Scalable Coordinate Descent (SCD)
2017/3/17 Yuto Yamaguchi - CAML 11
1つの特徴量θjごとにイテレーションを回すとwork loadが⼩さ
すぎて分散に向かなかった
è 特徴量の集合(ブロック)ごとにイテレーションを回す
特徴量のインデックス {1, …, p} の分割 P を考える
・B ∈ P をBlockと呼ぶ
・どう分割するかはまたあとで考える
SCD ー アルゴリズム
2017/3/17 Yuto Yamaguchi - CAML 12
データパラレル
データパラレル
Blockごとにイテレーション
収束保証するために line search
α∈[0,1] が⼩さいほど収束は遅い
同期バリアをブロック数(<<p)
で抑えられる
更新の独⽴性
2017/3/17 Yuto Yamaguchi - CAML 13
LEMMA 1: Block が Pure ならパラメータの更新は独⽴(証明は論⽂参照)
è 独⽴に更新しているのと変わらないので、
α=1とできて、CDと同じ結果が得られる。
DEFINITION 1: (Pure Block)
Bが Pure であるとは、
全てのサンプル x について、NZ(xB) ≦ 1
つまり、ブロック内では各⾏にnon-zero要素が多くとも1つしかない
* xB:xからBに含まれるインデックス
のみ取り出したベクトル
どう分割するか?
• 要件
1. できるだけ Pure にしたい
• α=1とできるので収束が速くなる
2. それぞれの B についてwork loadを均⼀にしたい
• 分散の効果が⼤きくなる
• Natural Partition
• 1つの変数を表すインデックスの集合をブロックとする
• 例)国を表すOne-hot encoding
• Pureだし、work loadも均⼀になる
2017/3/17 Yuto Yamaguchi - CAML 14
SCDまとめ
• ブロックごとに更新しても line search すれば収束を保証
• 完全に Pure なブロックに分割できれば、独⽴に更新している
のと等価なので、α=1とできる
• CDと同じ収束速度
• ブロックごとにイテレーションを回すので、1つの特徴ごとに
イテレーションを回すCDとくらべてwork loadが⼤きい
• 分散に向いている
2017/3/17 Yuto Yamaguchi - CAML 15
SYSTEM
2017/3/17 Yuto Yamaguchi - CAML 16
Storage Format
2017/3/17 Yuto Yamaguchi - CAML 17
Feature sharding
+
Row sharding
System Flow
2017/3/17 Yuto Yamaguchi - CAML 18
Master1つと
Workerたくさん
若⼲の⼯夫
(次スライド)
3. Aggregating Sufficient Statistics
2017/3/17 Yuto Yamaguchi - CAML 19
全てのworkerからmasterにそれぞれ送ると
バンド幅がボトルネック
è“aggregator” worker が ”leaf” worker の
データをまず集約して、それをmasterに
送る
1つのworkerが aggregator と leaf の⼆役
をやることでバンド幅を使い切る(1つの
aggregatorがある範囲のfeatureを担当)
Straggler Handling
• 同期するので、⼀番遅い worker (straggler) に律速される
• 解決策(次スライドから)
• Dynamic Load Balancing
• Caching
• Prefetching
2017/3/17 Yuto Yamaguchi - CAML 20
Dynamic Load Balancing
• 処理が終わった worker は master に問い合わせて新たな
work load を割り当ててもらう
• è Idle状態を極⼒減らす
2017/3/17 Yuto Yamaguchi - CAML 21
Caching
• DFSにアクセスしてデータを持ってくるのは遅い
• è キャッシュする
• Master はできるだけ同じ row shard を割り当てようとする
• キャッシュが効く
• キャッシュに乗ってなかった場合、できるだけDFSにアクセス
しないで他の worker から取ってくる
• Hedged-request:DFSのほうが早いこともあるので両⽅に問い合わせ
て早く帰ってきた⽅を使う
2017/3/17 Yuto Yamaguchi - CAML 22
Prefetching
• 各イテレーションで別のブロック B について処理するので、
データ X についてはキャッシュがあまり効かない
• è 次のイテレーションで使うブロックに対応するデータを
prefetchしておく
2017/3/17 Yuto Yamaguchi - CAML 23
Dealing with VM Preemptions
• Preempt された worker (VM) は処理が終わっても新たな work
load をくれと⾔わなくなる
• 今持ってるwork loadは最後まで処理する
• ⼗分な時間がある
• もし Master の VM が preempt されたらMachine Failureとし
て扱う(次スライド)
2017/3/17 Yuto Yamaguchi - CAML 24
Dealing with Machine Failures
• 故障によって失われた worker のみが持っていたデータは失わ
れるので、やりなおす
• Master を持つマシンが故障したときのために、master は適宜
checkpointをDFSに保存しておく
2017/3/17 Yuto Yamaguchi - CAML 25
EXPERIMENTS
2017/3/17 Yuto Yamaguchi - CAML 26
設定
• Adsのデータを使⽤(詳細は書いてない)
• 1.7 billion features
• 1 trillion examples (10000x more examples than Netflix prize)
• 200 trillion non-zero elements
• Pureな分割しか扱わない
• Google cloud上に実装
2017/3/17 Yuto Yamaguchi - CAML 27
Scale-out
2017/3/17 Yuto Yamaguchi - CAML 28
Worker の数とサンプルの数を両⽅共 x 倍する
理想は横ばい(完全に
スケール)だけどx=50
で35%遅くなった
Speed-up
2017/3/17 Yuto Yamaguchi - CAML 29
サンプル数はそのままで
Worker数をx倍する
線形以上の⾼速化!
学習全体にかかる
コスト(ドル)
まとめ
• Scalable Coordinate Descentを提案
• Pureな分割をすれば通常のCDと同じ結果が得られる
• ある程度の⼤きさのwork loadを分散できるため、分散処理の効果が⼤
きい
• Google Cloud上に実装
• いろいろ詳細に書いてある
• 超⼤規模なデータで実験
• スケールした
2017/3/17 Yuto Yamaguchi - CAML 30

Contenu connexe

Tendances

CVPR 2011 ImageNet Challenge 文献紹介
CVPR 2011 ImageNet Challenge 文献紹介CVPR 2011 ImageNet Challenge 文献紹介
CVPR 2011 ImageNet Challenge 文献紹介Narihira Takuya
 
レイトレ空間構造入門
レイトレ空間構造入門レイトレ空間構造入門
レイトレ空間構造入門Toru Matsuoka
 
Iugonet 20120810-nipr-sato
Iugonet 20120810-nipr-satoIugonet 20120810-nipr-sato
Iugonet 20120810-nipr-satoIugo Net
 
Ichimillサービスros活用事例
Ichimillサービスros活用事例Ichimillサービスros活用事例
Ichimillサービスros活用事例kenjiterasaka
 
120414 foss4g nagoya_presentation2
120414 foss4g nagoya_presentation2120414 foss4g nagoya_presentation2
120414 foss4g nagoya_presentation2Takayuki Nuimura
 
lispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learninglispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep LearningSatoshi imai
 
20160730tokyor55
20160730tokyor5520160730tokyor55
20160730tokyor55Med_KU
 

Tendances (11)

Quantum Computer
Quantum ComputerQuantum Computer
Quantum Computer
 
CVPR 2011 ImageNet Challenge 文献紹介
CVPR 2011 ImageNet Challenge 文献紹介CVPR 2011 ImageNet Challenge 文献紹介
CVPR 2011 ImageNet Challenge 文献紹介
 
レイトレ空間構造入門
レイトレ空間構造入門レイトレ空間構造入門
レイトレ空間構造入門
 
Iugonet 20120810-nipr-sato
Iugonet 20120810-nipr-satoIugonet 20120810-nipr-sato
Iugonet 20120810-nipr-sato
 
Ichimillサービスros活用事例
Ichimillサービスros活用事例Ichimillサービスros活用事例
Ichimillサービスros活用事例
 
M1 gp_Disco
M1 gp_DiscoM1 gp_Disco
M1 gp_Disco
 
実践QBVH
実践QBVH実践QBVH
実践QBVH
 
20140306 ibisml
20140306 ibisml20140306 ibisml
20140306 ibisml
 
120414 foss4g nagoya_presentation2
120414 foss4g nagoya_presentation2120414 foss4g nagoya_presentation2
120414 foss4g nagoya_presentation2
 
lispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learninglispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learning
 
20160730tokyor55
20160730tokyor5520160730tokyor55
20160730tokyor55
 

En vedette

Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスEtsuji Nakai
 
OMNI-Prop: Seamless Node Classification on Arbitrary Label Correlation
OMNI-Prop: Seamless Node Classification on Arbitrary Label CorrelationOMNI-Prop: Seamless Node Classification on Arbitrary Label Correlation
OMNI-Prop: Seamless Node Classification on Arbitrary Label CorrelationYuto Yamaguchi
 
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Yasutomo Kawanishi
 
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例Recruit Technologies
 
Pythonによる機械学習入門 ~SVMからDeep Learningまで~
Pythonによる機械学習入門 ~SVMからDeep Learningまで~Pythonによる機械学習入門 ~SVMからDeep Learningまで~
Pythonによる機械学習入門 ~SVMからDeep Learningまで~Yasutomo Kawanishi
 
Qué es el calentamiento global
Qué es el calentamiento globalQué es el calentamiento global
Qué es el calentamiento globalHenry Rodrigo
 
8° festival nuevo programa mise en page 1
8° festival nuevo programa mise en page 18° festival nuevo programa mise en page 1
8° festival nuevo programa mise en page 1Bernard Sanjuan
 
Online User Location Inference Exploiting Spatiotemporal Correlations in Soci...
Online User Location Inference Exploiting Spatiotemporal Correlations in Soci...Online User Location Inference Exploiting Spatiotemporal Correlations in Soci...
Online User Location Inference Exploiting Spatiotemporal Correlations in Soci...Yuto Yamaguchi
 
あなたの業務に機械学習を活用する5つのポイント
あなたの業務に機械学習を活用する5つのポイントあなたの業務に機械学習を活用する5つのポイント
あなたの業務に機械学習を活用する5つのポイントShohei Hido
 
GOAL visit to CNBC's Fast Money and Options Action
GOAL visit to CNBC's Fast Money and Options ActionGOAL visit to CNBC's Fast Money and Options Action
GOAL visit to CNBC's Fast Money and Options ActionAdam Rabinovitch
 
ディープラーニングでおそ松さんの6つ子は見分けられるのか? FIT2016
ディープラーニングでおそ松さんの6つ子は見分けられるのか? FIT2016ディープラーニングでおそ松さんの6つ子は見分けられるのか? FIT2016
ディープラーニングでおそ松さんの6つ子は見分けられるのか? FIT2016Yota Ishida
 
R cd n° 040 2017-osinergmin - nuevo reglamento de supervisión, fiscalización ...
R cd n° 040 2017-osinergmin - nuevo reglamento de supervisión, fiscalización ...R cd n° 040 2017-osinergmin - nuevo reglamento de supervisión, fiscalización ...
R cd n° 040 2017-osinergmin - nuevo reglamento de supervisión, fiscalización ...Rooswelth Gerardo Zavaleta Benites
 
R cd n° 041 2017-osinergmin - modifican el procedimiento de atención de queja...
R cd n° 041 2017-osinergmin - modifican el procedimiento de atención de queja...R cd n° 041 2017-osinergmin - modifican el procedimiento de atención de queja...
R cd n° 041 2017-osinergmin - modifican el procedimiento de atención de queja...Rooswelth Gerardo Zavaleta Benites
 
Georgia Tech Named a Tree Campus USA School
Georgia Tech Named a Tree Campus USA SchoolGeorgia Tech Named a Tree Campus USA School
Georgia Tech Named a Tree Campus USA SchoolAntoine Chaya
 

En vedette (20)

Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービス
 
OMNI-Prop: Seamless Node Classification on Arbitrary Label Correlation
OMNI-Prop: Seamless Node Classification on Arbitrary Label CorrelationOMNI-Prop: Seamless Node Classification on Arbitrary Label Correlation
OMNI-Prop: Seamless Node Classification on Arbitrary Label Correlation
 
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
 
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
 
Pythonによる機械学習入門 ~SVMからDeep Learningまで~
Pythonによる機械学習入門 ~SVMからDeep Learningまで~Pythonによる機械学習入門 ~SVMからDeep Learningまで~
Pythonによる機械学習入門 ~SVMからDeep Learningまで~
 
Qué es el calentamiento global
Qué es el calentamiento globalQué es el calentamiento global
Qué es el calentamiento global
 
8° festival nuevo programa mise en page 1
8° festival nuevo programa mise en page 18° festival nuevo programa mise en page 1
8° festival nuevo programa mise en page 1
 
Online User Location Inference Exploiting Spatiotemporal Correlations in Soci...
Online User Location Inference Exploiting Spatiotemporal Correlations in Soci...Online User Location Inference Exploiting Spatiotemporal Correlations in Soci...
Online User Location Inference Exploiting Spatiotemporal Correlations in Soci...
 
あなたの業務に機械学習を活用する5つのポイント
あなたの業務に機械学習を活用する5つのポイントあなたの業務に機械学習を活用する5つのポイント
あなたの業務に機械学習を活用する5つのポイント
 
Linuxシステム管理入門
Linuxシステム管理入門Linuxシステム管理入門
Linuxシステム管理入門
 
Historia de la Ingenieria
Historia de la IngenieriaHistoria de la Ingenieria
Historia de la Ingenieria
 
Deep parking
Deep parkingDeep parking
Deep parking
 
GOAL visit to CNBC's Fast Money and Options Action
GOAL visit to CNBC's Fast Money and Options ActionGOAL visit to CNBC's Fast Money and Options Action
GOAL visit to CNBC's Fast Money and Options Action
 
17.03
17.0317.03
17.03
 
Ocelot 1
Ocelot 1Ocelot 1
Ocelot 1
 
ディープラーニングでおそ松さんの6つ子は見分けられるのか? FIT2016
ディープラーニングでおそ松さんの6つ子は見分けられるのか? FIT2016ディープラーニングでおそ松さんの6つ子は見分けられるのか? FIT2016
ディープラーニングでおそ松さんの6つ子は見分けられるのか? FIT2016
 
R cd n° 040 2017-osinergmin - nuevo reglamento de supervisión, fiscalización ...
R cd n° 040 2017-osinergmin - nuevo reglamento de supervisión, fiscalización ...R cd n° 040 2017-osinergmin - nuevo reglamento de supervisión, fiscalización ...
R cd n° 040 2017-osinergmin - nuevo reglamento de supervisión, fiscalización ...
 
R cd n° 041 2017-osinergmin - modifican el procedimiento de atención de queja...
R cd n° 041 2017-osinergmin - modifican el procedimiento de atención de queja...R cd n° 041 2017-osinergmin - modifican el procedimiento de atención de queja...
R cd n° 041 2017-osinergmin - modifican el procedimiento de atención de queja...
 
Teoriadelestadomariana18032017
Teoriadelestadomariana18032017Teoriadelestadomariana18032017
Teoriadelestadomariana18032017
 
Georgia Tech Named a Tree Campus USA School
Georgia Tech Named a Tree Campus USA SchoolGeorgia Tech Named a Tree Campus USA School
Georgia Tech Named a Tree Campus USA School
 

Similaire à Robust Large-Scale Machine Learning in the Cloud

[DL輪読会]Learning to Navigate in Cities Without a Map
[DL輪読会]Learning to Navigate in Cities Without a Map[DL輪読会]Learning to Navigate in Cities Without a Map
[DL輪読会]Learning to Navigate in Cities Without a MapDeep Learning JP
 
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)NTT DATA Technology & Innovation
 
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計maebashi
 
Rubyによるお手軽分散処理
Rubyによるお手軽分散処理Rubyによるお手軽分散処理
Rubyによるお手軽分散処理maebashi
 
IbisPaintのOpenGLES2.0
IbisPaintのOpenGLES2.0IbisPaintのOpenGLES2.0
IbisPaintのOpenGLES2.0Eiji Kamiya
 
20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_TokyoKohei KaiGai
 
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...NTT DATA Technology & Innovation
 
ゴルフゲームでUnityの限界を突破する方法
ゴルフゲームでUnityの限界を突破する方法ゴルフゲームでUnityの限界を突破する方法
ゴルフゲームでUnityの限界を突破する方法Nohina Hidenari
 
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -歩 柴田
 
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速するKohei KaiGai
 
[DL輪読会]Convolutional Sequence to Sequence Learning
[DL輪読会]Convolutional Sequence to Sequence Learning[DL輪読会]Convolutional Sequence to Sequence Learning
[DL輪読会]Convolutional Sequence to Sequence LearningDeep Learning JP
 
DSB2019振り返り会:あのにっくき QWK を閾値調整なしで攻略した(かった)
DSB2019振り返り会:あのにっくき QWK を閾値調整なしで攻略した(かった)DSB2019振り返り会:あのにっくき QWK を閾値調整なしで攻略した(かった)
DSB2019振り返り会:あのにっくき QWK を閾値調整なしで攻略した(かった)Takuji Tahara
 
MemoryPlus Workshop
MemoryPlus WorkshopMemoryPlus Workshop
MemoryPlus WorkshopHitoshi Sato
 
20170310_InDatabaseAnalytics_#1
20170310_InDatabaseAnalytics_#120170310_InDatabaseAnalytics_#1
20170310_InDatabaseAnalytics_#1Kohei KaiGai
 
20190925_DBTS_PGStrom
20190925_DBTS_PGStrom20190925_DBTS_PGStrom
20190925_DBTS_PGStromKohei KaiGai
 
LightGBM: a highly efficient gradient boosting decision tree
LightGBM: a highly efficient gradient boosting decision treeLightGBM: a highly efficient gradient boosting decision tree
LightGBM: a highly efficient gradient boosting decision treeYusuke Kaneko
 
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Seiya Tokui
 

Similaire à Robust Large-Scale Machine Learning in the Cloud (20)

More modern gpu
More modern gpuMore modern gpu
More modern gpu
 
[DL輪読会]Learning to Navigate in Cities Without a Map
[DL輪読会]Learning to Navigate in Cities Without a Map[DL輪読会]Learning to Navigate in Cities Without a Map
[DL輪読会]Learning to Navigate in Cities Without a Map
 
pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)
 
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
 
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
 
Rubyによるお手軽分散処理
Rubyによるお手軽分散処理Rubyによるお手軽分散処理
Rubyによるお手軽分散処理
 
IbisPaintのOpenGLES2.0
IbisPaintのOpenGLES2.0IbisPaintのOpenGLES2.0
IbisPaintのOpenGLES2.0
 
20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo
 
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
 
ゴルフゲームでUnityの限界を突破する方法
ゴルフゲームでUnityの限界を突破する方法ゴルフゲームでUnityの限界を突破する方法
ゴルフゲームでUnityの限界を突破する方法
 
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
 
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する
 
[DL輪読会]Convolutional Sequence to Sequence Learning
[DL輪読会]Convolutional Sequence to Sequence Learning[DL輪読会]Convolutional Sequence to Sequence Learning
[DL輪読会]Convolutional Sequence to Sequence Learning
 
不揮発WALバッファ
不揮発WALバッファ不揮発WALバッファ
不揮発WALバッファ
 
DSB2019振り返り会:あのにっくき QWK を閾値調整なしで攻略した(かった)
DSB2019振り返り会:あのにっくき QWK を閾値調整なしで攻略した(かった)DSB2019振り返り会:あのにっくき QWK を閾値調整なしで攻略した(かった)
DSB2019振り返り会:あのにっくき QWK を閾値調整なしで攻略した(かった)
 
MemoryPlus Workshop
MemoryPlus WorkshopMemoryPlus Workshop
MemoryPlus Workshop
 
20170310_InDatabaseAnalytics_#1
20170310_InDatabaseAnalytics_#120170310_InDatabaseAnalytics_#1
20170310_InDatabaseAnalytics_#1
 
20190925_DBTS_PGStrom
20190925_DBTS_PGStrom20190925_DBTS_PGStrom
20190925_DBTS_PGStrom
 
LightGBM: a highly efficient gradient boosting decision tree
LightGBM: a highly efficient gradient boosting decision treeLightGBM: a highly efficient gradient boosting decision tree
LightGBM: a highly efficient gradient boosting decision tree
 
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践
 

Plus de Yuto Yamaguchi

When Does Label Propagation Fail? A View from a Network Generative Model@ERAT...
When Does Label Propagation Fail? A View from a Network Generative Model@ERAT...When Does Label Propagation Fail? A View from a Network Generative Model@ERAT...
When Does Label Propagation Fail? A View from a Network Generative Model@ERAT...Yuto Yamaguchi
 
Bridging Relational Learning Algorithms@ビッグデータ基盤勉強会
Bridging Relational Learning Algorithms@ビッグデータ基盤勉強会Bridging Relational Learning Algorithms@ビッグデータ基盤勉強会
Bridging Relational Learning Algorithms@ビッグデータ基盤勉強会Yuto Yamaguchi
 
Tensor Decomposition with Missing Indices
Tensor Decomposition with Missing IndicesTensor Decomposition with Missing Indices
Tensor Decomposition with Missing IndicesYuto Yamaguchi
 
When Does Label Propagation Fail? A View from a Network Generative Model
When Does Label Propagation Fail? A View from a Network Generative ModelWhen Does Label Propagation Fail? A View from a Network Generative Model
When Does Label Propagation Fail? A View from a Network Generative ModelYuto Yamaguchi
 
Patterns in Interactive Tagging Networks
Patterns in Interactive Tagging NetworksPatterns in Interactive Tagging Networks
Patterns in Interactive Tagging NetworksYuto Yamaguchi
 
SocNL: Bayesian Label Propagation with Confidence
SocNL: Bayesian Label Propagation with ConfidenceSocNL: Bayesian Label Propagation with Confidence
SocNL: Bayesian Label Propagation with ConfidenceYuto Yamaguchi
 
SIGMOD2013勉強会:Social Media
SIGMOD2013勉強会:Social MediaSIGMOD2013勉強会:Social Media
SIGMOD2013勉強会:Social MediaYuto Yamaguchi
 
Towards Social User Profiling: Unified and Discriminative Influence Model for...
Towards Social User Profiling: Unified and Discriminative Influence Model for...Towards Social User Profiling: Unified and Discriminative Influence Model for...
Towards Social User Profiling: Unified and Discriminative Influence Model for...Yuto Yamaguchi
 
The Length of Bridge Ties: Structural and Geographic Properties of Online So...
The Length of Bridge Ties: Structural and Geographic Properties of Online So...The Length of Bridge Ties: Structural and Geographic Properties of Online So...
The Length of Bridge Ties: Structural and Geographic Properties of Online So...Yuto Yamaguchi
 
WWW2012勉強会:Information Diffusion in Social Networks
WWW2012勉強会:Information Diffusion in Social NetworksWWW2012勉強会:Information Diffusion in Social Networks
WWW2012勉強会:Information Diffusion in Social NetworksYuto Yamaguchi
 
ICDE2012勉強会:Social Media
ICDE2012勉強会:Social MediaICDE2012勉強会:Social Media
ICDE2012勉強会:Social MediaYuto Yamaguchi
 

Plus de Yuto Yamaguchi (11)

When Does Label Propagation Fail? A View from a Network Generative Model@ERAT...
When Does Label Propagation Fail? A View from a Network Generative Model@ERAT...When Does Label Propagation Fail? A View from a Network Generative Model@ERAT...
When Does Label Propagation Fail? A View from a Network Generative Model@ERAT...
 
Bridging Relational Learning Algorithms@ビッグデータ基盤勉強会
Bridging Relational Learning Algorithms@ビッグデータ基盤勉強会Bridging Relational Learning Algorithms@ビッグデータ基盤勉強会
Bridging Relational Learning Algorithms@ビッグデータ基盤勉強会
 
Tensor Decomposition with Missing Indices
Tensor Decomposition with Missing IndicesTensor Decomposition with Missing Indices
Tensor Decomposition with Missing Indices
 
When Does Label Propagation Fail? A View from a Network Generative Model
When Does Label Propagation Fail? A View from a Network Generative ModelWhen Does Label Propagation Fail? A View from a Network Generative Model
When Does Label Propagation Fail? A View from a Network Generative Model
 
Patterns in Interactive Tagging Networks
Patterns in Interactive Tagging NetworksPatterns in Interactive Tagging Networks
Patterns in Interactive Tagging Networks
 
SocNL: Bayesian Label Propagation with Confidence
SocNL: Bayesian Label Propagation with ConfidenceSocNL: Bayesian Label Propagation with Confidence
SocNL: Bayesian Label Propagation with Confidence
 
SIGMOD2013勉強会:Social Media
SIGMOD2013勉強会:Social MediaSIGMOD2013勉強会:Social Media
SIGMOD2013勉強会:Social Media
 
Towards Social User Profiling: Unified and Discriminative Influence Model for...
Towards Social User Profiling: Unified and Discriminative Influence Model for...Towards Social User Profiling: Unified and Discriminative Influence Model for...
Towards Social User Profiling: Unified and Discriminative Influence Model for...
 
The Length of Bridge Ties: Structural and Geographic Properties of Online So...
The Length of Bridge Ties: Structural and Geographic Properties of Online So...The Length of Bridge Ties: Structural and Geographic Properties of Online So...
The Length of Bridge Ties: Structural and Geographic Properties of Online So...
 
WWW2012勉強会:Information Diffusion in Social Networks
WWW2012勉強会:Information Diffusion in Social NetworksWWW2012勉強会:Information Diffusion in Social Networks
WWW2012勉強会:Information Diffusion in Social Networks
 
ICDE2012勉強会:Social Media
ICDE2012勉強会:Social MediaICDE2012勉強会:Social Media
ICDE2012勉強会:Social Media
 

Dernier

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Dernier (10)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

Robust Large-Scale Machine Learning in the Cloud

  • 1. Robust Large-Scale Machine Learning in the Cloud Steffen Rendle Dennis Fetterly Eugene J. Shekita Bor-yiing Su Google Inc. [KDDʼ16] 2017/3/17 Yuto Yamaguchi@CAML 1 機械学習情報交換会
  • 2. ⼀⾔で 2017/3/17 Yuto Yamaguchi - CAML 2 ⼀般化線形モデルの学習を めっちゃスケールするようにしたよ
  • 3. 概要 • ⼀般化線形モデルに対する Scalable Coordinate Descent (SCD) を提案 • 通常のCDよりもスケールアウトしやすい • Work loadが均⼀に近い • CDはある特徴次元について更新を逐次繰り返すが、 SCDは複数の特徴次元をまとめて更新 • Google Could上に実装 • システムの詳細について説明 • 実際にGoogleが持っている広告のデータで実験 • Netflix prizeの10000倍でかい(!)データ • ワーカーの数に(ほぼ)線形にスケール 2017/3/17 Yuto Yamaguchi - CAML 3 ALGORITHM SYSTEM EXPERIMENTS
  • 4. 問題設定 ー ⼀般化線形モデル 2017/3/17 Yuto Yamaguchi - CAML 4 線形モデル+好きなリンク関数 好きなロス+L2正則化(L1でも可) *なんでもOKだけど 論⽂中では リンク関数 = identity ロス関数 = squared loss 正則化 = L2 を例に議論
  • 5. 問題設定 ー データ • Trillion(1兆)スケールのサンプル数 |S| • メモリに乗り切らない • Billion(10億)スケールの特徴数 p • めちゃくちゃスパース • One-hot encodingをたくさん含むようなデータ • NZ(X) < < |S| x p 2017/3/17 Yuto Yamaguchi - CAML 5 * NZ(X): Design matrix X の中の non-zero 要素数
  • 6. 問題設定 ー 計算環境 • Shared Machines: • 1つの物理マシンに複数のVM • Distributed File System: • GFSとか使うよ • Preemptible VMs: • Priorityの低いVMを⽌めてpriorityの⾼いVMに計算リソースを割り当てる • AWSのspot instanceとか • Machine Failures: • 計算機は壊れるよ 2017/3/17 Yuto Yamaguchi - CAML 6
  • 7. ゴール(何をしたいか) • Robust Distribution: • どれくらいスケールさせても、どういう計算環境でも同じように収束 して欲しい • Linear Scale-out (weak scaling): • 学習サンプル数と分散させるワーカーの数を同じ割合で増やすと、学 習にかかる時間は変わらない • Linear Speed-up (strong scaling): • 学習サンプル数は変えず、ワーカーの数をM倍すると、M倍速くなる 2017/3/17 Yuto Yamaguchi - CAML 7
  • 9. Coordinate Descent (CD) 2017/3/17 Yuto Yamaguchi - CAML 9 θ\θj が既知(fixed)であると仮定して、 θjを順番に更新する
  • 10. CD ー アルゴリズム 2017/3/17 Yuto Yamaguchi - CAML 10 データパラレルにすると ここで同期バリアが発⽣ (Tの集約) めちゃくちゃスパースな設定だと、 各イテレーション( j )での各 ワーカのwork loadが⼩さすぎる è オーバヘッドのほうが ⼤きくなりがち(遅い!)
  • 11. Proposed Algorithm: Scalable Coordinate Descent (SCD) 2017/3/17 Yuto Yamaguchi - CAML 11 1つの特徴量θjごとにイテレーションを回すとwork loadが⼩さ すぎて分散に向かなかった è 特徴量の集合(ブロック)ごとにイテレーションを回す 特徴量のインデックス {1, …, p} の分割 P を考える ・B ∈ P をBlockと呼ぶ ・どう分割するかはまたあとで考える
  • 12. SCD ー アルゴリズム 2017/3/17 Yuto Yamaguchi - CAML 12 データパラレル データパラレル Blockごとにイテレーション 収束保証するために line search α∈[0,1] が⼩さいほど収束は遅い 同期バリアをブロック数(<<p) で抑えられる
  • 13. 更新の独⽴性 2017/3/17 Yuto Yamaguchi - CAML 13 LEMMA 1: Block が Pure ならパラメータの更新は独⽴(証明は論⽂参照) è 独⽴に更新しているのと変わらないので、 α=1とできて、CDと同じ結果が得られる。 DEFINITION 1: (Pure Block) Bが Pure であるとは、 全てのサンプル x について、NZ(xB) ≦ 1 つまり、ブロック内では各⾏にnon-zero要素が多くとも1つしかない * xB:xからBに含まれるインデックス のみ取り出したベクトル
  • 14. どう分割するか? • 要件 1. できるだけ Pure にしたい • α=1とできるので収束が速くなる 2. それぞれの B についてwork loadを均⼀にしたい • 分散の効果が⼤きくなる • Natural Partition • 1つの変数を表すインデックスの集合をブロックとする • 例)国を表すOne-hot encoding • Pureだし、work loadも均⼀になる 2017/3/17 Yuto Yamaguchi - CAML 14
  • 15. SCDまとめ • ブロックごとに更新しても line search すれば収束を保証 • 完全に Pure なブロックに分割できれば、独⽴に更新している のと等価なので、α=1とできる • CDと同じ収束速度 • ブロックごとにイテレーションを回すので、1つの特徴ごとに イテレーションを回すCDとくらべてwork loadが⼤きい • 分散に向いている 2017/3/17 Yuto Yamaguchi - CAML 15
  • 17. Storage Format 2017/3/17 Yuto Yamaguchi - CAML 17 Feature sharding + Row sharding
  • 18. System Flow 2017/3/17 Yuto Yamaguchi - CAML 18 Master1つと Workerたくさん 若⼲の⼯夫 (次スライド)
  • 19. 3. Aggregating Sufficient Statistics 2017/3/17 Yuto Yamaguchi - CAML 19 全てのworkerからmasterにそれぞれ送ると バンド幅がボトルネック è“aggregator” worker が ”leaf” worker の データをまず集約して、それをmasterに 送る 1つのworkerが aggregator と leaf の⼆役 をやることでバンド幅を使い切る(1つの aggregatorがある範囲のfeatureを担当)
  • 20. Straggler Handling • 同期するので、⼀番遅い worker (straggler) に律速される • 解決策(次スライドから) • Dynamic Load Balancing • Caching • Prefetching 2017/3/17 Yuto Yamaguchi - CAML 20
  • 21. Dynamic Load Balancing • 処理が終わった worker は master に問い合わせて新たな work load を割り当ててもらう • è Idle状態を極⼒減らす 2017/3/17 Yuto Yamaguchi - CAML 21
  • 22. Caching • DFSにアクセスしてデータを持ってくるのは遅い • è キャッシュする • Master はできるだけ同じ row shard を割り当てようとする • キャッシュが効く • キャッシュに乗ってなかった場合、できるだけDFSにアクセス しないで他の worker から取ってくる • Hedged-request:DFSのほうが早いこともあるので両⽅に問い合わせ て早く帰ってきた⽅を使う 2017/3/17 Yuto Yamaguchi - CAML 22
  • 23. Prefetching • 各イテレーションで別のブロック B について処理するので、 データ X についてはキャッシュがあまり効かない • è 次のイテレーションで使うブロックに対応するデータを prefetchしておく 2017/3/17 Yuto Yamaguchi - CAML 23
  • 24. Dealing with VM Preemptions • Preempt された worker (VM) は処理が終わっても新たな work load をくれと⾔わなくなる • 今持ってるwork loadは最後まで処理する • ⼗分な時間がある • もし Master の VM が preempt されたらMachine Failureとし て扱う(次スライド) 2017/3/17 Yuto Yamaguchi - CAML 24
  • 25. Dealing with Machine Failures • 故障によって失われた worker のみが持っていたデータは失わ れるので、やりなおす • Master を持つマシンが故障したときのために、master は適宜 checkpointをDFSに保存しておく 2017/3/17 Yuto Yamaguchi - CAML 25
  • 27. 設定 • Adsのデータを使⽤(詳細は書いてない) • 1.7 billion features • 1 trillion examples (10000x more examples than Netflix prize) • 200 trillion non-zero elements • Pureな分割しか扱わない • Google cloud上に実装 2017/3/17 Yuto Yamaguchi - CAML 27
  • 28. Scale-out 2017/3/17 Yuto Yamaguchi - CAML 28 Worker の数とサンプルの数を両⽅共 x 倍する 理想は横ばい(完全に スケール)だけどx=50 で35%遅くなった
  • 29. Speed-up 2017/3/17 Yuto Yamaguchi - CAML 29 サンプル数はそのままで Worker数をx倍する 線形以上の⾼速化! 学習全体にかかる コスト(ドル)
  • 30. まとめ • Scalable Coordinate Descentを提案 • Pureな分割をすれば通常のCDと同じ結果が得られる • ある程度の⼤きさのwork loadを分散できるため、分散処理の効果が⼤ きい • Google Cloud上に実装 • いろいろ詳細に書いてある • 超⼤規模なデータで実験 • スケールした 2017/3/17 Yuto Yamaguchi - CAML 30