テクノロジー

MPIを用いた深層学習の高速化

hamuchu's icon'
  • hamuchu
  • 2019/01/10 05:29

まえがき

本研究では、深層学習の計算にMPIを用いて、どの程度高速化できるかの検証を行なった。並列処理可能なアルゴリズムで排他的論理和の計算を3層のニューラルネットワークに学習させた。その結果、同じ時間の長さで比較した場合、並列処理を行わなかった場合に比べ、並列化を行なった場合により学習の収束が早くなることがわかった。

研究の目的

 本研究では、深層学習の学習部分を、並列処理を行うことでどの程度高速化できるかを調査することを目的とする。

実験環境

 実験では、コアが4つ搭載してあるIntel Core i7のCPUを使用した。オーバークロックの機構が搭載してあるので、実験で正確な評価はできなかった。使用言語はC言語である。

処理のフローチャート

 今回の実験では、MPIの初期化と学習に必要な変数などの初期化を行った後に、学習を行い、処理時間を評価した。

処理時間については、初期化に要した時間と学習に要した時間を別々に評価した。

 学習の方法は、複数のコアで別々に学習を行い、重みの更新量を求め、1エポックごとに重みの更新量を同期するようにした。それぞれのコアでニューラルネットワーク全体の重みの更新量が求まり、同期の際には同じ位置に相当する重みの更新量をコア数分単純に足し合わせ、元のニューラルネットワークの重みを更新する。その処理をフローチャートでまとめた図を以下に示す。

実験

以下に述べる全ての実験では、排他的論理和を3層のニューラルネットワークに学習させることを目的としている。入力は2つで、中間層には20ノードを割り当てた。各コアで計算した重みの更新量が同一にならないように、入力データには0から0.1までの範囲でノイズとなる乱数を加えた。また、コアが1つの場合の実験結果は、MPIを使用しない場合と比べ、MPIを使用した場合により短い処理時間となったので、そちらを採用した。

 まず、一つ目の実験ではコア数を1個から2個、4個まで増やして強スケーリングの実験を行った。学習では、1000000エポックの計算をさせた。トレーニングデータの総数は16個で、一つのコアが担当するトレーニングデータはその数を稼働している全てのコア数で割ったものである。実験結果を以下に示す。

実験結果から、コア数を増やすと処理時間が短くなることがわかった。しかしながら、1コアから4コアにした場合に単純に計算速度が4倍になるわけではなかった。

また、MPIの初期化や変数の初期化に要した時間は1コアの場合0.008172秒、2コアの場合0.009878秒、4コアの場合0.013155秒である。

 次に、弱スケーリングを評価する実験を行う。今回の実験でも同様にコア数は1個から2個、4個まで増やし、1000000エポックの計算をさせた。問題サイズについては、1コアにつき4つのトレーニングデータを担当させた。データの種類は排他的論理和を表すのに必要な4種類の入力データに乱数を加えたものとなっており、

4種類*4セットのデータとなっているので基本的には不変である。

実験結果を以下に示す。

実験結果から、1コアの場合と4コアの場合であまり処理

時間が変わっていないことから、弱スケーリングで評価した場合でも、高速化ができていることがわかる。

 最後に、学習の収束具合について述べる。トレーニングデータの総数は16個で、一つのコアが担当するトレーニングデータの数は16個を稼働している全てのコア数で割ったものである。以下に実験結果を示す。

図からわかるように、1 コアで学習させた場合よりも、2 コア、4 コアで学習させた場合により収束が早くなる傾向がある。それに加え、1000000エポックの学習に掛かる時間はコア数が多い場合により短くなる。ゆえに、深層学習を分散して行った場合により収束が早くなると言える。

結論

 本研究では、強スケーリング、弱スケーリング共にある程度の高速化ができていることがわかった。また、1000000エポックの学習をさせた場合の収束具合は、コア数を1個から2個、3個に増やした場合でも問題なかった。

以上のことにより、深層学習を並列化することにより、高速化することができたと言える。

公開日:2019/01/10
獲得ALIS:38.17
hamuchu's icon'
  • hamuchu
  • @hamuchu
Kanazawa AI Meetup/Co-Founder
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

「ハッシュ」とは何なのか、必ず理解させます

Like token Tip token
0.10 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
120.79 ALIS
Eye catch
クリプト

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

Like token Tip token
159.32 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
クリプト

スーパーコンピュータ「京」でマイニングしたら

Like token Tip token
1.06k ALIS
Eye catch
クリプト

ブロックチェーンの51%攻撃ってなに

Like token Tip token
0.00 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
テクノロジー

彼女でも分かるように解説:ディープフェイク

Like token Tip token
32.10 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
テクノロジー

オープンソースプロジェクトに参加して自己肯定感を高める

Like token Tip token
85.05 ALIS
Eye catch
テクノロジー

なぜ、素人エンジニアの私が60日間でブロックチェーンゲームを制作できたのか、について語ってみた

Like token Tip token
270.93 ALIS
Eye catch
テクノロジー

iOS15 配信開始!!

Like token Tip token
7.20 ALIS