HTML5 Webook
122/194

が可能な実装*2を用いた。この実験では、Megatron-LMと比較して、約5倍の大きなネットワークまで学習できることが確認できた*3。また比較可能な規模のネットワークでは、ほぼ同等の速度となった。PipeDream-2BWは、RaNNCよりも幾分高速であることが確認されたが、高速化の目的で勾配の集約のための通信を非同期化しているため、parameter staleness [13]と呼ばれる問題により、学習精度低下の可能性があるという難点がある。また、画像分類等に用いられるResNet [14]について、原論文で示された50レイヤ・101レイヤ・152レイヤのそれぞれの設定について、畳み込みレイヤのフィルタサイズをオリジナルの8倍に拡大し、学習速度を比較した。もっともパラメータが多い152レイヤの設定では、37億パラメータとなる。前述のとおり、Megatron-LMはTransformer系のニューラルネットにしか適用できないため、本実験には使用していない。またBERTの学習における評価に用いたPipeDream-2BWやGPipeの実装は、BERTに特化されており、ResNetで動作させることができなかった。そのためこの比較では、PyTorchを用いたGPipeの実装であるtorchgpipe*4を用いた。torchgpipeはモデル並列のみに対応し、データ並列と併用できず、また複数サーバのGPUを利用できない。そのため、サーバ1台(GPU8台)を用いたモデル並列で実行した。図5 (b)に学習速度の比較を示す。サーバ4台(GPU32台)とサーバ1台(GPU8台)の2通りを実行し、GPU1台あたりのバッチサイズは16とした。図に示すように、データ並列では学習不可能な規模のネットワークにおいて、GPipeより顕著に高速に動作することが確認できた。おわりに深層学習のニューラルネットの大規模化に止まる兆しはなく、GPT-3以後も、NAVERが学習した韓国語の言語モデルHyperCLOVA*5(2,040億パラメータ)、MicrosoftとNVIDIAによるMT-NLG [15](5,300億パラメータ)、GoogleのPaLM [16](5,400億パラメータ)など、各組織から相次いで大規模ニューラルネット学習が発表されている。また、GPT-NeoX [17]、BLOOM*6、YaLM*7など、学習済みの巨大言語モデルを、誰もが利用できるようにオープン化する試みも進んでいる。多数のGPUを持たない深層学習ユーザにとって、こうした規模のニューラルネットを初めから学習するのは困難であるが、こうした学習済みのニューラルネットに対して追加学習を行うことは十分可能であり、その際には、ユーザの計算機環境やニューラルネット構造の特徴に応じて自動的に学習を並列化できるRaNNCは有用であり、今後の利用範囲はますます広がっていくと思われる。RaNNCは2021年3月の一般公開後も、継続的な開発により、安定性や堅牢性の向上、より巨大なニューラルネットを学習するための機能強化などを実現してきた。その結果、計算資源の制約から前述のMT-NLGやPaLMの規模には及ばないものの、本稿の執筆時点で、RaNNCを用いて約2,000億パラメータを超えるBERT(原論文のBERTLargeの約600倍)の学習が可能なことを確認できている。しかし、パラメータの規模が大きくなるとともに、学習したニューラルネットの5012345678ResNet50x8ResNet101x8ResNet152x8データ並列(#GPUs=32)RaNNC (#GPUs=32)データ並列(#GPUs=8)GPipe (#GPUs=8)RaNNC (#GPUs=8)0500100015002000244896256データ並列GPipePipeDream-2BWMegatron-LMRaNNC学習データ件数/秒データ並列:メモリ不足データ並列:メモリ不足データ並列:メモリ不足Megatron-LM:メモリ不足Megatron-LM:メモリ不足学習データ件数/秒×層数層数(a) 大規模BERT(b) 大規模ResNetデータ並列:メモリ不足データ並列:メモリ不足データ並列:メモリ不足データ並列:メモリ不足図5 関連ソフトウェアとの速度比較*2https://github.com/msr-fiddle/pipedream/tree/pipedream_2bw*3Megatron-LMは、パイプライン並列のための機能を有効にすることで、より大きなネットワークを学習できる可能性があるが、本実験を実施した2020年8月時点では当該機能が実装されていなかったため、利用していない。また、パイプライン並列と同時に使用されるgradient checkpointingと呼ばれる機能により、メモリ使用量は減少するが、速度は低下する。*4https://github.com/kakaobrain/torchgpipe*5https://naver-ai-now.kr/*6https://bigscience.huggingface.co/blog/bloom*7https://github.com/yandex/YaLM-100B116   情報通信研究機構研究報告 Vol.68 No.2 (2022)3 社会知コミュニケーション技術

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

このブックを見る