Skip to main content
QUICK REVIEW

[논문 리뷰] Efficient Large-Scale Language Model Training on GPU Clusters

Deepak Narayanan, Mohammad Shoeybi|arXiv (Cornell University)|2021. 04. 09.
Topic Modeling참고 문헌 25인용 수 31
한 줄 요약

이 논문은 최대 3072개의 GPU를 사용하는 GPU 클러스터에서 트리리온 파라미터 언어 모델을 효율적으로 훈련하기 위해 텐서, 파이프라인, 데이터 병렬을 조합한 하이브리드 병렬 프레임워크를 제안한다. 교차된 파이프라인 스케줄링을 도입하고 통신 및 메모리 사용을 최적화함으로써, 피크 GPU 처리량의 52%를 달성하며, 이는 이전 방법보다 10% 높은 성능이다. 이로 인해 502 petaFLOP/s의 훈련 속도를 달성하고 가속도가 크게 향상된 스케일링이 가능해졌다.

ABSTRACT

Large language models have led to state-of-the-art accuracies across a range of tasks. However, training these large models efficiently is challenging for two reasons: a) GPU memory capacity is limited, making it impossible to fit large models on a single GPU or even on a multi-GPU server; and b) the number of compute operations required to train these models can result in unrealistically long training times. New methods of model parallelism such as tensor and pipeline parallelism have been proposed to address these challenges. Unfortunately, naive usage leads to fundamental scaling issues at thousands of GPUs due to various reasons, e.g., expensive cross-node communication or idle periods waiting on other devices. In this work, we show how to compose different types of parallelism methods (tensor, pipeline, and data parallelism) to scale to thousands of GPUs, achieving a two-order-of-magnitude increase in the sizes of models we can efficiently train compared to existing systems. We survey techniques for pipeline parallelism and propose a novel interleaved pipeline parallelism schedule that can improve throughput by more than 10% with comparable memory footprint compared to previously-proposed approaches. We quantitatively study the trade-offs between tensor, pipeline, and data parallelism, and provide intuition as to how to configure distributed training of a large model. Our approach allows us to perform training iterations on a model with 1 trillion parameters at 502 petaFLOP/s on 3072 GPUs with achieved per-GPU throughput of 52% of peak; previous efforts to train similar-sized models achieve much lower throughput (36% of theoretical peak). Our code is open sourced at this https URL.

연구 동기 및 목표

  • 제한된 GPU 메모리와 긴 훈련 시간으로 인해 GPU 클러스터에서 트리리온 파라미터 언어 모델을 훈련시키는 데 도전하는 문제를 해결한다.
  • 특히 높은 통신 비용과 장치 대기 시간으로 인해 수천 개의 GPU를 사용할 경우 기존 병렬 처리 방법의 스케일링 한계를 극복한다.
  • 최적의 성능과 메모리 사용을 위해 텐서, 파이프라인, 데이터 병렬을 통합한 확장성 있고 효율적인 훈련 시스템을 개발한다.
  • 새로운 교차된 파이프라인 병렬 스케줄링을 통해 대규모 모델 훈련에서 처리량을 향상시키고 대기 시간을 줄인다.

제안 방법

  • 모델 파라미터와 활성화를 수천 개의 GPU에 분산시키기 위해 텐서, 파이프라인, 데이터 병렬을 통합한 유일한 훈련 프레임워크를 구성한다.
  • 파이프라인 스테이지 간에 순방향 및 역방향 전파를 겹쳐서 실행하는 교차된 파이프라인 병렬 스케줄링을 도입하여 대기 시간을 줄이고 처리량을 향상시킨다.
  • 모델 훈련 중 지연 시간을 최소화하고 대역폭 활용도를 극대화하기 위해 노드 간 및 클러스터 내 통신 패턴을 최적화한다.
  • 혼합 정밀도와 기울기 체크포인팅 기법을 사용해 모델 레이어와 데이터 배치를 전략적으로 분할하여 메모리와 계산 부하를 균형 있게 분배한다.
  • 모델 크기와 하드웨어 제약 조건에 따라 동적으로 텐서 병렬과 파이프라인 병렬을 할당하는 하이브리드 모델 병렬 전략을 구현한다.
  • 장치 활용도를 모니터링하고 스케줄링을 조정하여 모든 노드에서 고성능 GPU 처리량을 유지하는 시스템 수준의 훈련 루프를 구현한다.

실험 결과

연구 질문

  • RQ13072개의 GPU로 언어 모델 훈련을 스케일링하기 위해 텐서, 파이프라인, 데이터 병렬을 효과적으로 조합하는 방법은 무엇인가?
  • RQ2대규모 파이프라인 병렬 훈련에서 대기 시간을 최소화하고 처리량을 극대화하는 데 가장 효과적인 스케줄링 전략은 무엇인가?
  • RQ3제안된 교차된 파이프라인 스케줄링은 이전 방법 대비 메모리 사용과 처리량 측면에서 어떻게 비교되는가?
  • RQ4통신 비용, 메모리 프로파일, 계산 효율성 측면에서 다양한 병렬 처리 전략 간의 상호 교환 관계는 무엇인가?
  • RQ5이 시스템은 트리리온 파라미터 모델 훈련에서 높은 GPU 활용도와 이론적 피크 성능에 얼마나 가까이 도달할 수 있는가?

주요 결과

  • 제안된 하이브리드 병렬 프레임워크는 3072개의 GPU에서 1조 파라미터 언어 모델을 502 petaFLOP/s 속도로 훈련시킬 수 있다.
  • 시스템은 GPU당 피크 성능의 52%를 달성하여, 유사한 메모리 사용량을 가진 이전 방법보다 10% 향상된 성능을 보였다.
  • 교차된 파이프라인 병렬 스케줄링은 비교적 교차되지 않은 대안 대비 대기 시간을 줄이고 처리량을 10% 이상 향상시켰다.
  • 이 프레임워크는 수천 개의 GPU로도 효율적으로 스케일링되며, 노드 간 통신 병목 현상과 장치 동기화 지연과 같은 근본적인 스케일링 문제를 해결한다.
  • 정량적 분석 결과, 텐서, 파이프라인, 데이터 병렬을 조합하면 단일 방법을 사용할 경우보다 메모리, 통신, 계산 측면에서 더 우수한 트레이드오프를 달성한다.
  • 오픈소스 구현을 통해 재현 가능성이 보장되고, 일반 GPU 클러스터에서 대규모 모델 훈련 분야의 추가 연구가 가능해졌다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.