情報通信研究機構(NICT)と東京大学は、自動並列化深層学習ミドルウェアRaNNC(ランク:Rapid Neural Net Connector)を開発し、2021年3月31日に公開を開始した。
近年、大規模化が進んだ深層学習におけるニューラルネットワークの学習では、複雑なネットワークの定義を書き換え、GPUのメモリに収まるように人手で分割する必要があった。
今回公開するRaNNCは、ニューラルネットワークを自動的に分割することにより、複数のGPUを用いた並列学習を容易に実現する。
大規模ニューラルネットワークの定義を書き換えずに分割を自動化できるソフトウェアは、世界にも例がない。RaNNCのソースコードはGitHubに公開される(URL: https://github.com/nict-wisdom/rannc)。ライセンスはMITライセンスであり、ダウンロードにより、商用目的を含め、無償でご利用できる。
今回公開するRaNNCは、大規模ニューラルネットワークの学習を容易にするためのミドルウェアで、NICTデータ駆動知能システム研究センターと東京大学情報基盤センターとの共同研究によって開発された。
RaNNCは、代表的な深層学習ソフトウェアであるPyTorchのために記述された既存のニューラルネットワークの定義を与えられると、実行速度を最適化しつつ、各々のGPUのメモリに収まるように、自動的にニューラルネットワークを分割した上で、データ並列・モデル並列のハイブリッドによって、複数のGPUを使い並列に学習を行う。
開発者がニューラルネットワークの定義を書き換えて分割できるようにする必要がないため、大規模ニューラルネットワークの学習が飛躍的に容易になる。
NICTの計算機環境における比較実験では、RaNNCはMegatron-LMより約5倍の規模のニューラルネットワークの学習が可能な一方、同一の規模のニューラルネットワークでは、ほぼ同等の学習速度を実現している。(情報通信研究機構<NICT>)