DeepSeek、推論フレームワーク「DeepInfer」をApache-2.0で公開

DeepSeek-AIは、大規模なDeepSeekモデル向けの推論フレームワーク「DeepInfer」をGitHub(deepseek-ai/DeepInfer)でApache License 2.0のもとオープンソース公開しました。対応モデルはDeepSeek-V4.1-Flashで、動作対象はNVIDIA SM100 GPUとHuawei Ascend 950 NPUです。

DeepSeekは言語モデルの研究成果と重みを公開し、対話サービスやAPIを提供するAI開発企業です。Hacker Newsでは185ポイント・57コメントを集め、リポジトリはスター4.2k、フォーク319、プルリクエスト9件の状況です。

何が新しいか

DeepInferはDeepSeekの大規模本番サービスを支える推論フレームワークで、今回の公開版はスケール提供に必要な中核機能を備えたオフライン推論を提供します。主な機能は次のとおりです。

  • 最適化カーネル: FlashMLA、DeepGEMM、DeepEP、TileKernels、DeepSelect、独自TileLangカーネル
  • 並列化: Attention DP / balanced CP、MoE EP + EPLB
  • DSparkとconfidence-scheduled verification(ドラフトトークンでデコードを高速化し、信頼度推定で検証をスケジュール)
  • Decoder SWA bounded replay(有界なサフィックスのみ再生してprefill作業を削減)
  • 非同期スケジューリング(CPUのバッチスケジューリングとデバイス実行を重ねる。既定で有効)
  • バッチ不変推論、決定的サンプリング(いずれもNVIDIAのみ)
  • 構造化出力(正規表現、JSON Schema、EBNF文法)

一方、完全な推論サービスに必要なKVキャッシュシステム、VE/Prefill/Decode分離(エンジン側の必要機能の大半は実装済み)、PrefillとDecode双方のデータ並列レプリカ間ロードバランシングは公開版に含まれません。

DeepInferは主にvLLMを基盤に構築され、SGLangとTensorRT-LLMも参考にしています。vLLMはPagedAttentionや連続バッチ処理を備えるLLM推論・配信ライブラリです。

要件と試し方

項目 要件
OS Linux
コンパイラ GCC 13.0以上
Python 3.12
NVIDIA CUDA 13、SM100 GPU
Ascend CANN 9.2、Ascend 950 NPU

空のPython 3.12環境を作成・有効化したうえでビルドします。Ascendではnvidiaの代わりにascendを指定し、実行環境でもこの変数をexportしたままにします。

export DEEPINFER_ACCELERATOR=nvidia
./build.sh
python examples/offline_inference.py

初回実行時に既定チェックポイントdeepseek-ai/DeepSeek-V4.1-Flash-1017がHugging Faceキャッシュへダウンロードされます。ローカルコピーを使う場合はDEEPINFER_HF_MODEL_DIR=/path/to/DeepSeek-V4.1-Flash-1017を設定します。

主な設定

機能 設定
MTP可変長デコード DEEPINFER_ENABLE_MTP_VARLEN=1、最大ドラフト長はDEEPINFER_USE_NEXTN_DECODE(既定5)
SWA bounded replay(V4.1既定) DEEPINFER_YOCO_PREFILL_TRUNCATION_MODE=compact、DEEPINFER_YOCO_PREFILL_KEEP_TOKENS=140
バッチ不変推論 DEEPINFER_BATCH_INVARIANT=1
決定的サンプリング DEEPINFER_BATCH_INVARIANT=1 DEEPINFER_ENABLE_MTP_VARLEN=0、SamplingParamsに固定のseq_seed
構造化出力 SamplingParamsにso_args={"schema_type": ..., "schema": ...}

SWA bounded replayで保持するサフィックスは、SWAウィンドウと最大バックトラック長をカバーする必要があります。

ベンチマーク条件

性能ベンチマークは、Prefillを4基、Decodeを64基のSM100 GPUで測定しており、いずれも単一のscale-upドメイン内での計測です。再現にはrun_sweep.shを使い、評価ベンチマークはeval/README.mdにまとめられています。

この記事の固有名詞

コメント (0)

まだコメントはありません。

コメントを書く

2000文字以内