Skip to main content
QUICK REVIEW

[논문 리뷰] EnergonAI: An Inference System for 10-100 Billion Parameter Transformer Models

Jiangsu Du, Ziming Liu|arXiv (Cornell University)|2022. 09. 06.
Parallel Computing and Optimization Techniques인용 수 4
한 줄 요약

EnergonAI는 100억~1000억 파라미터의 트랜스포머 모델을 대상으로 하이퍼성능 및 프로그래머블 추론을 제공하는 시스템으로, 텐서 병렬성과 파이프라인 병렬성을 통합하기 위해 새로운 계층형-컨트롤러 아키텍처를 활용한다. 비차단 파이프라인 병렬성, 분산 중복 계산 제거, 피어 메모리 풀링을 통해 지연 시간과 처리량을 극대화하여, 가변 길이 추론에서 FasterTransformer을 능가하며 단일 GPU에서 최소한의 성능 손실로 더 큰 모델 추론을 가능하게 한다.

ABSTRACT

Large transformer models display promising performance on a wide range of natural language processing (NLP) tasks. Although the AI community has expanded the model scale to the trillion parameter level, the practical deployment of 10-100 billion parameter models is still uncertain due to the latency, throughput, and memory constraints. In this paper, we proposed EnergonAI to solve the challenges of the efficient deployment of 10-100 billion parameter transformer models on single- or multi-GPU systems. EnergonAI adopts a hierarchy-controller system architecture to coordinate multiple devices and efficiently support different parallel patterns. It delegates the execution of sub-models to multiple workers in the single-controller style and applies tensor parallelism and pipeline parallelism among the workers in a multi-controller style. Upon the novel architecture, we propose three techniques, i.e. non-blocking pipeline parallelism, distributed redundant computation elimination, and peer memory pooling. EnergonAI enables the users to program complex parallel code the same as a serial one. Compared with the FasterTransformer, we have proven that EnergonAI has superior performance on latency and throughput. In our experiments, EnergonAI can achieve 37% latency reduction in tensor parallelism, 10% scalability improvement in pipeline parallelism, and it improves the model scale inferred on a single GPU by using a larger heterogeneous memory space at cost of limited performance reduction.

연구 동기 및 목표

  • 다중 GPU 시스템에서 100억~1000억 파라미터의 대규모 트랜스포머 모델을 구현할 때 발생하는 성능 및 프로그래머블리티 격차를 해소한다.
  • 기존 추론 시스템의 제약을 극복한다. 이는 C++/CUDA 커널에 너무 밀접하게 결합되어 있거나, 훈련 시스템에서 비효율적으로 변형된 경우이다.
  • 낮은 통신 오버헤드와 높은 확장성을 확보하면서도 텐서 병렬성과 파이프라인 병렬성을 모두 지원하는 아키텍처를 설계한다.
  • 사용자가 순차적 코드를 작성해도 이질적인 메모리와 분산 장치에서 고성능을 달성할 수 있도록 한다.
  • 대규모 모델 추론에서 메모리 장벽을 돌파하기 위해 GPU 및 피어 장치 메모리를 효율적으로 관리함으로써 지연 시간이나 처리량을 희생하지 않는다.

제안 방법

  • 중앙 집중식 엔진과 분산 런타임을 조합한 계층형-컨트롤러 아키텍처를 제안하여 다중 GPU 추론을 조율한다.
  • 비동기 실행과 파이프라인 통신을 활용한 비차단 파이프라인 병렬성을 구현하여 유휴 시간을 줄이고 처리량을 향상시킨다.
  • 파이프라인 스테이지에서 중복된 순방향 전파를 방지하기 위해 분산 중복 계산 제거 기법을 도입하여 계산 비용을 감소시킨다.
  • 피어 GPU에 모델 레이어를 오프로드함으로써 CPU가 아닌 피어 장치에 메모리를 할당하는 피어 메모리 풀링(PMEP) 기법을 설계한다. 이는 계산과 통신의 오버랩을 향상시킨다.
  • 프리패칭을 활용한 정적 오프로딩 전략을 사용하여 통신 지연을 최소화하고 고성능 GPU 활용도를 유지한다.
  • 단일 컨트롤러 및 다중 컨트롤러 실행 모드를 모두 지원하여 통합 프로그래밍 모델 내에서 텐서 병렬성과 파이프라인 병렬성을 유연하게 처리할 수 있도록 한다.

실험 결과

연구 질문

  • RQ1100억~1000억 파라미터의 트랜스포머 모델을 위한 분산 추론 시스템이 어떻게 낮은 지연 시간과 높은 처리량을 달성하면서 다수의 GPU를 효율적으로 조율할 수 있는가?
  • RQ2훈련 시스템에서 유도된 경우에도 고성능과 고프로그래머블리티를 동시에 확보할 수 있는 아키텍처 설계는 무엇인가?
  • RQ3분산 워커 간에 파이프라인 병렬성에서 발생하는 중복 계산을 정확성이나 효율성을 희생시키지 않고 어떻게 제거할 수 있는가?
  • RQ4고비용의 통신 오버헤드 없이 피어 GPU 메모리를 얼마나 효율적으로 활용하여 단일 GPU에서 모델 크기를 확장할 수 있는가?
  • RQ5FasterTransformer과 같은 기존 프레임워크보다 확장성과 지연 시간 면에서 더 나은 성능을 내는 시스템은 가변 길이 및 대규모 추론 환경에서 실제로 가능할 수 있는가?

주요 결과

  • 고정 길이 입력에서 텐서 병렬성 실험 결과, EnergonAI는 FasterTransformer 대비 지연 시간을 37% 감소시켰다.
  • 파이프라인 병렬성에서 EnergonAI는 FasterTransformer 대비 10% 더 높은 확장성을 확보하여 더 나은 로드 밸런싱과 통신 효율성을 입증했다.
  • 피어 메모리 풀링(PMEP)을 통해 EnergonAI는 피어 GPU로 레이어를 오프로드하더라도 로컬 GPU 처리량에 2.3~3.9% 이내의 성능 저하만 발생시켰으며, 이는 모델 크기가 두 배일 경우에도 유지되었다.
  • 반면, BMInf의 CPU 오프로딩은 통신 대비 계산 비율이 높아 최대 81%의 처리량 감소를 초래했지만, EnergonAI의 PMEP는 거의 투명한 오프로딩을 구현하며 더 낮은 지연 시간을 달성했다.
  • EnergonAI는 이종 메모리 공간을 활용해 단일 GPU에서 최대 2배 크기의 모델 추론을 가능하게 하였으며, 성능 저하가 제한적으로 발생했다.
  • 가변 길이 추론 환경에서 EnergonAI는 동적 시퀀스 길이 처리 및 통신 스케줄링 면에서 뛰어난 성능을 보이며 FasterTransformer을 능가했다.

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

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

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

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