Zenn
🐳

DeepSeek-V3: 671Bパラメータを持つ最強のオープンソースMoE言語モデル

2025/03/28に公開

DeepSeek-V3: 671Bパラメータを持つ最強のオープンソースMoE言語モデル

この記事は以下のテクニカルレポートをもとに書かれています。
https://arxiv.org/abs/2412.19437

TL;DR

DeepSeek-V3は、総パラメータ数671B、各トークンに対して37Bが活性化される強力なMixture-of-Experts(MoE)言語モデルである。効率的な推論と費用対効果の高い学習を実現するために、Multi-head Latent AttentionとDeepSeekMoEアーキテクチャを採用し、補助損失なしの負荷分散戦略とマルチトークン予測を導入している。14.8兆トークンで事前学習され、他のオープンソースモデルを凌駕し、GPT-4oやClaude-3.5-Sonnetなどの主要なクローズドソースモデルに匹敵する性能を達成している。

はじめに

大規模言語モデル(LLM)の世界では、日々新しいモデルが登場し、性能の限界が押し広げられている。その中でも、DeepSeek-V3は特に注目すべきモデルだと思う。なぜなら、オープンソースでありながら、クローズドソースの最先端モデルに匹敵する性能を持ちつつ、トレーニングコストを大幅に削減しているからだ。

私は以前から、MoE(Mixture-of-Experts)アーキテクチャに興味を持っていた。通常の密なモデルと比較して、MoEモデルは同じ計算コストでより多くのパラメータを持つことができ、より効率的に知識を蓄えることができる。DeepSeek-V3は、このMoEアーキテクチャを極限まで活用した例と言えるだろう。

本記事では、DeepSeek-V3の技術的な特徴、アーキテクチャ、トレーニング方法、そして評価結果について詳しく見ていく。特に、効率的なトレーニングを実現するための工夫と、その結果達成された性能に焦点を当てる。

DeepSeek-V3の概要

DeepSeek-V3は、671Bという膨大なパラメータを持つMoE言語モデルである。各トークンの処理時には、このうち37Bのパラメータが活性化される。これは、計算効率とモデル容量のバランスを取るための設計だ。

DeepSeek-V3の主な特徴は以下の通りである:

  1. 効率的なアーキテクチャ

    • Multi-head Latent Attention (MLA)による効率的な推論
    • DeepSeekMoEアーキテクチャによるコスト効率の良いトレーニング
    • 補助損失なしの負荷分散戦略
    • マルチトークン予測(MTP)トレーニング目標
  2. 高効率トレーニング

    • FP8混合精度トレーニングフレームワーク
    • 計算と通信のオーバーラップを最大化するDualPipeアルゴリズム
    • クロスノードAll-to-All通信の効率的な実装
    • メモリフットプリントの最適化
  3. 知識蒸留

    • DeepSeek-R1シリーズのモデルからの推論能力の蒸留

これらの革新により、DeepSeek-V3は14.8兆トークンという膨大なデータでトレーニングされながらも、わずか2.788M H800 GPU時間(H800 2048台で約 56.7 日)という経済的なコストでトレーニングを完了している。これは、同等の性能を持つ密なモデルと比較して大幅なコスト削減を実現している。

アーキテクチャ

DeepSeek-V3のアーキテクチャは、効率的な推論と費用対効果の高いトレーニングを両立させるために、いくつかの革新的な要素を組み合わせている。

Multi-head Latent Attention (MLA)

MLAは、Key-Value (KV)キャッシュを削減するために、注意キーと値に対して低ランク結合圧縮を行う手法である。これにより、メモリ使用量を削減しつつ、効率的な推論を実現している。

具体的には、以下のような計算が行われる:

cKV=WDKVht\text{c}_{\text{KV}} = W_D^{\text{KV}} h_t

[k1,k2,...,knh]=k^=WUkcKV[k_{1}, k_{2}, ..., k_{n_h}] = \hat{k} = W_U^k \text{c}_{\text{KV}}

ktR=RoPE(WRkht)k_t^R = \text{RoPE}(W_R^k h_t)

kt,i=[ki;kiR]k_{t,i} = [k_i; k_i^R]

[v1,v2,...,vnh]=v^=WUvcKV[v_1, v_2, ..., v_{n_h}] = \hat{v} = W_U^v \text{c}_{\text{KV}}

ここで、cKV\text{c}_{\text{KV}}はキーと値に対する圧縮された潜在ベクトル、WDKVW_D^{\text{KV}}はダウンプロジェクション行列、WUkW_U^kWUvW_U^vはそれぞれキーと値に対するアッププロジェクション行列である。

DeepSeekMoE with Auxiliary-Loss-Free Load Balancing

DeepSeek-V3は、Feed-Forward Networks (FFN)にDeepSeekMoEアーキテクチャを採用している。このアーキテクチャでは、より細かい粒度のエキスパートを使用し、一部のエキスパートを共有エキスパートとして分離する。

MoEモデルでは、エキスパートの負荷がアンバランスになるとルーティングの崩壊につながる問題がある。DeepSeek-V3では、この問題に対処するために、補助損失なしの負荷分散戦略を導入している。具体的には、各エキスパートに対してバイアス項bib_iを導入し、Top-Kルーティングを決定するために、対応するアフィニティスコアsi,ts_{i,t}にそれを加算する:

si,t={si,t,si,t+biTopK({sj,t+bj1jNr},Kr)0,otherwises_{i,t}' = \begin{cases} s_{i,t}, & s_{i,t} + b_i \notin \text{TopK}(\{s_{j,t} + b_j | 1 \le j \le N_r\}, K_r) \\ 0, & \text{otherwise} \end{cases}

この戦略により、負荷分散を促進しながらも、モデル性能への悪影響を最小限に抑えることができる。

マルチトークン予測

DeepSeek-V3では、各位置で複数の将来のトークンを予測するマルチトークン予測(MTP)目標を導入している。これにより、モデルの性能が向上するだけでなく、推論時の投機的デコーディングにも活用できる。

MTPモジュールは、共有埋め込み層、共有出力ヘッド、Transformerブロック、射影行列で構成される。入力トークンtit_iに対して、kk番目の予測深度では、以下のような計算が行われる:

hik=Mk[RMSNorm(hik1);RMSNorm(Emb(ti+k))]h_i^k = M_k [\text{RMSNorm}(h_i^{k-1}); \text{RMSNorm}(\text{Emb}(t_{i+k}))]

hi:Tkk=TRMk(hik)h_{i:T-k}^k = \text{TRM}_k(h_i^k)

Pi+1+ki+k=OutHead(hi:Tkk)P_{i+1+k}^{i+k} = \text{OutHead}(h_{i:T-k}^k)

これにより、モデルは次のトークンだけでなく、その先のトークンも予測できるようになる。

トレーニング基盤

DeepSeek-V3のトレーニングは、効率性を極限まで追求するために、様々な工夫が施されている。

計算クラスタ

DeepSeek-V3は、2048個のNVIDIA H800 GPUを搭載したクラスタでトレーニングされた。各ノードは8個のGPUを含み、ノード内ではNVLinkとNVSwitchで接続され、ノード間ではInfiniBand (IB)で接続されている。

トレーニングフレームワーク

DeepSeek-V3のトレーニングは、HAI-LLMと呼ばれる効率的で軽量なフレームワークによってサポートされている。このフレームワークでは、8ノードにまたがる16方向パイプライン並列処理、64方向エキスパート並列処理、およびZeRO-1データ並列処理が適用されている。

特に注目すべきは、DualPipeアルゴリズムの導入だ。このアルゴリズムにより、フォワードプロセスとバックワードプロセス間の計算フェーズと通信フェーズをオーバーラップさせることができ、クロスノードエキスパート並列処理による通信オーバーヘッドを大幅に削減している。

FP8トレーニング

DeepSeek-V3では、FP8データ形式を利用した混合精度トレーニングフレームワークを導入している。これにより、トレーニング効率を向上させつつ、数値安定性も確保している。

具体的には、以下のような工夫が施されている:

  1. きめ細かい量子化:アクティベーションは1x128タイルベース、重みは128x128ブロックベースでグループ化およびスケーリングされる。これにより、外れ値の影響を軽減できる。

  2. 蓄積精度の向上:Tensor CoreでのMMA実行中、中間結果は一定間隔でCUDA CoreのFP32レジスタにコピーされ、完全精度のFP32蓄積が実行される。

  3. E4M3形式の採用:すべてのテンソルでE4M3形式(4ビット指数と3ビット仮数)を採用し、より高い精度を確保している。

これらの工夫により、FP8トレーニングの精度を大幅に向上させつつ、トレーニング効率も高めている。

プレトレーニング

DeepSeek-V3は、14.8兆の高品質で多様なトークンでプレトレーニングされた。このコーパスは、DeepSeek-V2と比較して、数学およびプログラミングサンプルの比率を高め、多言語対応を英語と中国語を超えて拡大している。

プレトレーニングの設定は以下の通りである:

  • Transformerレイヤー数:61
  • 隠れ層の次元:7168
  • アテンションヘッド数:128
  • ヘッドごとの次元:128
  • KV圧縮次元:512
  • クエリ圧縮次元:1536
  • MoEレイヤー:各レイヤーは1つの共有エキスパートと256のルーティングされたエキスパートで構成
  • 各エキスパートの中間隠れ層の次元:2048
  • アクティブエキスパート数:各トークンに対して8つ

プレトレーニング後、YaRNを適用して2つの追加のトレーニングフェーズを実行し、コンテキストウィンドウを4Kから32K、次に128Kまで段階的に拡張している。

評価結果

DeepSeek-V3は、様々なベンチマークで評価され、その性能が検証された。評価には、MMLU、MMLU-Redux、MMLU-Pro、HellaSwag、PIQA、ARC、GSM8K、MATH、HumanEval、LiveCodeBenchなど、多岐にわたるベンチマークが使用された。

評価の結果、DeepSeek-V3は他のオープンソースモデルを包括的に上回り、特にコードと数学のベンチマークで優れた性能を示した。また、GPT-4oやClaude-3.5-Sonnetなどの主要なクローズドソースモデルに匹敵する性能を達成している。

特に注目すべきは、DeepSeek-V3のチャットバージョンが、Arena-HardでGPT-4-0314に対して86%以上の勝率を達成し、AlpacaEval 2.0では、クローズドソースモデルとオープンソースモデルの両方を上回る結果を示したことだ。

今後の展望と制限事項

DeepSeek-V3には、いくつかの制限事項も存在する。まず、効率的な推論を確保するために、推奨デプロイメントユニットが比較的大きく、小規模なチームにとっては負担になる可能性がある。また、エンドツーエンドの生成速度はDeepSeek-V2の2倍以上であるが、さらなる改善の余地がある。

これらの制限は、より高度なハードウェアの開発によって自然に解消されると期待される。

今後の方向性としては、以下のような戦略的投資が計画されている:

  1. モデルアーキテクチャの研究と改良:訓練と推論の効率を改善し、無限コンテキスト長をサポートする。Transformerのアーキテクチャの限界を打破し、モデリング能力の境界を押し広げる。

  2. トレーニングデータの量と質の向上:追加の訓練信号源の組み込みを検討し、より包括的な範囲の次元にわたるデータスケーリングを推進する。

  3. モデルの深い思考能力の強化:推論の長さと深さを拡大することにより、知性と問題解決能力を強化する。

  4. より包括的なモデル評価方法の検討:固定されたベンチマークを最適化する傾向を防ぎ、モデルの能力に関する誤解を招く印象が生じる可能性を減らす。

結論

DeepSeek-V3は、671Bという膨大なパラメータを持ちながらも、効率的なアーキテクチャと最適化されたトレーニング方法により、経済的なコストでトレーニングを完了させた革新的なMoE言語モデルである。

Multi-head Latent AttentionとDeepSeekMoEアーキテクチャの採用、補助損失なしの負荷分散戦略の導入、マルチトークン予測トレーニング目標の設定など、様々な革新により、DeepSeek-V3は他のオープンソースモデルを凌駕し、主要なクローズドソースモデルに匹敵する性能を達成した。

特に注目すべきは、DeepSeek-V3の完全なトレーニングに必要なH800 GPU時間がわずか2.788M時間であり、トレーニングプロセスが非常に安定していたことだ。これは、アルゴリズム、フレームワーク、ハードウェアの最適化された共同設計の成果と言える。

DeepSeek-V3は、オープンソースモデルの可能性を大きく広げ、今後のAI研究の方向性に大きな影響を与えるだろう。

以上。

CryptoAI, Inc.

Discussion

ログインするとコメントできます