[논문 리뷰] Large Scale Language Modeling: Converging on 40GB of Text in Four Hours
이 논문은 혼합 정밀도 학습과 분산 데이터 병렬 처리를 사용하여 128개의 NVIDIA V100 GPU를 활용해 40GB의 Amazon 리뷰 텍스트 데이터를 4시간 내에 4096차원의 곱셈형 LSTM을 훈련시킨다. 특수하게 설계된 최적화 학습률 스케줄을 통해 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 대비 GPU당 훈련 속도를 4.2배 향상시킨다.
- NCCL2, NVLink, InfiniBand를 활용해 128개의 NVIDIA Tesla V100 GPU 간에 고대역폭 통신을 구현한 분산 데이터 병렬 처리를 적용한다.
- 모든 GPU에 걸쳐 32,000의 배치 크기를 적용해 단일 GPU 훈련 대비 데이터 처리 속도를 109배 향상시킨다.
- 큰 배치 크기에서의 안정성과 수렴 성능 향상을 위해 비선형적인 특수 설계된 학습률 스케줄을 설계한다.
- 32,000의 배치 크기로 40GB의 Amazon 리뷰 데이터셋에서 3에포크 동안 문자 수준의 곱셈형 LSTM(mLSTM)을 훈련시킨다.
- Stanford Sentiment Treebank 및 IMDB 데이터셋을 활용해 감성 분류 작업에서의 전이 성능을 평가한다.
실험 결과
연구 질문
- RQ1단지 학습률 스케일링만으로도 32,000의 큰 배치 크기에서 RNN 기반 언어 모델의 훈련이 안정적이고 수렴 가능할 수 있는가?
- RQ2대규모 RNN 언어 모델링에서 혼합 정밀도 훈련이 수렴 속도와 모델 품질에 어떤 영향을 미치는가?
- RQ3매우 큰 배치 크기에서 일반화 성능 열화 없이 효과적인 훈련을 가능하게 하는 학습률 스케줄은 무엇인가?
- RQ4분산 데이터 병렬 처리가 RNN에 대해 얼마나 잘 스케일링되는가? 그리고 벽시계 시간 단축의 한계는 어디까지인가?
- RQ5공개된 최대 규모의 코퍼스를 사용해도 40GB의 텍스트에 대해 대규모 비지도 사전학습을 4시간 이내에 완료할 수 있는가?
주요 결과
- 128개의 V100 GPU와 32,000의 배치 크기를 사용해 40GB의 Amazon 리뷰 데이터셋에서 모델이 단 4시간 내에 수렴한다.
- 혼합 정밀도 훈련은 FP32 대비 GPU당 훈련 속도를 4.2배 향상시켜 더 높은 처리량을 가능하게 한다.
- 128개의 GPU를 사용한 분산 데이터 병렬 처리를 통해 단일 GPU 훈련 대비 데이터 처리 속도가 109배 향상된다.
- Amazon 리뷰 데이터셋에서 모델은 문자당 비트 수(BPC)가 1.038이며, SST 감성 분류 작업에서는 93.8%의 정확도를 달성한다.
- 배치 크기와 함께 학습률만 단순 스케일링하면 발산 또는 열악한 수렴이 발생하므로, 안정성을 확보하기 위해 특수 설계된 학습률 스케줄이 필수적이다.
- 최대 공개 코퍼스를 사용하더라도 32,000의 배치 크기에서 조건 $B \ll N$를 만족하지 못함으로써 대규모 배치 일반화의 한계를 시사한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.