0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

下書きを並列で出しても前後関係を壊さないDSparkをDeepSeekが公開

0
Posted at

大規模言語モデルの推論が「待たされる」とき、ボトルネックは賢さではなく出力の作り方にある。トークンを1個生成するたびにモデル全体を1回走らせる。長い返答になるほどこの往復が積み上がり、しかも1回あたりGPUはほとんど遊んでいる。DeepSeekが6月27日にGitHubで公開したDeepSpecと、その中核アルゴリズムDSparkは、ここを狙い撃ちにした。モデルの重みも賢さも一切変えずに、同じ出力をより速く吐かせる話だ。

なぜ1トークンずつだと遅いのか

自己回帰生成(autoregressive、前のトークンを見て次の1個を決める仕組み)では、1回の順伝播で進むのは1トークン。問題は、この処理がGPUの計算力ではなくメモリ帯域で詰まる点にある。少人数に配信しているサーバーほど演算ユニットが空き、それでも待ち時間は長い。DeepSeekは社内研究で、この逐次出力を「AIの提供における第一のボトルネック」と表現している(South China Morning Post)。

打開策として知られるのが投機的デコーディング(speculative decoding)だ。安価な「下書きモデル」に次のkトークンをまとめて推測させ、本体(target)モデルがそのk個を1回の並列順伝播でまとめて検証する。先頭から本体の答えと一致する分だけ採用し、外れた所で打ち切る。採用されたトークンは本体が自分で生成した場合と数学的に同一になるので、品質は落ちない。1回の高コストな順伝播で複数トークン進めるぶんだけ速くなる、という理屈である。速さの指標は「採択長」(accepted length、検証1回あたり平均何トークン通るか)で、これが伸びるほど速い。

DSparkがEagle3やDFlashと違うところ

下書きモデルには既に有力なやり方がいくつもあり、DeepSpecはそれらを同じ土俵に載せている。リポジトリにはDSparkに加え、現行の代表格であるEagle3と、DeepSeek自身の先行手法DFlashが実装されている。両者の弱点は対照的だ。

下書きの作り方 特徴 弱点
Eagle3 トークンを逐次に下書き 精度は高いが下書き自体が遅い
DFlash ブロック全体を一括並列生成 速いが各トークンが互いを無視し、後半が外れやすい
DSpark 並列でブロック生成+隣接依存だけ補う 速さと採択長を両立

DSparkの肝は、ブロックを並列で一気に出しつつ、その上にMarkovヘッド(既定でランク256)またはRNNヘッドという軽量なヘッドを1枚載せ、隣り合うトークン同士の遷移確率だけを明示的に持たせる点にある。一括生成の速さを残したまま、「後ろのトークンが前を無視してちぐはぐになる」破綻を抑える、という発想だ。Markovヘッドは短い系列・高スループット向き、RNNヘッドは長い系列でやや有利、と使い分ける。さらに各候補トークンに「本体に採択される確率」を見積もるconfidenceヘッドが付く。

この設計の差は数字に出ている。DeepSeekの計測では、採択長がEagle3比で26.7〜30.9%、DFlash比で16.3〜18.4%伸びた(MarkTechPost)。比較の基準になっている「MTP-1」は、DeepSeek-V3で導入されたMulti-Token Predictionヘッドを下書き1段として使う構成を指す。

採択長だけでは終わらせない設計

個人的に面白いと思ったのは、オフラインの採択長で勝っても本番のスループットに直結するとは限らない、という現実をDSparkが正面から扱っている点だ。検証は本体モデルを動かすので、無闇に長く下書きを検証すれば本番では逆に詰まる。

そこでDSparkは、GPUクラスタの同時負荷・候補トークンのconfidence分布・推論エンジンのスループット曲線を見て、リクエストごとに検証するトークン長を動的に決める負荷対応スケジューラを持つ。GPUが空いていれば多く検証し、混んでいれば控える。DeepSeekはこれを「計算需要に応じて検証量を動的に調整する」仕組みと説明している。本番V4での主張値は、1ユーザーあたりの生成がMTP-1基準でV4-Flashが60〜85%、V4-Proが57〜78%高速化、混雑時の集約スループットは最大約400%増、というものだ。狙いは速度だけでなく、「より大きく強力なチップへの依存を減らす」コスト面にもあると同社は述べている。

公開されたものと、主張のままのもの

ここは冷静に切り分けたい。MITライセンスで公開されたDeepSpecは、データ準備・複数GPUでの下書き学習・評価までを通す本物のコードベースで、実際に再現できるのはQwen3(4B/8B/14B)とGemma-4 12Bを本体に据えた構成だ。評価はgsm8k、math500、aime25、humaneval、mbpp、livecodebench、mt-bench、alpaca、arena-hard-v2の9本で回る。一方、見出しを飾るV4の60〜85%という production 値はDeepSeekの論文・運用に基づく主張で、公開リポジトリからそのまま追試できる部分ではない。チェックポイントDeepSeek-V4-Pro-DSpark等は既存V4の重みに下書きモジュールを足したものとされる。本稿執筆時点で、これらの数値に対する第三者の独立検証は確認できていない。

自前でQwenやGemmaをホストしている側からすると、ありがたいのは本体を再学習せず下書きだけ足せる点だ。手順自体は素直で、README記載のコマンドはこの程度に収まる。

git clone https://github.com/deepseek-ai/DeepSpec
cd DeepSpec
python -m pip install -r requirements.txt
bash train.sh   # 下書きモデルの学習
bash eval.sh    # 9ベンチでの評価

新モデルでも巨大文脈でもなく、地味な「サービングの最適化」だ。それでも、賢さ競争が一段落して各社が推論コストとGPU逼迫に頭を抱えている今、重みを触らず同じ品質のまま速くなる手が、しかも他社のオープンモデルにも効く形でMITで出てきた意味は小さくない。再現可能なのがQwen/Gemma側である以上、まず手元のオープンモデルで採択長がどれだけ伸びるかを測るのが、この公開のいちばん健全な使い方だろう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?