HOST
3.2.2 学習セット 並列モデル
学習セット 並列モデル
誤差逆伝搬学習では,重みの更新は(2.3)式によって行なわれる.これは,ある学習パ ターンによる重みの修正量はその重みに線型に加算されることを意味している.この線型 性より,学習セットを複数に分割し,同一のネットワーク構成を持つ複数のPEにより誤 差修正量を計算した後,重みの更新を行う.したがって,重みの更新は学習パターン毎に 行われるのではなく,学習セット毎に行われる.こうした重みの更新方法をバッチ更新と 呼ぶ.
学習セット並列モデルでは,複数のPEで1wtを並列に計算した後,まとめてwtに加算 するため,(2.3)式は以下のように変形される.
w
t+1
=w
t +
X
j 1w
j
t
(3:17)
ここで,wtjは j番目のPEで計算された1wtであり,PEjが担当する学習パターン数を
N j
l p,学習パターンpによる重みの修正量を1wj;pt とすると(3.18)式で表される.
1w j
t
= N
j
lp
X
p=1 1w
j;p
t
(3:18)
学習セット並列モデルの計算時間の見積りを以下に示す.ここで用いる記号の定義は2.2.3 節と同じである.
フォワード パス
各PEに異なる学習パターンが提示され学習を行うとき,各PEで行われるフォワード パスは通常の誤差逆伝搬学習と全く同じである.したがって,学習セット並列モデルでの フォワード パスに要する時間TFlpP は(3.19)式である.
T lp
FP
= T
FP
= (L+M +N)t
act
+(LM +MN)t
add
+(LM+MN)t
mul ti
(3.19)
バックワード パス
学習セット並列モデルでは,各PEで担当する学習パターンによる重みの修正量を加算 しておき,1Epo ch分の学習が終了したあと各PEが持つ修正量を加算し,その結果をもと に全PEが持つ重みが一斉に変更される.
各PEで加算されてきた重みの修正量はホスト ノード に送られ,そこで加算されて全学 習パターンに対する誤差の修正量を決定後,各PEにブロードキャストすると仮定する.す ると,各PEでは重みの修正量の計算までを行うことになり,学習セット並列モデルでの バックワードパスに要する時間TBPlp は(3.20)式となる.
T lp
BP
=(LM +2MN +M +4N)t
add
+(3LM +4MN +2M+4N)t
mul ti
(3:20)
学習セットを分割して別々のPEで処理するため,Np個の学習パターンを一通り処理す るのに要する時間TFPl p BPは(3.21)式となる.
T lp
FPBP
= N
P
N
PE (T
l p
FP +T
l p
BP )
= N
p
N
PE
f(L+M+N)t
act
+(2LM +3MN +M +4N)t
add
+(4LM +5MN +2M+4N)t
mul ti
g (3.21)
各PEでの学習パターンの処理が修了した後,各PEは計算しておいた重みの修正量を ホストに送り,ホストでこれらを加算して新しい重みを決定し,その結果を各PEに送信 する.各PEが持つ重みの修正量は(LM+MN) 個であるので,重みの更新処理に必要な 時間TUWlp は(3.22)式で表される.
T l p
UW
=(LM +MN)t
add
+2(LM+MN)t
comm
(3:22)
以上より,学習セット並列モデルを用いてNp個の学習パターンを持つ学習セットをNepoch 回学習するのに必要な時間Ttotall p は(3.23)式となる.
T lp
total
= N
epoch (T
l p
FPBP +T
lp
BP )
= N
epoch N
p
N
PE
f(L+M +N)t
act
+(2LM +3MN +M +4N)t
add
PE0 PE1
layer m layer n
i j i j
k k
W m,i n,k
m,j
W n,k
( ,
W m,i n,k
m,j
W n,k
( , )
W m,i n,k
W m,j n,k
W m,i n,k
W m,j n,k
図 3.2: 複数の重みの同時通信と加算
+(4LM +5MN +2M+4N)t
multi g
+N
epoch
f(LM+MN)t
add
+2(LM +MN)t
comm
)g (3.23)
(3.23)式を見ると,通信時間がPE数やメッセージ長に依存しない理想並列計算機では,
PE数NPEを増やせば線型に処理時間が減少するはずである.実際には同期通信のよる処理 のブロックや通信網形態の違いから,PE数に比例した速度向上率が得られない.さらなる 高速化を図るためには,大規模ネットワークでは特に問題となりうる通信回数(LM+MN) を少なくする必要がある.3.2.3節では,通信回数を減らす手法として改良学習セット並列 モデルを提案し,その性能を評価する.
3.2.3
改良学習セット 並列モデル
3.2.2節で述べたように,学習セット並列モデルを用いた並列誤差逆伝搬学習を効率良く
行うには通信回数を大幅に減らさなければならない.そこで,複数の重みをまとめて一度 に通信し,加算を行なう改良学習セットモデルを提案し,その性能について議論する.
複数の重みをまとめて通信するときの概念(配列加算通信)を図3.2に示す.本手法では,
上位層が持つ入力リンクをまとめて通信して加算を行なう.これにより,(3.22)式の通信 時間と重み更新項の係数(LM+MN)は(M+N)となり,PE間通信の影響を減らすこと
Odd number PE: forward pass Even number PE: backward pass
図 3.3: パス並列モデル
ができる.
3.2.4
パス並列モデル
パス並列モデルは,誤差逆伝搬学習におけるフォワード パス,バックワード パスをそれ ぞれ別のPEで処理する手法である.ユニット並列モデルは(2.1)式のm,学習セット並 列モデルは(2.3)式における1wtの計算を並列に行うモデルであるが,パス並列モデルは
(2.1)式のkについて並列化を行うモデルである.
図3.3にパス並列モデルの概念を示す.3層の階層型ニューラルネットワークをパス並列 モデルで並列化した場合,入力層から隠れ層へ活性値を送る間に,出力層から隠れ層へ重 みの修正量を送ることになる.したがって,パス並列モデル単独では大幅な高速化は達成 できないため,ここでは改良学習セット並列モデルと組み合わせて使用した.
次に,パス並列モデルの計算時間について検討する.2.2.3節と同様の定義により,Np個 の学習セットを持つ問題をNPE個のPEを用いて,パス並列モデルに改良学習セット並列 モデルを組み合わせて学習する場合を考える.
パス並列モデルでは,2つのPEを組にしてフォワード パス,バックワード パスを分担
して行う.このため,より長い処理を行うPEの処理時間が各PEの組での処理に必要な 時間である.学習セット並列モデルによる誤差逆伝搬学習のフォワード パスの所要時間は
(3.19)式,バックワードパスでの所要時間は(3.20)式である.(3.19)式より(3.20)式を 引いて式を整理すると,(3.24)式となる.
T l p
FP 0T
l p
BP
= (L+M+N)t
act
+(LM +MN)t
add
+(LM+MN)t
mul ti
0(LM +2MN +M +4N)t
add
0(3LM+4MN +M+4N)t
multi
= (L+M+N)t
act
0(MN +M +4N)t
add
0(2LM +3MN +M +4N)t
mul ti
(3.24)
ここで,L=M =N =nとおき,活性値の計算には乗除算,加減算の20倍の時間が必 要であるとし,t= tact
20
=t
add
=t
multiとおく1.この仮定の元で(3.24)式を簡単化すると 次式が得られる.
T
FP 0T
BP
=0nt(6n049) (3:25)
n > 0;t >0なので(3.25)式が正となる条件は0 <n < 49
6
' 8となり,ネットワーク のユニット数24以上ではバックワード パスの時間の方が長いことが分かる.3.4節での実 験に使用するネットワークで,ノード数24以上のものはencode/decode問題を学習する場 合に該当する.ここでは,バックワード パスに必要な時間が支配的となるencode/decode
問題のような場合について考える.
パス並列モデルでの通信時間は,組となった PE 間で出力層の活性値を送信・受信し,
N
PE
=2個のPEが重み修正量を通信して加算を行い,その結果を全PEにブロード キャス トするだけの時間が必要である.学習セット並列モデルでの解析と同じく,バックワード パスを担当するPEはそれぞれと結合しているホスト ノード に重みの修正量を送り,ホス ト ノードによりそれらを加算,その結果を全PEにブロードキャストするモデルを考える.
フォワード パスを担当したPEがネットワークの出力をを組となるPEに送る通信は全 て並列に行われ,出力値をまとめて一度に通信するときの所要時間はtcommである.バック ワード パスにより重み修正量を計算したPEは,その結果をホスト ノード に並列に送信す る.改良学習セット並列モデルと同様に上位層ユニットが持つ重みをまとめてホストノー
1
nCUBE/2での実測値では,tact
=20,tadd
=t
multi
=1(単位:秒)であった.
ドに送信するとすると,(M+N)tcommの時間が必要になる.ホストが受信した重み修正量 を基に重みを修正するのに必要な時間は(M+N)tadd,新しい重みを全PEにブロード キャ ストする時間は(M+N)tcommである.以上より,ある学習パターンによる重み更新で必要 な時間TUWpp は次式で表される.
T pp
UW
=2(M+N)t
comm
+(M+N)t
add
(3:26)
以上より,パス並列モデルで各PEが割り当てられた学習パターンの学習に要する時間
T pp
totalは(3.27)式となる.
T pp
total
= T l p
BP +T
pp
UW
= (LM+2MN +2M +5N)t
add
+(3LM +4MN +2M+4N)t
mul ti
+(M+N)t
comm
(3.27)
したがって,Np個の学習パターンをNepoch回学習するときの学習時間Tppは(3.28)式 となる.
T pp
=N
epoch 2N
p
N
PE T
pp
total +N
epoch T
pp
UW
(3:28)