TransformerEngine: NVIDIA GPU에서 저정밀도 수치 형식을 사용하여 Transformer 모델을 가속화하기 위한 라이브러리

TransformerEngine: NVIDIA GPU에서 저정밀도 수치 형식을 사용하여 Transformer 모델을 가속화하기 위한 라이브러리

해결하는 문제

Transformer Engine (TE)는 수천억 개의 파라미터를 가진 Transformer 모델을 확장할 때 발생하는 높은 메모리 및 연산 요구 사항을 해결합니다. 저정밀도 수치 형식을 활용하여 모델 정확도를 희생하지 않으면서 메모리 사용량을 줄이고 더 빠른 학습 및 추론을 가능하게 합니다.

작동 방식

TE는 Transformer 아키텍처를 위한 고도로 최적화된 빌딩 블록과 융합 커널(fused kernels) 라이브러리를 제공합니다. 개발자가 FP8, MXFP8, NVFP4와 같은 저정밀도 형식을 기존 PyTorch 또는 JAX 워크플로우에 원활하게 통합할 수 있도록 자동 혼합 정밀도(automatic mixed-precision) API를 구현합니다. 이 라이브러리는 저정밀도 학습에 필요한 스케일링 인자(scaling factors)를 내부적으로 관리하여 사용자의 프로세스를 단순화합니다.

대상 사용자

NVIDIA GPU(Ampere, Ada, Hopper, Blackwell 아키텍처)를 사용하는 대규모 Transformer 모델(LLM, MoE 아키텍처, 멀티모달 모델 포함)을 구축하는 AI 연구원 및 엔지니어를 위해 설계되었습니다.

주요 특징

  • Hopper, Ada, Blackwell GPU에서 FP8 정밀도 지원
  • Blackwell GPU에서 MXFP8 및 NVFP4 형식 지원
  • Transformer 모델을 위한 최적화된 빌딩 블록 및 융합 커널
  • PyTorch 및 JAX와 같은 주요 프레임워크와 DeepSpeed, Hugging Face Accelerate, Megatron-LM과 같은 LLM 라이브러리와의 통합
  • Ampere GPU 및 최신 GPU에서 FP16 및 BF16에 대한 최적화 지원

Sources