TransformerEngine: NVIDIA GPU上で低精度数値フォーマットを使用してTransformerモデルを加速するためのライブラリ

TransformerEngine: NVIDIA GPU上で低精度数値フォーマットを使用してTransformerモデルを加速するためのライブラリ

何を解決するか

Transformer Engine (TE) は、Transformerモデルを数百億のパラメータ規模に拡張する際の高いメモリおよび計算需要に対処します。低精度数値フォーマットを利用することで、モデルの精度を犠牲にすることなくメモリ使用量を削減し、より高速なトレーニングと推論を可能にします。

仕組み

TEは、Transformerアーキテクチャ向けに高度に最適化されたビルディングブロックと融合カーネル(fused kernels)のライブラリを提供します。自動混合精度APIを実装しており、開発者が既存の PyTorch や JAX のワークフローに、8ビット浮動小数点 (FP8)、MXFP8、および NVFP4 といった低精度フォーマットをシームレスに統合できるようにします。このライブラリは、低精度トレーニングに必要なスケーリング係数を内部的に管理するため、ユーザーの手間を簡略化します。

対象ユーザー

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 およびそれ以降のモデルにおける FP16 と BF16 全体での最適化のサポート

Sources