AIモデルのトレーニングと推論の高性能計算環境において、開発者はFP8フォーマットでのGEMM演算性能のボトルネックに直面することが多く、特に大規模な行列乗算では数値範囲を正確に制御し、オーバーフローや精度損失を避ける必要があります。DeepGEMMはDeepSeek AIが提供するオープンソースのソリューションで、NVIDIA GPUに最適化されており、クリーンで効率的なFP8 GEMMカーネルを提供します。細粒度のper-blockスケーリングメカニズムを通じて、従来のuniform scalingの制限を克服し、AIエンジニアが生産レベルのFP8量子化デプロイをより容易に実現できるようにします。
細粒度per-blockスケーリングによる精度損失の回避
DeepGEMMの最大の特徴は、細粒度スケーリング戦略を導入し、各CUDAブロックが独立してスケーリングファクターを計算することです。これは従来の全行列のuniform scalingの粗いアプローチに代わるものです。この設計はFP8の非常に低い精度特性に特に適しており、FP8の動的範囲が狭いため、行列乗算の過程でオーバーフローが発生しやすいです。per-blockスケーリングを通じて、DeepGEMMは各小ブロックの数値を独立して正規化し、量子化誤差を大幅に低減しつつ、計算スループットを維持します。
同類のFP8カーネルと比較して、DeepGEMMは複雑な動的範囲検索のオーバーヘッドを回避し、簡単な事前計算ステップだけで、実行時に正確なスケーリングを適用することができます。開発者が大規模な言語モデルをトレーニングする際、このメカニズムは特に有用で、モデルの収束安定性を維持しつつ、過度な精度の犠牲を払う必要がありません。

多様なFP8バリアントとCUDAアーキテクチャのサポート
DeepGEMMはE4M3やE5M2などのFP8バリアントを全面的にサポートし、NVIDIA Ampere、Hopper、Blackwell GPUアーキテクチャと互換性があります。このカーネルライブラリはクリーンなコード実装に焦点を当てており、不必要な分岐やメモリアクセスを避け、理論的なピークTFLOPS性能に近づけます。例えば、A100 GPU上でFP8 GEMMを実行すると、DeepGEMMはベースラインカーネルに対して最大1.5倍の速度向上を示します。
さらに、自動スケジューリングメカニズムを統合しており、入力行列のサイズに応じて動的に最適なカーネルバリアントを選択し、手動最適化の負担を軽減します。頻繁にGEMM呼び出しが必要なTransformerモデルにとって、この柔軟性は特に便利です。
簡単なインストールと開発統合プロセス
DeepGEMMのインストールは非常に簡単で、GitHubリポジトリをクローンし、CMakeとNVIDIA CUDA toolkitに依存するだけで、数分以内にコンパイルが完了します。このライブラリは完全なAPIインターフェースを提供しており、例えばcublasDeepGEMMはcuBLAS呼び出しモードと直接互換性があり、既存のコードはわずかな修正で切り替え可能です。開発者は提供されたベンチマークスクリプトを通じて、自分のハードウェア上での性能を迅速に検証できます。
リソースに関しては、リポジトリには詳細な性能データのグラフや、小さな行列のベンチマークから大規模モデルのGEMMアプリケーションまでをカバーする複数のサンプルプログラムが含まれています。この設計により、初心者と専門家の両方が容易に取り組むことができ、FP8技術の実際のプロジェクトへの導入を加速します。
オープンソースライセンスによる企業向けデプロイの容易さ
DeepGEMMはApache 2.0ライセンスを採用しており、商業利用や改変が許可されており、AI企業が自社のフレームワークに統合するのに適しています。クローズドソースのカーネルと比較して、このオープンソースソリューションは透明性を提供し、チームが最適化をカスタマイズしたり、改善を貢献したりすることができます。効率的なFP8推論を追求するクラウドサービスプロバイダーにとって、DeepGEMMは理想的な選択肢であり、ハードウェアコストを増加させることなくモデルのスループットを向上させることができます。
製品名:DeepGEMM
公式ウェブサイト:https://github.com/deepseek-ai/DeepGEMM

