Skip to main content
QUICK REVIEW

[논문 리뷰] Model Parallelism on Distributed Infrastructure: A Literature Review from Theory to LLM Case-Studies

Felix Brakel, Uraz Odyurt|arXiv (Cornell University)|2024. 03. 06.
Auction Theory and Applications인용 수 4
한 줄 요약

이 논문은 분산 딥러닝에서 모델 병렬화에 대한 종합적인 문헌 고찰을 제공하며, 이를 내부 연산자 및 간선 연산자 유형으로 분류하고, 통신 오버헤드 및 최적화되지 않은 분할과 같은 주요 과제를 밝혀내며, 메가트론과 팔름과 같은 빌리언 파라미터 트랜스포머 모델과 같은 현대적 사례를 분석한다. 하이브리드 병렬화 전략이 대규모 모델 스케일링에 필수적임을 강조하며, 전용 하드웨어가 팔름과 같은 모델에서 효율적인 내부 연산자 병렬화를 가능하게 한다.

ABSTRACT

Neural networks have become a cornerstone of machine learning. As the trend for these to get more and more complex continues, so does the underlying hardware and software infrastructure for training and deployment. In this survey we answer three research questions: "What types of model parallelism exist?", "What are the challenges of model parallelism?", and "What is a modern use-case of model parallelism?" We answer the first question by looking at how neural networks can be parallelised and expressing these as operator graphs while exploring the available dimensions. The dimensions along which neural networks can be parallelised are intra-operator and inter-operator. We answer the second question by collecting and listing both implementation challenges for the types of parallelism, as well as the problem of optimally partitioning the operator graph. We answer the last question by collecting and listing how parallelism is applied in modern multi-billion parameter transformer networks, to the extend that this is possible with the limited information shared about these networks.

연구 동기 및 목표

  • 분산 딥러닝 시스템에서 사용되는 모델 병렬화 유형을 체계적으로 분류하고 정의하는 것.
  • 모델 병렬화를 구현할 때 발생하는 주요 기술적 및 아키텍처적 과제를 특정하고 분석하는 것, 특히 통신 병목 현상과 연산자 그래프의 최적화되지 않은 분할을 포함하여.
  • 현대적인 대규모 언어 모델(LLM)에서 모델 병렬화의 실제 적용 사례를 조사하는 것, 특히 수십억 파라미터를 가진 트랜스포머 모델을 중심으로.
  • 메모리 사용량, 실행 시간, 장치 활용도 측면에서 다양한 병렬화 전략 간의 상충 관계를 평가하는 것.
  • DNN 자동 병렬화 분야의 표준화를 촉진하여 재현 가능한 벤치마킹과 분야 접근성 향상을 도모하는 것.

제안 방법

  • 이 연구는 이중 단계의 스노우볼링 문헌 고찰 방법을 사용한다: 첫 번째 단계는 이론적 모델링을 위한 DNN 자동 병렬화 기법을 분석하고, 두 번째 단계는 실제 대규모 언어 모델 배포 사례를 연구한다.
  • 모델 병렬화는 연산자 그래프를 통해 수학적으로 정의되며, 병렬화는 두 차원으로 정의된다: 내부 연산자 병렬화(단일 연산 내부에서의 병렬화)와 간선 연산자 병렬화(다중 연산 간의 병렬화).
  • 실행 시뮬레이터를 사용하여 장치 특성, 텐서 크기, 통신 오버헤드를 기반으로 실행 시간을 추정함으로써, 플렉스플로우와 텐서옵트와 같은 자동 병렬화 프레임워크를 평가한다.
  • 플렉스플로우에서는 시뮬레이션된 성능 메트릭에 따라 유도되는 마르코프 체인 몬테카를로 탐색 전략을 사용하여 병렬화 탐색 공간을 탐색한다.
  • 논문은 메가트론, 고퍼, 팔름, GPT 등 실제 대규모 언어 모델을 분석하기 위해 모델 병렬화에 대한 세부적인 구현 통찰을 담은 논문을 수집하고 필터링한다.
  • 분석에는 하드웨어 활용도, 통신 패턴, 그리고 전용 하드웨어(예: TPUv4, A100)가 내부 연산자 병렬화를 효율적으로 가능하게 하는 역할을 분석한다.
Figure 1 . Megatron-NLG compared to other large language models (source: (Smith:2022:UDSM, 29 ) ).
Figure 1 . Megatron-NLG compared to other large language models (source: (Smith:2022:UDSM, 29 ) ).

실험 결과

연구 질문

  • RQ1어떤 종류의 모델 병렬화가 존재하며, 연산자 그래프 측면에서 어떻게 정의되는가?
  • RQ2특히 분산 시스템에서 모델 병렬화를 구현할 때 발생하는 주요 기술적 및 아키텍처적 과제는 무엇인가?
  • RQ3메가트론, 팔름, 고퍼와 같은 현대적 대규모 트랜스포머 모델에서 모델 병렬화는 어떻게 적용되는가?
  • RQ4통신, 메모리, 장치 활용도 측면에서 내부 연산자 병렬화와 간선 연산자 병렬화 간의 상충 관계는 어떠한가?
  • RQ5대표적 표현과 벤치마크의 표준화를 통해 DNN 자동 병렬화 분야는 어떻게 향상시킬 수 있는가?

주요 결과

  • 모델 병렬화는 주로 내부 연산자 병렬화(단일 연산 내부에서의 병렬화)와 간선 연산자 병렬화(다중 연산 간의 병렬화)로 분류되며, 실무에서는 두 방식을 조합한 하이브리드 전략이 일반적이다.
  • 내부 연산자 병렬화는 특히 이더넷과 같은 느린 인터커넥트를 통해 빈번한 데이터 재배치가 발생함으로써 극도로 높은 통신 비용을 수반한다.
  • 간선 연산자 병렬화는 로드 불균형과 비정규적인 계산 패턴으로 인해 훈련 중에 낮은 장치 활용도를 초래하는 경우가 많다.
  • 장치에 연산자 그래프를 최적의 방식으로 분할하는 것은 주요 과제이며, 모델 그래프의 구조가 일반적으로 기반 장치의 토폴로지와 잘 맞지 않기 때문이다.
  • 현대의 대규모 언어 모델인 팔름은 전용 하드웨어(예: TPUv4)를 사용하여 내부 연산자 통신 비용을 완화함으로써, 간선 연산자 분할에 의존하지 않고도 효율적인 모델 병렬화를 가능하게 한다.
  • 메가트론과 고퍼와 같은 모델들은 노드 내부에서의 내부 연산자 병렬화와 노드 간의 간선 연산자 병렬화 + 데이터 병렬화를 조합하여 단일 노드의 한계를 초월해 스케일링을 달성한다.
Figure 2 . Overview of scaling up NNs within the NN compute infrastructure.
Figure 2 . Overview of scaling up NNs within the NN compute infrastructure.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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