PyTorch Annual Hackathonは、深層学習で使うニューラルネットワークを記述するためのフレームワークであるPyTorchを使用したソフトウェアや機械学習モデルを開発するイベントです。PyTorchに関する成果を競うイベントとして、PyTorchの開発元であるFacebookが公式に開催する唯一のものであり、2019年から年に1度開催されています。今年は世界各国から1,947人が参加し、65件の応募がありました。
RaNNCは、大規模なニューラルネットワークを自動で分割し、複数の
GPUを用いた並列処理によって高速に学習するためのミドルウェアです。大規模ニューラルネットワークの学習では、学習パラメータがGPUメモリに収まらないため、ニューラルネットワークを分割して複数のGPU上で並列処理する必要があります。そのため、従来は、ニューラルネットワークの分割や、並列処理の速度を考慮したニューラルネットワークの記述を人手で行う必要があり、多くの手間と専門知識が必要とされました。一方、RaNNCは、単一のGPUを使用することを想定した、並列化を考慮しないニューラルネットワーク記述を与えると、GPUメモリに収まり、かつ並列処理によって高い学習速度が得られるようにニューラルネットワークを自動で分割するため、大規模ニューラルネットワークの学習を大幅に容易化できます。
RaNNCは2021年3月から一般公開されていますが、PyTorch Annual Hackathon 2021への応募に当たって、新機能を追加しました。具体的には、大規模ニューラルネットワーク学習に必要となるGPUメモリを削減するため、学習パラメータの多くをより大きなメインメモリに配置しておき、GPUを用いた計算が必要となるタイミングで、必要なデータのみをGPUのメモリに移す機能を実現しました。これにより、より小さなGPUメモリで、大規模ニューラルネットワークの学習が可能となりました。
RaNNCは情報通信研究機構と東京大学の共同研究として開発されました。受賞の対象者は以下のとおりです。