Efficient Large-Scale Distributed Training of Conditional Maximum Entropy Models

新年明けましておめでとうございます。今年初の論文紹介。
大規模なデータセットに対する条件付き最大エントロピーモデルの学習を並列で行う話[1]。

論文概要

条件付き最大エントロピーモデルの学習を並列でおこなうというタスクに関して、標準的な3通りの方法について比較を行った。
そのうちmixture weight methodに関しては収束レートの理論的解析を行っている
また100万件から10億件までのデータセットに対して実験を行った。

条件付き最大エントロピーモデル

条件付き最大エントロピーモデルの詳細に関しては文献[2]などを参考にされたい。
訓練データS={(x_1,y_1) , \dots , (x_m ,y_m)}が与えられたとする。ここでxは入力データ、yはクラスラベルだと思ってもらえればよい。素性ベクトルを\Phi(x,y)として、 p_w [y|x] \propto \exp(w \cdot \Phi(x,y))としたとき、解かなければならない問題は
F(w) = \lambda |w|^2 - \frac{1}{m} \sum_i \log p_w[y_i | x_i]
を最小化するwを求めることである。

ここでwを求める標準的なアルゴリズムとしては

w = 0
until convergence
 F(w)の勾配を求める
 F(w)の勾配を利用してwを更新
end
return w

となる。

並列アルゴリズム

条件付き最大エントロピーモデルを並列に行う方法としてDistributed Gradient, Majority Vote, Mixture Weightの3つを挙げている。
このうちMajority VoteについてはMixture weightの方が実験的によい結果を示していることから、今回の論文紹介では割愛する。

Distributed Gradient

Distributed GradientではF(w)の式からサンプルをS=(S_1,\dots,S_p)とp個のマシンに分割したとき、独立に勾配を計算できることを利用している。アルゴリズムは次のようになる

w = 0
until convergence
 各マシンでF_{S_k}(w)の勾配を求める
 F_{S_k}(w)を足しあわせてF(w)の勾配を求める
 F(w)の勾配を利用してwを更新
 各マシン上のwを更新する
end
return w

ここでF_{S_k}(w)を足しあわせてF(w)の勾配を求めるという部分はMPIなどを用いると容易に実行できる。この方法の問題点としては各ステップにおいてwを更新して各マシンに再配布するということを行うためネットワークの通信量が増加するという点がある。このことはネットワークのレイテンシが大きい時には学習にかかるコストが大きくなる。

Mixture Weight

Mixture Weightではまず各マシンは独立にS_kを使ってw_kを学習する。
各マシンで学習が終了したら
 w_\mu = \sum_k \mu_k w_k
を計算し、識別時に利用する。w_kの係数\mu_kは事前知識によって定まるが、特に事前知識がなければすべて1/pとすればよい。
この場合、ネットワークの利用は最初にデータをばらまくときと、最後に重みを統合するときだけでよく、ネットワーク資源を節約できる。

理論的解析

理論的解析においては各マシンにすべてのデータが同一分布から生成されたという仮定の元で、データを多くしていけばmixture weightも真の解に収束していくことを示している。この辺ちゃんと数式おってないので省略。

実験

7つのデータセットに対して評価実験を行っている。データサイズは最大のもので約10億件ある。またマシンの台数は最大のデータセットに対しては1000台利用している。1000台のマシンを利用した10億件のデータに対しての学習は215分で終えることができている。また26M件のデータセットに対しては10台のクラスタを利用して56分で学習が行えている。

Distributed GradientとMixture Weightの比較を行った結果、精度にはほとんど差は見られず、ネットワークの利用量が最大のデータセットに対しては600倍近く抑えることができている。

参考文献

[1] Gideon Mann, Ryan McDonald, Mehryar Mohri, Nathan Silberman, Dan Walker , Efficient Large-Scale Distributed Training of Conditional Maximum Entropy Models, In NIPS 22, 2009
[2] 岡野原 大輔, 最大エントロピーモデル 最近の解説, スライド