NTTがスパコン技術開発に参戦、大規模深層学習を高速化 光通信技術の蓄積を生かしていきなり先頭ランナーに
https://tech.nikkeibp.co.jp/atcl/nxt/mag/ne/18/00001/00091/
2019/07/19 05:00
日経 xTECH/日経エレクトロニクス,野澤 哲生
(無条件公開記事を全文)

【科学(学問)ニュース+】

(写真)NTTの分散深層学習向けアクセラレーター。ボードの奥左側の送受信モジュール2つは、100Gビット/秒の光リンク。黒い台に見えるのはサーバーの筐体(写真:NTT)
https://cdn-tech.nikkeibp.co.jp/atcl/nxt/mag/ne/18/00001/00091/0.jpg

 NTTは2019年6月にドイツで開催された高性能コンピューター(いわゆるスーパーコンピューター)技術の学会「ISC High Performance 2019」で、大規模深層学習を大幅に高速化する光インターコネクト技術を発表した。NTTは光通信技術の開発を長年牽引してきたが、実はスーパーコンピューターのインターコネクトはこれまで手掛けていなかったという。「これまでは長距離通信をいかに大容量にするかに注力していた」(NTT)。今回、その技術をインターコネクトに向けることで、その分野でいきなり先頭に立つ可能性が出てきた。

・流れ作業で待ち時間をなくす
 開発したのは「NTT-Allreduce」という、大規模な深層学習を高速に実行するためのアクセラレーター。データを他のサーバーに高速伝送するインターコネクトの機能と一体になっている。

 一般に、大量の演算を高速化しようとする際、処理の並列化が効果的だ。ただ、その効果が上がりにくい例もある。深層学習はその典型。深層ニューラルネットワーク(DNN)を並列に切り分けることは原理上できないからだ。そこで、「分散深層学習」という手法が開発されている。これには「AllReduce」と呼ぶアルゴリズムを利用する(図1(a))注1)。具体的には、並列処理する数だけ、同じDNNを用意し、学習データを分割して学習させる。ただし、これだけでは各DNNは一部のデータしか学習していないため、学習結果(具体的には得られたDNNの各層の重みデータなど)をDNN間で集約して加算・平均化し、それを再び各DNNに分配して共有する、といった手続きをとる。

(画像)図1 リング型接続で分散深層学習の通信遅延を大幅低減
深層学習を並列処理する際の基本的な手法「AllReduce」とその課題(a)を示した。ただしこの手法では、並列度が高まると集約(reduce)と分配(gather)の際の通信オーバーヘッドが非常に大きくなる課題がある。これを解決するのが、リング型のAllReduce(b)。NTTはreducerを、サーバーのCPUやGPUではなく、リング型の光インターコネクトを担うアクセラレーターに実装する形で通信オーバーヘッドの大幅低減を実現した。
https://cdn-tech.nikkeibp.co.jp/atcl/nxt/mag/ne/18/00001/00091/1.jpg

注1)「AllReduce」という表現は、大規模並列計算のプロトコル「Message Passing Interface(MPI)」で使われる用語。演算器1つに演算結果を集約(reduce)した後、残りの演算器すべてに結果を分配することを「AllReduce」と呼ぶ。ちなみに、分配は「gather」。すべての演算器にデータを分配することは「AllGather」という。

 しかし、この手法は学習データを集約、分配する際の通信オーバーヘッドが非常に大きく、並列度が高いと有効性が低い課題があった。

 一方、NTT-Allreduceでは、サーバー間の接続トポロジーをリング状にした上で、加算や分配といったデータ処理をサーバー機のCPUコアやGPUとは切り離してアクセラレーターで実行する注2)。リング上のアクセラレーター全体で、加算や分配などのデータ処理をパイプライン(流れ作業)化することで通信オーバーヘッドを隠蔽している。

注2)分散深層学習向けリング型AllReduceは2017年2月に中国Baiduが発表しているが、NTTは今回の技術を独自に開発したものだとする。「リング型のAllReduce自体、大規模並列計算機の世界では以前からあったもの。今回の技術はBaiduとは実装レベルで大きく違う」(NTTの坂本氏)。例えば、Baiduはツリートポロジーを持つInfiniBandの上に論理的なリングをソフトウエア(ライブラリー)で実現した。一方、NTTはハードウエア(アクセラレーター)を使い、しかも物理的なリングを構築した。また、Baiduは比較的大きなデータの加算と分配を逐次的に処理しているため、そのデータのリング2周分の遅延が発生するが、NTTは数Kバイトという小さいデータを基に、加算と分配を逆回りの並列処理にすることで遅延がずっと少ない、といった点だ。

この先は有料会員の登録が必要です。
「日経エレクトロニクス」定期購読者もログインしてお読みいただけます。

日経 xTECH/日経エレクトロニクス
https://tech.nikkeibp.co.jp/