HTML5 Webook
117/194

はじめに近年の人工知能は、深層学習の発展によって目覚ましい進歩を遂げている。深層学習では、ニューラルネットと呼ばれるモデルを用いるが、近年の深層学習の研究で、ニューラルネットを大規模化する、すなわちニューラルネットの持つ学習パラメータの数を増加することによって、劇的に学習性能が向上することが広く知られるようになった[1]。例えば、2018年に発表され、言語処理分野でのブレークスルーとなったBERT [2]は、3.4億個のパラメータを持ち、発表当時としては最大規模のニューラルネットとされた。しかし、そのわずか2年後には、BERTの約500倍である1,750億個ものパラメータを持つGPT-3 [3]が発表されている。ニューラルネットの学習には膨大な計算が必要となるため、GPU(Graphics Processing Unit)を初めとする、計算を高速化させるための装置が広く用いられる。ニューラルネットの学習パラメータ数を増加すると、必要な計算量が飛躍的に増加するため、大規模ニューラルネットの学習を現実的な時間で完了させるには、GPU等の計算装置を多数用いて並列に計算をすることが必須となる。従来から、大規模ニューラルネット学習を目的として、Megatron-LM [4](NVIDIA)やMeshTensorFlow [5](Google)といった深層学習のための並列計算を行うソフトウェアフレームワークが開発されてきた。しかし、これらのフレームワークを用いる場合には、専門的な知識を持つ技術者が、ニューラルネット定義のプログラムを書き換えて、学習パラメータやその計算を、どのように分割し、どのGPUに割り当てるかを指定する必要がある。最終的な学習速度は、この分割や割り当てによって大きく変わってくるが、こうしたプログラムの書き換えには大きな手間がかかる上に、どの1深層学習において、ニューラルネットを大規模化をすることで、劇的に学習性能を向上できることが知られている。大規模ニューラルネットの学習には、多数のGPUを用いた並列処理が必須となるが、既存のフレームワークを用いる場合、ニューラルネット定義を並列化のために大幅に書き換える必要があり、専門家にとっても容易ではない。また、著名な既存フレームワークは、Transformerと呼ばれる種類のニューラルネットにしか適用できない。こうした課題を解決するため、NICTデータ駆動知能システム研究センター(DIRECT)では、自動並列化深層学習ミドルウェアRaNNCを開発してきた。RaNNCは、計算時間や必要メモリ量を自動的に分析し、ニューラルネットを自動的に分割して多数のGPUに配置し、並列で学習を行う。また、既存フレームワークと異なり、適用できるニューラルネットの種類に制限がない点でも優れている。In deep learning, scaling up of neural networks improves the quality of learning results. Training of a large-scale neural network needs to be parallelized using many GPUs. Existing software frame-works for training large-scale neural networks require users to rewrite the definition of a neural network significantly for parallelization. The rewriting is hard for even experts in parallel processing and often takes several months. In addition, some well-known frameworks can train only a specific type of neural networks called Transformer. To solve the issues, the Data-driven Intelligent System Research Center (DIRECT), NICT, has been developing an automatic parallelization middleware, RaNNC. RaNNC automatically partitions a neural network by analyzing the computation time and memory usage and computes it on multiple GPUs in parallel. Unlike the existing frameworks, RaNNC can also train any type of neural networks.3-2 自動並列化深層学習ミドルウェアRaNNC3-2RaNNC: Automatic Parallelization Middleware for Deep Learning田仲 正弘TANAKA Masahiro1113 社会知コミュニケーション技術

元のページ  ../index.html#117

このブックを見る