This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
DeepSeek オープンソース 第 3 弾: V3/R1 トレーニング推論キー攻略
ソース: 量子ビット
オープンウィークの3日目、DeepSeekはトレーニング推論V3/R1の背後にある“エネルギー”を明らかにしました——
DeepGEMM: FP8 GEMM (Universal Matrix Multiplication) ライブラリで、密行列乗算演算と混合エキスパート行列乗算演算をサポートします。
!
まず、GEMMを簡単に理解しましょう。
GEMM,すなわち一般行列の積(General Matrix Multiply)、は線形代数の基本演算であり、科学計算、機械学習、深層学習などの領域でよく利用されるほか、多くのハイパフォーマンスコンピューティングタスクの中核でもあります。
しかし、その計算量が大きいことが多いため、GEMMのパフォーマンス最適化は非常に重要です。
DeepSeekが今回公開したDeepGEMMは、引き続き**"高性能+低コスト"**の特性を維持しており、次のようなハイライトがあります:
高性能:HopperアーキテクチャのGPUでは、DeepGEMMは最大1350+ FP8 TFLOPSのパフォーマンスを達成できます。
簡単に言うと、DeepGEMMは主に深層学習、特に大規模なモデルの学習や推論における行列演算の高速化に利用されています。
多くのユーザーは、このオープンソースにかなり賛同しており、DeepGEMMを数学界のスーパーヒーローと表現し、非常に迅速な計算機よりも速く、多項式方程式よりも強力だと考えています。
!
DeepGEMMのリリースは、新しい現実に量子状態が安定すると表現され、その即座のコンパイルが清潔でスマートだと賞賛されています。
!
もちろん……誰かが手元のNVIDIA株について心配し始めました……
!
DeepGEMMについてもっと知る
DeepGEMMは、DeepSeek V3から派生した、きめ細かなスケーリングを備えたシンプルで効率的なFP8 Universal Matrix Multiplication(GEMM)専用に構築されたライブラリです。
MoEグループ化の一般的な一般行列乗算と一般行列乗算の両方を処理できます。
このライブラリはCUDAで書かれており、インストールする際にはコンパイルは必要ありません。なぜなら、ランタイムで軽量なJIT(Just-In-Time)モジュールを使用してすべてのカーネルプログラムをコンパイルするからです。
現在、DeepGEMMはNVIDIAのHopper Tensor Coreのみをサポートしています。
FP8テンソルコアが累積計算時に不正確である問題を解決するため、CUDAコアの2段階累積(アップ)方法を採用しています。
DeepGEMMはCUTLASSやCuTeからいくつかの考えを借りていますが、それらのテンプレートや代数演算に過度に依存していません。
それに対して、このライブラリは非常にシンプルに設計されており、コアのカーネル関数だけで約300行のコードしかありません。
これにより、Hopperアーキテクチャの下でのFP8行列乗算と最適化技術の学習が容易になり、わかりやすいリソースとなります。
その設計は軽量ですが、DeepGEMMのパフォーマンスはさまざまな行列形状の専門家チューニングライブラリに匹敵するか、それを上回ることができます。
では、パフォーマンスはどうでしょうか?
チームはH800でNVCC 12.8を使用して、DeepSeek-V3/R1の推論において可能なすべての形状(テンソル並列を除く、プリフィルおよびデコードを含む)をテストしました。
以下の図は、密集モデルに使用される通常のDeepGEMMのパフォーマンスを示しています:
!
テスト結果から見ると、DeepGEMMの計算性能は最大1358 TFLOPSで、メモリ帯域幅は最大2668 GB/sに達します。
加速比に関しては、CUTLASS 3.6をベースに最適化した実装と比較して、最大2.7倍にすることができます。
DeepGEMMがMoEモデルの連続レイアウトをサポートする性能を確認してみましょう:
!
また、MoEモデルのマスクレイアウト(masked layout)をサポートする性能は次のとおりです:
!
どのように使用しますか?
DeepGEMMを使用するには、次の依存関係に注意する必要があります:
開発コードは次のとおりです。
インストール コードは次のとおりです。
上記の手順の後、Pythonプロジェクトにdeep_gemmをインポートできます。
インターフェースの面では、通常のDeepGEMMではdeep_gemm.gemm_fp8_fp8_bf16_nt関数を呼び出すことができ、NT形式(非転置LHSと転置RHS)に対応しています。
グループ化されたDeepGEMMの場合、連続レイアウトの場合はm_grouped_gemm_fp8_fp8_bf16_nt_contiguousになります。 マスクレイアウトの場合はm_grouped_gemm_fp8_fp8_bf16_nt_maskedです。
DeepGEMMは、最大SM数の設定、TMAアラインメントサイズの取得などのツール関数を提供します。DG_NVCC_COMPILER、DG_JIT_DEBUGなどの環境変数もサポートしています。
これに加えて、DeepSeekチームは次のような最適化方法を提供しています。
JITデザイン:すべてのカーネルは実行時にコンパイルされ、インストール時にコンパイルする必要はありません。 最適なブロックサイズとパイプラインステージの動的選択をサポートします。
!
興味のある仲間は、文末のGitHubリンクをクリックして詳細をご覧くださいね〜
もう1つ
最近のエヌビディアの株価...... まぁ。。。。。。 再び落ち続ける:
!
しかし、北京時間27日未明には、エヌビディアの2025年度第4四半期決算発表も控えており、その業績が楽しみです~