|
オープンソースウィークの3日目に、 DeepSeekはトレーニングと推論V3/R1システムの背後にある「パワー」を明らかにしました。 DeepGEMM : 高密度およびハイブリッド エキスパート (MoE) 行列乗算演算をサポートする FP8 GEMM (一般行列乗算) ライブラリ。 まず、GEMM について簡単に理解することから始めましょう。 GEMM(一般化行列乗算)は、線形代数における基本的な演算です。科学計算、機械学習、深層学習などの分野で広く利用されており、多くの高性能計算タスクの中核を成しています。 しかし、計算負荷が非常に大きくなることが多いため、GEMM のパフォーマンス最適化は重要なポイントです。 DeepSeek の新たにオープンソース化された DeepGEMM は、「高性能 + 低コスト」の特性を維持し、次のような特徴を備えています。
簡単に言えば、DeepGEMMは主にディープラーニング、特に大規模モデルの学習と推論における行列演算を高速化するために用いられます。効率的な計算リソースを必要とするシナリオに特に適しており、計算効率を大幅に向上させることができます。 多くのネットユーザーは、このオープンソースリリースに非常に好意的に反応しています。中には、DeepGEMMを数学界のスーパーヒーローに例え、高速計算機よりも高速で、多項式方程式よりも強力だと考える人もいます。 DeepGEMM のリリースを量子状態の安定化の新たな現実に例え、そのクリーンかつ効率的なジャストインタイム コンパイルを称賛する人もいます。 もちろん...NVIDIA の株保有について心配し始めている人もいます... DeepGEMMの深い理解DeepGEMM は、簡潔で効率的な FP8 一般行列乗算 (GEMM) を実装するために特別に設計されたライブラリであり、DeepSeek V3 から派生した設計によるきめ細かなスケーリング機能も備えています。 通常の一般的な行列乗算を処理でき、MoE グループの一般的な行列乗算をサポートします。 このライブラリは CUDA で記述されており、軽量の Just-In-Time (JIT) モジュールを使用して実行時にすべてのカーネル プログラムをコンパイルするため、インストール時にコンパイルする必要はありません。 現在、DeepGEMM は NVIDIA の Hopper Tensor Core のみをサポートしています。 累積計算時に FP8 テンソル コアの精度が不十分になる問題を解決するために、CUDA コアを使用した 2 レベル累積 (ブースティング) 方式を採用しています。 DeepGEMM は CUTLASS と CuTe からいくつかのアイデアを借用していますが、それらのテンプレートや代数演算に過度に依存することはありません。 それどころか、このライブラリは、コアカーネル関数が 1 つとコード行数が約 300 行のみと、非常にシンプルに設計されています。 これにより、簡潔で理解しやすいリソースが実現し、Hopper アーキテクチャにおける FP8 行列乗算と最適化手法を誰もが簡単に学習できるようになります。 軽量設計にもかかわらず、DeepGEMM のパフォーマンスは、さまざまなマトリックス形状の専門家によるチューニング ライブラリに匹敵するか、それを上回ります。 では実際のパフォーマンスはどうでしょうか? チームは、NVCC 12.8 を使用して、H800 上の DeepSeek-V3/R1 推論で使用できる可能性のあるすべての形状 (事前パディングとデコードを含むが、テンソルの並列処理は含まない) をテストしました。 次のグラフは、高密度モデルに使用される標準 DeepGEMM モデルのパフォーマンスを示しています。 テスト結果によると、DeepGEMM のコンピューティング性能は最大 1358 TFLOPS、メモリ帯域幅は最大 2668 GB/s に達します。 高速化の点では、CUTLASS 3.6 に基づく最適化された実装よりも最大 2.7 倍高速になります。 MoE モデルで連続レイアウトをサポートする DeepGEMM のパフォーマンスを見てみましょう。 MoE モデルマスク レイアウトをサポートした場合のパフォーマンスは次のとおりです。 どうやって使うんですか?DeepGEMM を使用するには、次のような依存関係に注意する必要があります。
開発コードは次のとおりです。 インストールコードは次のとおりです。 上記の手順を実行すると、deep_gemm を Python プロジェクトにインポートできます。 インターフェースに関しては、通常の DeepGEMM の場合、NT 形式 (非転置 LHS と転置 RHS) をサポートする deep_gemm.gemm_fp8_fp8_bf16_nt 関数を呼び出すことができます。 グループ化された 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 チームは、次のようないくつかの最適化手法を提供しています。
興味のある読者は、記事の最後にある GitHub リンクをクリックして詳細を確認してください。 もう一つNvidia の株価は...そうですね...ここ数日下落しています。 しかし、Nvidiaの2025年度第4四半期決算報告は北京時間27日未明に発表される予定なので、その業績に期待が持てる。 DeepGEMM GitHub エントリ: https://github.com/deepseek-a... |
DeepSeekオープンソースパート3:わずか300行のコアコードでV3/R1のトレーニングと推論の重要な秘密
関連するおすすめ記事
-
O3がやってきた!北京大学卒業生のRen Hongyuがライブストリームに登場。世界トップ200プログラマーにランクインし、Terence Taoが難しいと評した数学のテストを解きます。
-
上海交通大学の謝衛迪氏は、コンピュータービジョンから医療AIまで、Natureサブジャーナル、NeurIPS、CVPRなどのジャーナルに複数の研究成果を発表しています。
-
オープンソース オペレーティング システム HarmonyOS 5.0 が正式にリリースされ、あらゆるものがインテリジェントに接続される未来が到来しました。
-
智源ロボティクス、ロボットの4D世界モデルを公開
-
うつ病の早期スクリーニングを支援!上海交通大学のチームがエージェントベースのメンタルヘルスクリニックを構築しました。論文の筆頭著者がオンラインでデモを公開し、その技術的な特徴を共有しました。
-
DeepSeekは本日、3つの新しいリポジトリソースをリリースしました。最適化された並列戦略の開発には、Liang Wenfeng氏自身が参加しました。