超大規模ニューラルネットワークの学習が飛躍的に簡単に

2021年3月31日
国立研究開発法人情報通信研究機構(NICT)
国立大学法人東京大学

ポイント
■ 自動並列化深層学習ミドルウェアRaNNCを開発、オープンソースで公開開始
■ 高度な知識と大きな作業コストを要する大規模ニューラルネットワークの学習が飛躍的に簡単に
■ 深層学習の大規模化を容易にし、多様なAIシステムの更なる性能向上が期待される

 国立研究開発法人情報通信研究機構(NICT、理事長: 徳田 英幸)と国立大学法人東京大学(総長: 五神 真)は、自動並列化深層学習ミドルウェアRaNNC(Rapid Neural Net Connector)を開発し、2021年3月31日に公開を開始しました。近年、大規模化が進んだ深層学習におけるニューラルネットワークの学習では、複雑なネットワークの定義を書き換え、GPUのメモリに収まるように人手で分割する必要がありました。今回公開するRaNNCは、ニューラルネットワークを自動的に分割することにより、複数のGPUを用いた並列学習を容易に実現します。大規模ニューラルネットワークの定義を書き換えずに分割を自動化できるソフトウェアは、世界にも例がありません。
 RaNNCのソースコードはGitHubに公開されます(URL: https://github.com/nict-wisdom/rannc)。ライセンスはMITライセンスであり、ダウンロードしていただければ、商用目的を含め、無償でご利用いただけます。

背景
 近年の研究で、深層学習において、ニューラルネットワークの大規模化が大幅な性能向上をもたらすことが知られるようになり、これまでにない大規模なニューラルネットワークが次々に提案されています。深層学習では、計算の高速化のためGPUを用いることが一般的ですが、2020年に提案されたGPT-3規模のニューラルネットワークの学習には、数千枚のGPUが必要とされています。このような大規模ニューラルネットワークによる深層学習の高性能化には、大量のGPUを効率よく使用できる、大規模ニューラルネットワークの並列計算の技術が重要になります。
 従来の大規模ニューラルネットワークの学習では、GPUのメモリに収まるようにニューラルネットワークを分割するため、複雑なニューラルネットワークの定義を大幅に書き換える必要がありました。しかし、これには高度な知識と大きな作業コストを要するため、これまで大規模ニューラルネットワークの学習を実施できる組織はごく限られていました。

今回の成果
 今回公開するRaNNCは、大規模ニューラルネットワークの学習を容易にするためのミドルウェアで、NICTデータ駆動知能システム研究センターと東京大学情報基盤センターとの共同研究によって開発されました。
                  
【画像:https://kyodonewsprwire.jp/img/202103313104-O1-6F39F7Ty

 RaNNCは、代表的な深層学習ソフトウェアであるPyTorchのために記述された既存のニューラルネットワークの定義を与えられると、実行速度を最適化しつつ、各々のGPUのメモリに収まるように、自動的にニューラルネットワークを分割した上で、データ並列・モデル並列のハイブリッドによって、複数のGPUを使い並列に学習を行います(図1参照)。開発者がニューラルネットワークの定義を書き換えて分割できるようにする必要がないため、大規模ニューラルネットワークの学習が飛躍的に容易になります。また、既存ソフトウェアのMegatron-LMやMesh-TensorFlowは、BERT等の特定のタイプのニューラルネットワークにしか使用できないという制限がありますが、RaNNCは適用できるニューラルネットワークの種類に基本的に制限がないという点で優れています。

 NICTの計算機環境における比較実験では、RaNNCはMegatron-LMより約5倍の規模のニューラルネットワークの学習が可能な一方、同一の規模のニューラルネットワークでは、ほぼ同等の学習速度を実現しています。なお、この成果は、並列分散処理分野におけるトップレベルの国際会議であるIPDPS(IEEE International Parallel and Distributed Processing Symposium)に採択されています。また、RaNNCの概要は、GPU テクノロジカンファレンス(GTC)(2021年4月12-16日開催)で発表予定です。
 NICTデータ駆動知能システム研究センターでは、これまで収集してきた高品質な日本語テキスト約350 GBを学習データとし、RaNNCを用いて、BERTを約50億パラメータ(原論文の15倍)に大規模化したニューラルネットワークを学習しています。こうした規模のニューラルネットワークを、ネットワークの定義を書き換えて分割できるようにする手間なしに、自動分割し、並列で学習させるソフトウェアは、我々の知る限り世界にも例がありません。
 RaNNCのソースコードは、GitHubに公開されます。ライセンスはMITライセンスのため、ダウンロードしていただければ、商用目的を含め、無償でご利用いただけます。(URL: https://github.com/nict-wisdom/rannc

今後の展望
 NICTデータ駆動知能システム研究センターでは、大規模Web情報分析システムWISDOM X、高齢者介護用マルチモーダル音声対話システムMICSUS、次世代音声対話システムWEKDA、対災害情報分析システムDISAANA、災害状況要約システムD-SUMMなど多数のシステムを開発し、一般公開や民間企業へのライセンスを行っています。これらのシステムでは様々なニューラルネットワークが使用されていますが、RaNNCを用いて学習された、より大規模ニューラルネットワークをこれらのシステムで利用することで、更なる性能向上が期待されます。
 また、RaNNCはオープンソースソフトウェアとしてMITライセンスで一般公開されるため、深層学習を用いたシステムを開発する多くの組織で、大規模なニューラルネットワークの学習が可能になり、様々な技術や製品、サービスの開発が幅広く促進されることが期待されます。

各機関の役割分担
・NICT: RaNNC全体の開発、動作検証、評価
・東京大学: RaNNCの高速化

情報提供元: PRワイヤー
記事名:「 自動並列化深層学習ミドルウェアRaNNC(ランク)をオープンソースで公開