ニュース

PFNのスパコン「MN-3」、省電力性能ランキングで世界2位に

~26.04Gflops/Wの省電力性能を実現

 ディープラーニング(深層学習)を中核技術としたスタートアップ・株式会社Preferred Networks(プリファード・ネットワークス、略称 PFN)が自社開発した深層学習用スーパーコンピュータ「MN-3」が省電力性能ランキング「Green500」で2位にランキングされた。前回2020年6月版では1位だった。なお1位は米国NVIDIAのDGX SuperPOD。

 「MN-3」は、PFNと国立大学法人神戸大学が、理化学研究所AICS/R-CCSの協力のもとに共同開発した深層学習用プロセッサー「MN-Core」を搭載したスパコン。国立研究開発法人 海洋研究開発機構(JAMSTEC)の横浜研究所シミュレータ棟に設置されており、2020年5月より稼働を開始した。

 2020年6月には世界で最も高性能なスーパーコンピュータ500台のリスト「Top500」にランク入りした。そしてその500台を省電力性能で並び替えた「Green500」の2020年6月版では、21.11Gflops/Wを記録し省電力性能世界1位を獲得していた。そして今回、さらに実効性能を強化。電力効率は前回比で2割以上、計算効率は前回比で10ポイント以上改善し、前回の21.11Gflops/Wを23.3%上回る 26.04Gflops/Wの超省電力性能を実現し、消費電力あたりのスパコン性能を競う「Green500」2020年11月版で2位となった。

現在のスパコンは2040年の家庭用コンピュータ。Top500/Green500の意義

PFNシニアリサーチャー 平木敬氏

 同ランキング発表前日である11月16日にPFNは記者説明会を開催。スーパーコンピュータ業界全体の現状や省電力性能の重要性をはじめとした背景や、今回の成果について解説を行なった。最初に、東大名誉教授でPFNシニアリサーチャーの平木敬氏がTOP500、Green500の意義を改めて紹介した。

 Top500は世界のスパコンのプログラム実行時の最高性能による順位リストで、Green500はそのシステム性能を消費電力で割って、電力あたり性能を求めて順位リストにしたもの。

 Top500は、一次方程式の解を求める総演算回数を、計算に要した時間で割ることで、ベンチマークテストであるLinpackにおける平均計算速度を求める。なお性能については自己申告制。1993年に始まり、以後毎年、6月と11月に更新されている。

 HPL(High Performance Computing Linpack)を測る意義はどこにあるのか。HPLプログラム実行の大部分は行列積演算だ。行列積は多くの科学技術計算で実行される計算なので、HPLは科学計算が高速にできることを示す。またHPLはシステムにとっても過酷であり、消費電力が最大になる。そのため電源と冷却システムがちゃんと動いているかチェックができる。数値計算なので正解がわかっており、そのため計算の正確性も確認することができる。そのため平木氏はHPLには大きい意義があると考えていると述べた。

 スパコンの応用分野は変化してきた。1960~1970年代はおもに流体シミュレーションや有限要素法の大規模計算に用いられていた。スパコンのアプリケーションが航空機の設計、天気予報、原子炉の設計などだったからだ。1970~1980年代ではより複雑なシミュレーションができるようになり、自動車、製薬、天文現象の解明などに用いられるようになった。

 2000年頃には近似を用いず原理方程式から直接シミュレーションを実行する第一原理計算や、量子計算機のシミュレーションが行なわれるようになった。数値でない計算の重要性も増してきた。遺伝子解析、自然言語処理、ゲームなどで、グラフ理論に基づく計算、大規模探索問題、制約充足問題などもスパコンで行なわれるようになった。

 さらに近年、ディープラーニングが登場した。多層ニューラルネットワークを用いた学習・推論・弁別が行なわれるようになった。これは大きな計算力の飛躍だったという。そして画像理解、自然言語理解、自動運転など、社会に直接関係があるような応用分野が広がってきた。ディープラーニングのコアは行列演算だ。Linpack計算の核は行列演算であり、HPL性能は再び、実際的意義を持つようになったと平木氏は続けた。ただしディープラーニングの場合、大規模である必要はなく、実際には中規模くらいのシステムに意義があるという。

 過去10年のTop500、Green500の推移を見ると、1Wあたりの性能向上は10年ちょっとで10倍を越す高速化が実現しており、スパコンの性能向上の大きな部分は電力効率の向上に基づいていることがわかる。そして将来を考えると省電力効率を上げることが重要だ。

Top500の推移
Green500の推移

 なぜなら、今後はディープラーニングの適用範囲が拡大し、クラウドによる学習だけではなく、自動車車載機器、家庭内エッジデバイスでの学習などが行なわれるようになると考えられるからだ。クラウドから切り離して学習するためには電源もAC電源から大型バッテリ、さらに小型バッテリで動作する計算機でも学習できるようにならなければならない。そのためには省電力化が重要であり、省電力化により学習がエッジ側でできるようになるという。

 スパコンの性能は3つの壁で制約があるという。電力、信頼性、コストだ。電力は将来でも100MW程度が限界だと考えられる。また多数のプロセッサを安定動作させるのは難しい。コストにおていも、今だいたい500~1,000億円程度だが、1兆円のスパコン実現は難しい。いかにコストを下げるか、そのなかでも電力はとくに重要だと平木氏は再び強調した。なぜなら「今日のスパコンは20年後の家庭内コンピュータ」だからだ。

 2000年11月にTop500のNo.1計算機のピーク性能は12TFLOPSだったが、2020年6月のMN-Coreの1チップのピーク性能は32TFLOPS。2040年に家庭で使われてるコンピュータは現在のナンバーワン計算機くらいの性能を持っている可能性が高く、社会にディープラーニング技術を導入していくためには消費電力を下げることは最重要課題だとまとめた。

計算機で省電力化によりディープラーニングがエッジで行えるようになる
今日のスパコンは20年後の家庭内コンピュータ

「MN-Core」の設計思想。理論限界に近づけることが重要

神戸大学大学院 理学研究科教授 牧野淳一郎氏

 続けてPFNと「MN-Core」を共同開発した神戸大学大学院理学研究科教授の牧野淳一郎氏が「MN-Core」の設計思想について解説した。PFNのメインのターゲットはディープラーニングだ。目標は多くのディープラーニングアプリケーションに対して、原理的に最高に近い電力あたり性能を実現し、シリコン面積あたり性能でもトップクラスにすることを目指した。同時に、メインターゲットではないが、従来のアプリケーション(科学技術計算)でも一定性能が出せるようにすることを目指した。

 従来の計算機は基本的にフォン・ノイマンアーキテクチャにのっとって設計されている。演算機やレジスタを搭載したCPUと、プログラムやデータを搭載したメモリからなり、メモリから命令を1つ読んでそれを解釈して、演算器で実行するというステップになっている。この従来型では逐次処理なのでなかなか高速化は難しい。

従来のプロセッサ設計

 そのためたくさん計算を実行するために、CPUの数を増やす、CPU上の演算器を増やす、複数の命令を同時に実行する、1つの命令が終わる前に次をはじめる、プログラムやデータをキャッシュメモリに置くといったアプローチが行なわれてきた。その結果、ハードウェアの設計は非常に複雑、大規模になり、チップ上では演算器以外の回路、スケジューラーやメモリなどが占める面積が大きくなってしまっている。

演算器以外がCPU面積の大半を占めるように

 これに対して「MN-Core」は、演算器に対して、ディープラーニングなど実行したい計算に対して、必要最低限のレジスタ、演算器間ネットワーク、外部メモリインターフェイスを設計する。そしてメモリから演算器にデータが流れてきて処理を行ない、プログラムは各ユニットのあいだのデータの流れを制御するものとした。こうすることで、プログラムを書くのは大変だが、高い効率を実現できるようになるという。

プログラムは各ユニット間のデータの流れを制御する

 牧野氏は、業界でよく言われる実効効率はプロセッサ自体の効率とはなっていないと述べた。「設計プロセッサ自体の効率とは何かを考えないといけない」という。プロセッサ自体の効率は、計算機が使った電力のうち演算回路が本当に使った部分の割合や、チップ面積のうち演算回路が本当に使う部分の割合が1に近ければ近いほど理想的であり、電力・半導体面積いずれにおいても無駄が大きい設計では意味がない。

 そしてこの基準では通常のプロセッサの効率は0.01~0.1くらいに留まっているに対して、「MN-Core」は0.5くらいまで持ってきているという。牧野氏は「目標は強豪に勝つことではなく、理論的な限界を意識してそこまで持っていくこと。1までは遠いが、近づいたと見ている」と語った。

重要なことは理論限界に近づけること

「MN-3」開発のポイント

株式会社Preferred Networks執行役員・計算基盤担当VPの土井裕介氏

 次にPFN執行役員・計算基盤担当VPの土井裕介氏が「MN-3」開発のポイントについて語った。PFNは製造業や自動運転、ヘルスケア、エンタメなど多様な事業領域を持ち、こういった事業ドメインに対して2つの技術となるコンピュータビジョンとデータ解析を提供している。そしてディープラーニングやシミュレーションなどに用いる計算力を供給するために、自前でインフラを持って、事業を支えている。

PFNの事業領域

 キー技術はディープラーニングだ。最先端の研究はモデルサイズが増加、つまり計算力が要求されるようになっている。たとえば画像は動画や立体になり、高精細化している。画像が高精細化すると計算量は二乗以上で増えていく。また言語処理モデルもディープラーニングで計算されており、これらも大規模化の傾向にある。

 また、ニューラルネットワークのアーキテクチャ自体をニューラルネットワークに探索・最適化させる「Neural Architecture Search(NAS)」といった技術が注目を集めている。こういった技術が一般化していくと、計算力がボトルネックとなる。すなわち計算力の強化が技術競争力の強化に直結する。

計算力の強化が技術競争力の強化に直結する時代

 土井氏は改めて「MN-Core」の概要を紹介した。MN-Coreは超大規模なSIMD(Single Instruction, Multiple Data、単一命令・複数データ)型プロセッサ。チップないは階層型通信アーキテクチャとなっており、大規模な計算を非常に高効率に行なうことができる。またなるべく余分なものを積まない構成であり、性能向上が容易な構造となっている。

MN-Core

 SIMD型プロセッサのプログラミングについて土井氏は、要するに、たくさんある計算ユニットに対して効率よく動作させるにはどうすればいいかという問題だと紹介。計算ユニットを高効率で動作させるためには、到着してないデータの計算はできないので、計算結果をタイミングよく集めなければならず、データ回収タイミングも重要になる。ホストからデータを配って回収をするといった手続きもタイミングよく行なわなければならない。このようなプログラミングは難しいという。

SIMD型プロセッサのプログラミング

 なぜPFNがハードウェアを自社で開発しているのか。PFNはもともとソフトウェアの会社で、フレームワークを自社で作ることができるレベルでディープラーニングを理解している。「Chainer」開発はいったん終了し、現在は「PyTorch」を拡張するかたちだが、必要なフレームワークは今も開発しており、ソフトウェアのエコシステムのなかに「MN-Core」を位置付けて開発が行えていると土井氏は述べた。

自社開発のプロセッサを活かすプログラム開発を行なっているという

 実際の計算機クラスタは「zone 0」と「zone 1」にわかれており、今回は「zone 0」のみを使用した。「zone 0」は32ノード、128台のMN-Coreを搭載している。電力効率は前回比で2割以上、計算効率は前回比10ポイント以上の改善となった。

「MN-3」。今回は「zone 0」のみを使用

 2020年6月のランキングの時はスケジュール的に厳しく、動作させることを優先させた面があり、実際にはまだまだ性能的な最適化余地がたくさん残っていたという。そこで今回、「MN-Core」の特性を考えてソフトウェアの最適化を行なった。具体的にはソフトウェアのあちこちで実効スケジュールの改善や、内部ルーチンの分割方法の改善を行なった。計算結果から順繰りに通信を行い、ひたすら計算ができるようになり、より効率が上がったという。

ソフトウェアの最適化を実行

 土井氏は最後に、今回の成果について「いわば製造業の生産現場で起きているようなことをミクロのスケールで行なった」と述べ、MN-Coreの実効性能の高さと、ソフトウェアできちんとそれを活かせられる確認ができたとまとめた。

 いっぽう、PFNとしてはHPLが行いたいことではなく、あくまでディープラーニングに活用することが重要だと強調。次のステップの課題としては、ソフトウェアスタックの効率・安定性向上だとし、「ディープラーニングはいろんなワークロードを受け入れないといけないためソフトウェアも柔軟な書き方になっている。詰めるのは難しいがやっていかないといけないと考えている」と述べた。おもな用途としては、画像認識を考えているという。

今回の成果の意義と課題