🎉

Deepseek #OpenSourceWeek の発表まとめと解説

2025/03/05に公開

Deepseekの #OpenSourceWeek では、合計5+1の技術発表がありました。それぞれが最新のAIインフラや効率的な計算手法に関連しており、特に推論・学習の最適化に焦点を当てています。本記事では、それぞれの技術について分かりやすく解説し、関連する背景知識についても説明します。


背景知識

Deepseekとは?

Deepseekは、大規模言語モデル(LLM)を開発・提供する企業の一つで、高性能なAIモデルの訓練と推論を行うための最適化技術に注力しています。特に、低コストかつ高性能なAI推論・学習システムの開発に力を入れています。

V3 / R1 とは?

V3とR1はDeepseekが提供する大規模言語モデルの世代を指します。

  • V3: Deepseekの最新の汎用大規模言語モデル。
  • R1: 特定のタスク向けに最適化されたモデル。

この2つのモデルは、それぞれ異なる用途や最適化戦略を持ちながら、同じ推論基盤で運用されています。

MoE (Mixture of Experts) とは?

MoEは、ニューラルネットワークの一部(エキスパートと呼ばれる複数のサブネットワーク)を動的に選択して計算を行う手法です。これにより、

  • 計算リソースを効率的に活用
  • モデルサイズを大きく保ちつつ、計算負荷を削減
    することができます。

1. FlashMLA - Hopper GPU 向けの MLA 最適化カーネル

概要

  • Hopper GPU (H100以降) に最適化された Multi-Head Attention (MLA) の計算カーネル。
  • MLA は既存の手法ではなく、Deepseek 独自の新規提案。
  • 既存の Transformer モデルの Attention 計算をさらに効率化する可能性。

背景知識: Multi-Head Attention とは?

Transformerモデルでは、単一の注意機構(Attention)だけでなく、複数の異なる視点からデータを解析する Multi-Head Attention (MHA) が用いられます。これにより、

  • 異なる特徴を同時に学習可能
  • より表現力豊かなモデル構築が可能
    となります。

インパクト

  • H100世代のGPUにおいて、従来のMHAを超える効率性を提供する可能性。
  • Attention計算の高速化は、大規模モデルの推論・学習に直接寄与。

2. DeepEP - MoE の通信最適化ライブラリ

概要

  • Mixture of Experts (MoE) 向けの ExpertParallel 通信ライブラリ。
  • 計算と通信のタスクを最大限に重ね、通信遅延を最小化。
  • PTX命令レベルでの最適化(公式ドキュメントに記載のない挙動も利用)。

背景知識: GPU通信の最適化とは?

大規模モデルの学習では、複数のGPUを連携させるための通信がボトルネックになりやすいです。特に、MoEモデルでは各エキスパートが異なるGPUに分散しているため、

  • 通信遅延
  • データ転送のオーバーヘッド
    が問題になります。

インパクト

  • MoEモデルのスケーラビリティと効率性を向上。
  • 通信ボトルネックを解決し、大規模分散学習の高速化を可能にする。

3. DeepGEMM - FP8 行列演算ライブラリ

概要

  • FP8(8ビット浮動小数点)を活用した行列演算ライブラリ。
  • CUTLASSやCuTeのようなテンプレートベースの実装ではなく、300行のシンプルなCUDAコードで記述。
  • 実行時JITコンパイルを活用し、柔軟な最適化を可能に。
  • FP8 Tensor Coreのビット無駄遣いを修正。

背景知識: FP8とは?

通常、深層学習では FP16BF16 などの低精度数値フォーマットが使用されますが、さらに軽量な FP8 は、

  • メモリ使用量を削減
  • 計算速度を向上
    させることができます。

インパクト

  • FP8の採用により、メモリ使用量と計算コストを大幅削減。
  • JITコンパイルにより、ターゲットGPUに最適化された演算を動的に適用。

4. DualPipe / EPLB - パイプラインと負荷分散の最適化

概要

  • V3/R1学習時に使用された双方向パイプラインアルゴリズム。
  • MoEモデルのエキスパートバランシング手法(ノードごとの負荷を最適化)。

背景知識: パイプライン並列とは?

大規模モデルの学習では、モデルを 複数のGPUに分割 して並列処理する手法が用いられます。その際、

  • 計算と通信の同期が取れず待機時間が発生
  • 各GPUの負荷が不均衡になる
    といった問題が起こるため、最適なスケジューリングが重要になります。

インパクト

  • 大規模分散学習時のボトルネック(通信遅延や負荷不均衡)を解決。
  • MoEモデルの学習効率をさらに向上させる可能性。

このように、Deepseekの #OpenSourceWeek では、計算の最適化や推論の効率化に関する重要な技術が発表されました。今後、これらの技術がどのように活用されるのか、さらなる進展が期待されます。

Discussion