NVIDIA 트랜스포머 엔진, 융합 커널, BF16, FP8, GPU 벤치마킹으로 트랜스포머 훈련 가속화
NVIDIA
이 튜토리얼은 융합 GPU 커널, BF16 계산, 하드웨어 인지 FP8 실행을 결합하여 NVIDIA 트랜스포머 엔진이 트랜스포머 워크로드를 어떻게 가속화하는지 탐구합니다. 설치, GPU 감지, 모듈 둘러보기, FP8 레시피 구성, 모델 훈련, 벤치마킹, 자기회귀 생성에 대해 다룹니다.
튜토리얼은 NVIDIA Transformer Engine 설치와 PyTorch 환경 초기화로 시작합니다. GPU 아키텍처를 감지하여 TE 커널과 FP8 텐서 코어 지원 여부를 확인하며, 지원되지 않는 하드웨어에서는 순수 PyTorch 폴백을 사용합니다. te.Linear, te.LayerNorm, te.LayerNormLinear, te.LayerNormMLP, te.TransformerLayer와 같은 핵심 융합 컴포넌트를 살펴봅니다. 지연 스케일링 FP8 레시피를 하이브리드 E4M3/E5M2 형식과 amax 히스토리로 구성합니다. 융합된 te.TransformerLayer 블록을 사용하여 컴팩트한 GPT 스타일의 인과 언어 모델을 구축하고, 비교를 위해 동등한 순수 PyTorch 모델도 구현합니다. 모델은 결정론적 합성 산술 패턴 시퀀스로 훈련되며, 지원되는 경우 조건부 FP8 자동 캐스트가 사용됩니다. 벤치마킹은 BF16 및 FP8 모드에서 평균 스텝 지연 시간과 최대 GPU 메모리를 측정합니다. 스케일링 팩터와 amax 히스토리를 포함한 FP8 메타데이터를 검사합니다. 마지막으로, 그리디 자동 회귀 생성은 모델이 산술 스트라이드를 학습했는지 검증하며, 더 큰 모델과 대체 FP8 형식과 같은 확장 방향을 제안합니다.
출처: MarkTechPost —
원문
