製品リリース · 小互解説

一手間かけたほうが速い:DSpark で DeepSeek V4 の単一ユーザー生成速度が 85% 向上

既存の MTP-1 投機的デコードの上にさらに 60–85% 高速化、ドラフトと検証のパイプラインを重ねて実行することで実現(数値は DeepSeek の自己評価)
速览
  • DeepSeek が DSpark を発表、DeepSeek-V4 専用に設計された投機的デコードの高速化フレームワーク
  • 本番環境で既に使われている MTP-1 ベースラインと比べ、単一ユーザー生成速度が 60–85% 向上(DeepSeek の自己評価値)
  • 中核の仕組み:軽量なドラフトモジュールが先回りして複数の語を推測し、メインモデルが一括検証、当たればすべて採用
  • 鍵となる改良:ドラフト生成とメインモデル検証の二段階をパイプライン化して並行実行し、直列の待ち時間を消す
  • 純粋に推論側のシステム最適化で、モデルの重みは変えず、既存の DeepSeek-V4 デプロイにそのまま組み込める
立場の補足:これは DeepSeek が発表した自社製の高速化フレームワークで、60–85% の高速化は公式の自己評価値、DeepSeek-V4 の本番環境向け、第三者による独立検証はまだ見られない。以下では、どう動くのか、速さがどこから来るのかを解説する。
1何なのか

DeepSeek は何を発表し、どれだけ速くなったのか

DeepSeek は先日 DSpark を発表した。DeepSeek-V4 向けの投機的デコード高速化フレームワークで、既存の MTP-1 ベースラインの上で単一ユーザー生成速度をさらに 60–85% 引き上げる。

DSpark は純粋に推論側の高速化フレームワークで、モデルの重みには手を付けず、大規模モデルの「言葉の吐き出し方」だけを変える。それだけで、一人のユーザーが返答を受け取る速度が 6〜8 割速くなる。

本当の見どころは「どのベースラインの上で速いのか」だ。「何の高速化もない状態」と比べているのではなく、DeepSeek-V4 の本番環境ですでに動いている MTP-1 投機的デコードと比べている。つまり、すでに高速化済みの方式の上で、さらに 60–85% を絞り出している。これは工学システムのレベルでの二段階目の高速化で、DeepSeek は V4 の本番サービスで既に使用していると述べている。

2ボトルネック

大規模モデルはなぜ一文字ずつしか出せないのか

大規模モデルが文章を生成するのは、一つの語に続いて次の語を吐き出していく作業だ。語を一つ吐くたびに、モデル全体を頭から末尾まで一度計算し(一回のフォワードパス)、その語を得てから、ようやく次の語を計算できる。

語と語の間には厳密な前後関係がある。後の語は前の語に依存し、飛ばして計算することはできない。どれだけ計算力が強くても、あなた一人のこの一文は救えない。GPU を積めばモデルはより多くの人を同時にさばけるが、一人のユーザーに対しては、やはり一歩ずつ進むしかない。一文が百語なら、頭から末尾までの計算が百回、列に並んで待つことになる。

語 1フォワード ①
語 2フォワード ②
語 3フォワード ③
語 4フォワード ④
語 5フォワード ⑤

だがここに、つけ込めるすき間が隠れている。モデルに、すでに書かれた何個かの語を「検証」させるのと、新しい語を一つ「生成」させるのとでは、かかる計算力はほぼ同じだ。生成は一歩ずつの依存に縛られるが、検証は一度にまとめて一気に並列で照合できる。

新しい語を 1 個生成

前の語が出るのを必ず待たねばならず、一度の完全なフォワードで語が一つ返るだけ。高くつき、しかも直列でしか進めない。

書き上げ済みの K 個を検証

このひとまとまりを一度に投入して並列で照合、計算力 ≈ 一度のフォワード。一気に一連を全部チェックする。

投機的デコードは、このすき間から入り込む手法だ。

3中核の仕組み

先にひとまとめに推測し、まとめて一度に確認

投機的デコードの発想は直感に反する。大規模モデルに律儀に一つずつ書かせるより、足の速い「下書き係」を雇って、後ろの数語を一気に推測させ、その上で大規模モデルにこのひとまとまりが当たっているかをまとめて検証させたほうがいい、というものだ。

ドラフト MTP、軽量 推測が速い ① 一気に K 個推測 推1 推2 推3 推4 推5 主モデル 一括検証 ② 一度で全検証 このバッチ全体の検証コスト ≈ 語 1 個の生成
ドラフトヘッドが先に K 個の候補語(推 1 から推 5)を推測し、メインモデルが一度のフォワードでこのひとまとまりを全部検証する。一括検証のコストは、自分で語を 1 個生成するのと大差ない。
中核の直観

K 個の語を検証するコスト 語を 1 個生成。だから下書き係の推測さえ十分に当たれば、メインモデルは検証を一度するごとに、一気に数語を確定できる。何歩かを一歩にまとめたようなものだ。「推測」という一工程が増えたのに、合計時間はかえって短くなる。

下書き係とは誰で、推測の精度はどう測るのか

この「下書き係」は別途用意した小さなモデルではなく、DeepSeek モデルの学習時にあらかじめ取り付けてある付加モジュールで、MTP(マルチトークン予測)ヘッドと呼ばれる。とても軽く、次に来る数語の確率を同時に予測でき、メインモデルよりずっと速く動く。生まれつき「素早く下書きする」仕事に向いている。

下書き係が推測した語が、メインモデルに認められる割合を受理率ドラフトヘッドが推測した語が、メインモデルの検証を経て認められる割合。ドラフトヘッドとメインモデルの分布がどれだけ近いかで決まり、受理率が高いほど、毎回正味で稼げる有効な語が増える。と呼ぶ。受理率が高いほど、検証 1 回ごとに正味で稼げる語が増え、速度の向上も大きくなる。これは下書き係とメインモデルが「同じことを思いつく」度合いで決まる。

たとえると

採点は出題より速い。一度にまとめて K 問を出題し、先生がまとめて採点するほうが、1 問出して採点し終えてから次を出すより、ずっと効率がいい。投機的デコードは、速い下書き係に問題をまとめて「出題」させ、大規模モデルに一度で「採点」させるのと同じだ。

4DSpark が変えたもの

MTP-1 はもう使われている、DSpark はどこで速いのか

MTP-1 は DeepSeek-V4 の本番環境ですでに動いている方式で、毎回一歩しか推測しない。一つ推測してメインモデルの検証を待ち、また次を推測する。DSpark はそれをベースに二か所へ手を入れた。

改良その 1
数歩多く推測

ドラフトヘッドが一度に先の語を数個多く探り、1 回の検証で確定できる語が増える。

改良その 2
推測と検証を同時に

「推測」と「検証」を順番待ちからパイプラインに変え、前のバッチを検証している間に、次のバッチをもう推測している。

高速化の主因

60–85% の向上は、主に二つ目の手によるものだ。MTP-1 では「推測し終えて検証を待ち、検証し終えてまた推測する」の間に、何もせず空く時間の窓があり、二つの流れが交互に遊んでいた。DSpark はこの窓を埋めた。ドラフトの流れと検証の流れが、時間軸上で重なって走り、互いに待たない。

MTP-1:推測後に検証待ち、2 流が交互に空転 ドラフト 検証 待機 MTP-1 完了 → DSpark:推測と検証が重なり 2 流とも止まらない ドラフト 検証 巻戻し DSpark 完了 → ↓ ここを節約 時間 → ドラフト 検証 採用 巻戻し点
上半分が MTP-1:ドラフトと検証が交互に登場し、一方が働いている間もう一方は空き待ち(破線の枠)。下半分が DSpark:ドラフトの流れが連続して先を探り、検証の流れが連続して照合、二つの流れが時間軸上で重なり、空白の窓がない。同じ作業量でも、DSpark は一足先に完了する。
たとえると

自動車の生産ライン。前の一台にタイヤを付けている間、次の一台のシャシーはもう塗装に入っている。前の一台が全部終わるのを待ってから次に取りかかったりしない。DSpark は GPU にも同じことをさせる。前のバッチを検証している間に、次のバッチはもう推測を始めていて、マシンは空転しない。

5完全なループ

推論の一周、推測から確定まで

ここまでをつなぎ合わせると、DSpark の完全な一周はこう回る。

ドラフトヘッドが K 個推測速い
メインモデルが一度で検証1 フォワード
受理率で照合合うところまで
的中は残す/誤りは巻戻し打ち切って再開
↻ 最初に戻り次の周へ(ドラフトと検証はパイプラインで重なる)

検証は頭から後ろへ照合する。連続して当たった語はすべて採用し、最初に外れた語に当たった瞬間、そこで打ち切る。誤った位置で、メインモデルはついでに自分が正しいと考える語を一つ与える(この一つもタダで手に入る)。誤った語の後ろで下書き係が推測し続けた部分はすべて破棄し、次の周はこの位置から改めて始める。

語1✓ 的中
語2✓ 的中
語3✓ 的中
語4✓ 的中
語5メイン修正
語6破棄
語7破棄

この周:当たった語 4 個 + メインモデルがその場で修正した語 1 個で、正味 5 個の語を稼ぎ、かかったのは検証 1 回分のコストだけ。下書き係の推測が正確なほど、緑が増えて破棄が減り、全体はより速くなる。

6数字

高速化は結局どれくらいか

あの数字に戻ろう。すでに高速化済みの MTP-1 というベースラインの上で、DSpark は単一ユーザー生成速度をさらに 60〜85% 引き上げた。

MTP-1 ベースラインDeepSeek-V4 の本番環境で既に使われている単ステップ投機的デコード方式、比較の基準(100%)。
100%
DSpark(区間の下限)MTP-1 比で約 60% 高速化、ベースラインの約 1.6 倍の速度に相当。
160%
DSpark(区間の上限)MTP-1 比で約 85% 高速化、ベースラインの約 1.85 倍の速度に相当。
185%
60–85%
DSpark の MTP-1 ベースライン比、単一ユーザー生成速度の向上幅
MTP-1
比較基準:V4 本番で既に使う単ステップ投機的デコード方式
V4
DSpark の対象モデル DeepSeek-V4

この数値は DeepSeek の自己評価で、DeepSeek-V4 の本番環境向け。注意したいのは、比較する両端ともすでに「高速化済み」の状態で、この区間自体が MTP-1 の上にさらに積み上げた増分だという点だ。

7実用価値

これは誰の役に立つのか

これは推論側のシステム最適化で、その価値は二方向に分かれる。ユーザーと、サービス提供側だ。

ユーザーにとって。あなたが目にするのはストリーミング出力で、返答が一文字ずつ飛び出してくる。生成速度が上がれば、一文字ずつ表示されるのを待つ感覚も軽くなる。これは直接体感できる体験の差だ。

サービス提供側にとって。DSpark はモデルの重みを変えないので、既存の DeepSeek-V4 デプロイにそのまま組み込め、移行コストが低い。同じ GPU 群で、より高い同時実行をさばくか、より少ないハードで元のサービス水準を達成できる。

DeepSeek Releases DSpark, a Speculative Decoding Framework That Accelerates DeepSeek-V4 Per-User Generation 60–85% Over MTP-1. 原題 · MarkTechPost / DeepSeek
出典:MarkTechPost / DeepSeek。本稿はベンダー発表内容の解説で、60–85% の高速化は DeepSeek の自己評価値、DeepSeek-V4 の本番環境向け。本文中のタイミング図は仕組みの概念図で、実際のベンチマーク比率ではない。