[論文レビュー] Large Scale Language Modeling: Converging on 40GB of Text in Four Hours
本稿では、128枚のNVIDIA V100 GPUを用い、混合精度学習と分散データ並列処理を活用することで、40GBのAmazonレビュー本文テキストを4時間で4096次元の乗法的LSTM(mLSTM)に学習させることを示している。32,000のバッチサイズで収束する独自の学習率スケジュールを用いることで、商業的・研究的展開に適した大規模な教師なし言語モデル学習が可能である。
Recent work has shown how to train Convolutional Neural Networks (CNNs) rapidly on large image datasets, then transfer the knowledge gained from these models to a variety of tasks. Following [Radford 2017], in this work, we demonstrate similar scalability and transfer for Recurrent Neural Networks (RNNs) for Natural Language tasks. By utilizing mixed precision arithmetic and a 32k batch size distributed across 128 NVIDIA Tesla V100 GPUs, we are able to train a character-level 4096-dimension multiplicative LSTM (mLSTM) for unsupervised text reconstruction over 3 epochs of the 40 GB Amazon Reviews dataset in four hours. This runtime compares favorably with previous work taking one month to train the same size and configuration for one epoch over the same dataset. Converging large batch RNN models can be challenging. Recent work has suggested scaling the learning rate as a function of batch size, but we find that simply scaling the learning rate as a function of batch size leads either to significantly worse convergence or immediate divergence for this problem. We provide a learning rate schedule that allows our model to converge with a 32k batch size. Since our model converges over the Amazon Reviews dataset in hours, and our compute requirement of 128 Tesla V100 GPUs, while substantial, is commercially available, this work opens up large scale unsupervised NLP training to most commercial applications and deep learning researchers. A model can be trained over most public or private text datasets overnight.
研究の動機と目的
- 分散学習と混合精度算術を用いて、RNN向けの大規模な教師なし言語モデル事前学習を可能にすること。
- 非常に大きなバッチサイズ(最大32,000)で大規模RNNを学習し、収束を達成する可能性を調査すること。
- 大規模バッチでの安定した学習を可能にし、発散や一般化性能の低下を回避する学習率スケジュールの開発。
- 商業的スケールのハードウェア(128枚のV100)を用いて、大規模な公開NLPデータセットを数時間で大規模言語モデルに学習させることの実現可能性を示すこと。
- 大規模なテキストコーパス上で強固でスケーラブルな言語モデルを事前学習することで、下流のNLPタスクにおける転移学習を可能にすること。
提案手法
- FP16/FP32の混合精度学習を採用することで、FP32に比べてGPU1枚あたり4.2倍の高速化を達成。
- NCCL2、NVLink、InfiniBandを用いた128枚のNVIDIA Tesla V100 GPU間での分散データ並列処理により、高帯域幅通信を実現。
- 全GPUにわたって32,000のバッチサイズを適用し、単一GPU学習に比べてデータスループットが109倍向上。
- 大規模バッチでの収束を向上させるために、非線形な独自の学習率スケジュールを設計。
- 40GBのAmazonレビューデータセットを用いて、文字レベルの乗法的LSTM(mLSTM)を3エポック分学習。
- スタンフォードセンチメントツリーバンク(SST)およびIMDBデータセットを用いて、感情分類タスクにおける転移性能を評価。
実験結果
リサーチクエスチョン
- RQ1学習率スケーリングのみを用いても、32,000のバッチサイズでRNNベースの言語モデルの学習を安定的かつ収束可能にすることができるか?
- RQ2大規模なRNN言語モデル学習において、混合精度学習が収束速度とモデル品質に与える影響は何か?
- RQ3非常に大きなバッチサイズでの学習を効果的に行うために、一般化性能の低下を伴わずに使用可能な学習率スケジュールは何か?
- RQ4分散データ並列処理はRNNにどの程度スケーリング可能であり、ウォールタイム短縮の限界は何か?
- RQ5商業的に入手可能なハードウェアを用いて、40GBのテキストに対する大規模な教師なし事前学習を4時間以内に完了できるか?
主な発見
- 128枚のV100 GPUを用い、32,000のバッチサイズで40GBのAmazonレビューデータセットを4時間で収束させることが可能である。
- 混合精度学習により、FP32に比べてGPU1枚あたり4.2倍の高速化が達成され、より高いスループットが実現された。
- 128枚のGPUを用いた分散データ並列処理により、単一GPU学習に比べてデータスループットが109倍向上した。
- Amazonレビューデータセットでは1文字あたりのビット数(BPC)が1.038、SST感情分類タスクでは93.8%の精度を達成した。
- 単にバッチサイズに比例して学習率をスケーリングするだけでは発散または収束不良が生じるため、安定性を確保するためには独自の学習率スケジュールが不可欠である。
- 最大の公開コーパスでさえも、32,000のバッチサイズでは条件 $B \ll N$ を満たさないため、大規模バッチ一般化に限界がある可能性が示唆された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。