全4878文字
PR
この記事は日経Robotics 有料購読者向けの記事ですが
日経Robotics デジタル版(電子版)』のサービス開始を記念して、特別に誰でも閲覧できるようにしています。
本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です
本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です

 2020年6月、International Supercomputing Conference (ISC 2020)で発表されたスーパーコンピュータの世界ランキングにおいて、著者が所属するPreferred Networks(PFN)のスーパーコンピュータMN-3が電力あたりの演算性能(省電力性能)を競うGreen500において1位を獲得した(図1)。

 また、同時に発表された他の計算性能を競うTOP500など4部門では理化学研究所のスーパーコンピュータ「富岳」が1位を獲得し、全部門を日本発のスーパーコンピュータが独占することとなった。

著者の岡野原大輔氏
著者の岡野原大輔氏
[画像のクリックで拡大表示]

 MN-3は深層学習向けアクセラレーターMN-Coreを内部で使っており、PFNが2018年12月にSEMICON Japan 2018で発表して以来、実装、検証を進めていたものである。

 本稿では、なぜ深層学習向けアクセラレーターの開発が進められているか、MN-3はどのような特徴があるのかについて解説していく。

図1 PFNのスーパーコンピュータ「MN-3」の外観
図1 PFNのスーパーコンピュータ「MN-3」の外観
2020年5月から稼働している。(写真:PFN)
[画像のクリックで拡大表示]

計算性能の向上がAIを進化させる

 本連載 AI最前線の第46回「強化学習の創始者が投げかけたAI研究の苦い教訓」でも紹介したように、計算性能の向上とAIの進化は密接な関係にある。AIの進化において最も重要な貢献を果たしてきたのが計算性能の改善といっても過言ではない。

 チップの集積度が1年半で倍になるというMoore(ムーア)の法則により、計算性能が毎年指数関数的に向上し、計算あたりのコストが下がるという現象はCPUなど汎用向けチップでは終焉を迎えたが、特定用途チップ、例えばGPUなどではある程度維持されている。例えばGPUの半精度浮動小数点計算あたりのコストは過去4年間で1/10に下がっている1)

 その一方で、OpenAIのブログ記事「AI and Compute」2)で挙げられたように、現在最先端のAI研究に必要な計算リソースは3.4カ月毎に倍のペースで増えている。例えば2020年6月に発表されたGShard3)は6000億パラメータからなるモデルであり、機械翻訳向けのモデル(Mixture of Expertsを使ったTransformer)を2048個のTPU v3(2pod、200PFLOPS相当)で4日で学習させている。これでも学習効率は劇的に効率化されており、その前のGPipeではこれより小さなモデルで学習に6週間必要であった。最も計算コストをかけたモデルの1つとみられるGPT-34)は3640PFLOPS ×日(NVIDIA社のV100 1000台で数百日相当)で学習したと報告している。

 こうしたトレンドは学習手法が教師あり学習手法から自己教師あり学習やシミュレーションを使った学習に代わるにつれ、学習データはいくらでも入手可能になったことが後押ししている。また、学習データが大きい場合、大きいモデルを使った方が汎化性能が高いということが実用的にも理論的にもわかってきている。

 こうした学習規模、モデルの巨大化は研究的にはよいかもしれないが商業的にはどうだろうか。一度大きなコストをかけて学習できれば、その後モデルはいくらでもコピーして利用できるため、学習コストは利用分だけ償却できる。さらにはモデルの多くは学習が終われば圧縮や蒸留をしたりして小さくできる場合も多い。それならば最初から小さなモデルを学習すればよいと思うがそれは難しい。大きなモデルを利用した方が最適化が簡単であるためだ。クラウドサービスで利用する場合は大きなモデルを低価格で使うといったことも可能となる。例えばGPT-3もAPIで利用できるようになっている。Mixture of Expertsのようにモデルの一部分だけを使うconditional computationなどの概念を使えばモデル自体は大きくても推論時のコストを大幅に抑えられる。

 とはいえ、学習コストは非常に大きい。計算機自身だけでなく計算に要する電力費用が高額になるためだ。例えば、GPT-3の学習1回にかかったコストは12億円(1ドル100円換算)程度とみられている5)。多くの研究ではここまでいかないにしても、研究開発や製品開発においてはこの学習を何回も繰り返すことを考えるとコストは大きなものとなる。

 そのため、深層学習向け専用アクセラレーターの開発が待望されてきた。従来のCPU(汎用目的計算)に比べて深層学習のワークロードは単純といえる。CPUでは重要だった分岐予測、深いキャッシュメモリ、TLB(仮想記憶)の制御は必要なく、逆に行列、ベクトル演算、畳み込みカーネル計算、線形代数で必要な操作が重要である(一方、GPUは徐々に深いキャッシュ、仮想記憶をサポートしつつある)6)。また、深層学習は計算精度を落とすことに比較的寛容であり、半精度(FP16)やそれより低い精度でも工夫をすれば計算できる。こうした特徴にフォーカスした設計にすることで計算効率の良いチップが開発できる。Google TPU、Graphcore、Cerebras、Intel Habanaなどがある。ほかにもAlibaba社、Huawei社、Esperanto Technologies社、Groq社など世界で100近くの企業がチップを開発しているとみられる(例7))。PFNもそのうちの1つで、MN-Coreの開発を進めてきた。

MN-Coreの開発

 ここからはPFNが開発している深層学習向け専用アクセラレーターMN-Coreについて解説する。MN-Coreはもともと2006年に、現在PFNの平木敬氏(当時東京大学教授)と神戸大学 教授の牧野淳一郎氏(当時東京大学助教授)が始めた「GRAPE-DRプロジェクト」が源流としてある8)。PFN代表取締役社長の西川徹氏が平木研究室の学生としてプロジェクトに参加し、MN-Coreの開発チームリーダーである名村健氏が、当時開発を担当していた。GRAPE-DRは2010年にGreen500の前身のLittle Green500で1位をとり、それからちょうど10年後に再度獲得したことになる。

 MN-Coreは倍精度浮動小数点演算(以下「小数点演算」は省略)で32.8TFLOPS、単精度で131TFLOPS、半精度では524TFLOPSの性能が出せるよう設計されている。電力あたり性能を重視して設計されており、半精度で1TFLOPS/Wを達成できるように設計されている。4つのダイが1つにパッケージされている。

 チップは巨大なSIMD(Single Instruction Multiple Data)プロセッサであり、単一の命令ストリームを受け取り、それを複数のデータに対して並列に実行していく。また、ブロードキャスト/集約などを効率的に実現する階層的なオンチップネットワークを備えている。

 近年のチップは計算能力の向上に対し、メモリ帯域向上/レイテンシ短縮が追いつかない“Compute Gap”が問題となっている。計算能力の向上が著しいMN-CoreではCompute Gap問題が顕著となっている。ニューラルネットワークの各層の演算は、活性値とネットワークのパラメータをメモリから読み込み、行列積、畳み込み演算を行い、要素ごとの演算を行い、結果をメモリに書き込む。MN-Coreはメモリ帯域への負担を抑えるための工夫をハードウエアにもソフトウエアにも行っている。

 このMN-Core上でPyTorchで書かれた深層学習モデルをそのまま動かすことができるようなソフトウエアスタックも同時に開発している。これにより、一度深層学習モデルのコードを書けば、あとは様々なチップ上(GPU、MN-Core、CPUほか)で利用できるようにすることを目指している。

MN-3とGreen500

 このMN-Coreを使ったスーパーコンピュータMN-3は海洋研究開発機構(JAMSTEC)横浜研究所シミュレーター棟に設置され2020年5月より稼働している。現在、48の計算ノードからなり、各ノードは4つのMN-Coreボードを搭載し、MN-Core DirectConnectとRoCEv2で接続されている。

 このMN-3を使って、TOP500、Green500に参加した。TOP500、Green500はLINPACKとよばれる連立一次方程式を解くベンチマークであり、TOP500は全体の性能で競い合うのに対し、Green500はTOP500に入ったシステムの中から(なので小さすぎるシステムは対象ではない)、計算あたりの電力消費量が最も少ないシステムを評価する。現在のチップの運用コストの大部分は使用電力量や熱で決まる。また、高速化のボトルネックも熱であり、計算あたりの電力消費量を下げることは経済的にも技術的にも重要な課題となっている。

 MN-Coreはもともと深層学習アクセラレーター向けに作られており、TOP500で利用されるようなワークロード向けに最適化して作られてはいなかった。それでも、MN-3は21.11GFLOPS/Wを達成、最高性能は1.62e+6 GFLOPS、平均消費電力量は76.8kWであった。Green500においてTOP500のシステム中1位を獲得した。

本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です
本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です

 Green500に向けては新型コロナウイルス感染の拡大に伴い、部品調達や計算機のクラスタ設営が想定通り進まず、またチップやソフトウエア開発においても多くのトラブルが発生する中、プロジェクトメンバーが一丸となり、スケジュール的にかなり難しいとみられていた状況で結果を出すことができた。今回の結果はMN-CoreやMN-3の目指す方向を強く支持してくれるものだと思う。

 PFNではMN-Core上で深層学習ができる環境を整え、深層学習の研究開発を加速させていくとともに、様々な応用を見据えて開発を進めていきたいと考えている。

1)2019 recent trends in GPU price per FLOPS, https://aiimpacts.org/2019-recent-trends-in-gpu-price-per-flops/
2)AI and Compute, "https://openai.com/blog/ai-and-compute/"
3)D. Lepikhin et al., “GShard: Scaling Giant Models with Conditional Computation and Automatic Sharding,” https://arxiv.org/abs/2006.16668
4)T. B. Brown, “Language Models are Few-Shot Learners,” https://arxiv.org/abs/2005.14165
5)https://venturebeat.com/2020/06/01/ai-machine-learning-openai-gpt-3-size-isnt-everything/
6)J. Dean et al., “The Deep Learning Revolution and Its Implications for Computer Architecture and Chip Design,” https://arxiv.org/abs/1911.05289
7)https://github.com/basicmi/AI-Chip
8)http://grape-dr.adm.s.u-tokyo.ac.jp/
岡野原 大輔(おかのはら・だいすけ)
Preferred Networks 代表取締役 最高執行責任者
岡野原 大輔(おかのはら・だいすけ) 2006年にPreferred Infrastructureを共同創業。2010年、東京大学大学院博士課程修了。博士(情報理工学)。未踏ソフト創造事業スーパークリエータ認定。東京大学総長賞。