DeepSeek · オープンソース推論フレームワーク

DeepInfer:構成・導入・オフライン推論

DeepInfer は推論フレームワークであり、モデルの重み付けを実行するソフトウェアです。サポートされているハードウェアから始めて、リリースされたエンジンを理解してから、文書化された Linux ビルドとオフラインの例に従います。

独立したドキュメントガイド。 DeepInfer をインストールしたり、その GPU ベンチマークを再現したりしていません。このページは、推論をホストしたり、コマンドを実行したり、モデルの重みをダウンロードしたりすることはありません。

チェックしたソース:

インストールする前にサポートを確認してください

現在の README には、次のプラットフォームとモデル ファミリがリストされています。古い DeepSeek モデル、他のアクセラレータ、ネイティブ Windows または macOS のサポートは、このリストでは確立されていません。

文書化された前提条件 - 1 つのデバイスがモデルに適合することを保証するものではありません
要件NVIDIA パス登り道
サポートされているモデル ファミリDeepSeek-V4.1-FlashDeepSeek-V4.1-Flash
アクセラレーターNVIDIA SM100Huawei Ascend 950
オペレーティングシステムLinuxLinux
Python環境Python 3.12Python 3.12
コンパイラGCC ≥ 13.0GCC ≥ 13.0
プラットフォームツールキットCUDA 13CANN 9.2

デバイスのサポートとメモリ容量は別のチェックです。構成のデバイス数、メモリ、相互接続、およびチェックポイント要件を確認します。コンシューマ GPU と Python のインストールだけでは、これらの前提条件を満たしません。

オフライン エンジンがどのように連携するか

この簡略化されたフローでは、オフライン実行について説明します。これは、完全な運用 HTTP サービスや完全なクラスター トポロジを表すものではありません。

  1. 01

    オフラインリクエスト

    プロンプトと生成パラメータ

  2. 02

    スケジュール設定

    バッチと実行作業を整理する

  3. 03

    モデルの実行

    コンテキストを事前入力してからトークンをデコードする

  4. 04

    サンプリング

    構成されたルールの下でトークンを選択します

  5. 05

    出力

    生成されたシーケンスと診断

最適化されたカーネル

カーネルはデバイスレベルの計算ルーチンです。 DeepInfer は、特殊なカーネル ライブラリとその実行ランタイムを組み合わせます。現在のライブラリ セットとプラットフォームのサポートについては、リンクされた README を調べてください。

注意 DP / CP、MoE EP / EPLB

DP はデータ並列処理を意味します。 CP はコンテキスト並列処理を意味します。 MoE は専門家の混合であり、EP は専門家を分散し、EPLB は専門家の仕事のバランスをとります。これらは、既製のサービス ロード バランサーではなく、エンジンの並列処理を説明します。

投機的デコードと SWA リプレイ

ドラフト トークンを提案し、一緒に検証することができます。 DSpark は、信頼度を使用して検証をスケジュールします。 SWA はスライディング ウィンドウ アテンションを意味します。制限付き再生は、適切なサフィックスを保持することで、繰り返しの事前入力作業を軽減します。詳細設定はモデル構成によって異なります。

スケジューリング、サンプリング、構造化された出力

非同期スケジューリングは、CPU スケジューリングとデバイスの実行と重複します。構造化出力により、生成が JSON スキーマ、正規表現、EBNF 文法などの形式に制限されます。バッチ不変実行と決定論的サンプリングには別の構成要件があります。

README では現在、バッチ不変推論と決定論的サンプリングが NVIDIA 専用としてマークされています。決定論的サンプリングには、文書化された設定と固定シーケンス シードがさらに必要です。このチュートリアルでは、デフォルトでは高度な最適化フラグが有効になりません。

リリースされたエンジンと完全なオンライン サービス

DeepSeek の実稼働システムに関する展開 Q&A の説明とは別に、リリース範囲をお読みください。ここで説明されているすべての運用コンポーネントがリポジトリの一部として出荷されるわけではありません。

機能と残りの統合作業
エリアリリースされたエンジン性能完全なオンラインサービスの場合
実行オフラインでの生成、モデルの実行、スケジューリング、サンプリング。リクエストのイングレス、サービスのライフサイクル、運用の統合。オフラインの例を HTTP サーバーとして扱わないでください。
キャッシュエンジンレベルの KV の使用と制限付き再生機能。インフラストラクチャに結合された管理レイヤーを含む、このリリースの対象外としてリストされている完全な KV キャッシュ システム。
並列処理とバランス調整MoE エキスパート並列処理とエキスパート並列負荷分散 (EPLB)。プリフィルとデコードのためのデータ並列レプリカ間の負荷分散。
ステージ分離必要なエンジン機能の多くが実装されています。細分化されたビジョンのエンコーディング、プリフィル、デコードの展開とオーケストレーション。

DeepSeek Recipe は、別個のプロトコル変換およびトークンのエンコード/デコード ライブラリです。その存在は、オフライン DeepInfer リリースにバンドルされ、本番環境に対応した API サーバーとして解釈されるべきではありません。

Linux でソースからビルドする

上記の前提条件を満たすマシンを使用してください。以下のコマンドは単なるドキュメントの例です。アクセラレータ プラットフォームを 1 つ選択し、そのビルドには別の空の Python 環境を使用します。

1. Python 3.12のクローンを作成してアクティブ化します。

git clone https://github.com/deepseek-ai/DeepInfer.git
cd DeepInfer
python3.12 -m venv .venv
source .venv/bin/activate

仮想環境がアクティブな状態で、DeepInfer リポジトリのルートに残ります。実行前に現在のビルド スクリプトを確認し、ソース リビジョンとモデル リビジョンを記録し、依存関係と重みのために十分なディスクとメモリを予約します。

メイン パスは、SM100 ハードウェアと CUDA 13 がすでに準備されていることを前提としています。 DeepInfer を実行するときは、同じ環境にエクスポートされた DEEPINFER_ACCELERATOR を維持します。ビルドは依存関係をインストールし、ベンダー提供のコンポーネントをコンパイルします。

2. NVIDIA / Linux ビルド

export DEEPINFER_ACCELERATOR=nvidia
./build.sh

CANN 9.2 を搭載した Ascend 950 の場合は、NVIDIA ビルドを実行する代わりに、別の一致する環境で ascend を使用します。 2 つのツールチェーンを組み合わせたり、CUDA 固有の手順が適用されることを期待したりしないでください。

代替: Ascend / Linux ビルド

export DEEPINFER_ACCELERATOR=ascend
./build.sh

オフライン推論サンプルを実行する

デフォルトのチェックポイント: deepseek-ai/DeepSeek-V4.1-Flash-1017。最初の実行では、ウェイトを Hugging Face キャッシュにダウンロードできます。これは大規模モデルの実行であり、軽量 CPU スモーク テストではありません。

この例では、8 つの NVIDIA デバイスを明示的に選択し、-ep 8 を使用します。これらのデバイスが存在し、十分なリソースがあることを前提としています。これは汎用の単一カード コマンドではありません。 Ascend ユーザーは、プラットフォーム固有の公式例に従い、それに応じてデバイスの可視性を設定する必要があります。

NVIDIA の例 · 8 つの一致する可視デバイス

export DEEPINFER_ACCELERATOR=nvidia
export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
python examples/offline_inference.py --ep 8

既存のローカル チェックポイントを使用する

export DEEPINFER_HF_MODEL_DIR=/path/to/DeepSeek-V4.1-Flash-1017
python examples/offline_inference.py --ep 8

同じ構成済みの NVIDIA シェルでローカル チェックポイントの代替を実行します。 /path/to/DeepSeek-V4.1-Flash-1017 を、config.json とウェイト ファイルを含む実際の互換性のある Hugging Face チェックポイント ディレクトリに置き換えます。環境変数はデフォルトのモデル パスを変更します。明示的に指定された --model_name はオーバーライドされません。

パフォーマンス結果を正しく読み取る

公式 README のプレフィル チャートは 4 SM100 GPU を使用し、そのデコード チャートは 64 を使用しており、それぞれ 1 つのスケールアップ ドメイン内にあります。これらの構成は公開されているチャートを説明したものであり、普遍的な最小値や当社が実行したベンチマークではありません。

段階、測定基準、解釈
メトリック単位・範囲それをどう解釈するか
プレフィルスループットトークン/秒/GPU入力トークンの処理速度。入力長、キャッシュ カバレッジ、バッチ サイズと併せて読み取ります。これは完全なリクエスト レイテンシではありません。
avg_SPS をデコードするステップ/秒1 秒あたりの定常状態のデコード ステップ。投機的デコードが有効な場合、ステップは必ずしも 1 つの受け入れられた出力トークンであるとは限りません。
デコード スループットのアカウンティング完全受け入れコンベンションこの例では、完全なドラフト受け入れ規則を使用してスループットを報告します。配信された出力トークン/秒として扱う前に、ドラフトの長さと真の受け入れ率を比較します。
ユーザーごとの速度と遅延リクエスト/ワークロードごと高い総スループットは、各リクエストに対する高速な応答を保証するものではありません。同じハードウェア、同時実行性、コンテキスト、測定境界を比較します。

曲線を再現するときは、ソース リビジョン、ハードウェア、デバイス数、並列処理、バッチ設定、キャッシュされたプレフィックス、ドラフト長、および許容前提を記録します。プロファイリングは実行を混乱させます。プロファイラのトレース タイミングから定常状態のパフォーマンスを導き出すことはできません。これらのグラフからは、普遍的な高速化や API 価格はわかりません。

詳細オプションはインストールのデフォルトではありません

DSpark、信頼性に基づく検証、SWA 制限付きリプレイ、および再現可能なサンプリングには、それぞれモデルとプラットフォームの条件があります。文書化された例から始めて、最適化フラグを変更したり結果の違いを解釈したりする前に、README と設定例を調べてください。

トラブルシューティングのチェックリスト

サポートされていないハードウェア
コンパイルする前に、現在の README と照合してアクセラレータ アーキテクチャを確認してください。 Python のインストールが成功しても、カーネルの互換性は確立されません。
ビルドまたはコンパイラの失敗
Linux、GCC、Python、および一致する CUDA/CANN バージョンを確認します。環境を隔離した状態に保ち、無関係なツールチェーン バージョンをインストールするのではなく、最初に失敗したビルド ステップを検査します。
プラットフォーム変数がありません
DEEPINFER_ACCELERATOR をアクティブ化された環境で nvidia または ascend としてエクスポートし、その後の実行のために保持します。インストールされているハードウェアとライブラリに一致するプラットフォームを選択してください。
チェックポイントを解決できません
有効なモデル ID または config.json と重みを含む既存の互換性のあるディレクトリを使用します。環境オーバーライドがアクティブであると想定する前に、権限と明示的な --model_name 引数を確認してください。
デバイス数が間違っているか、メモリが不足しています
表示されるデバイス、並列構成、モデルのメモリ要件を確認します。デバイス数の削減は自動的には有効になりません。利用可能なハードウェアに適合する文書化された構成を選択してください。

よくある質問

公式ソースとモデルの背景

実行前に現在のサポートとコマンドを確認してください。リポジトリは、以下の日付以降に変更される可能性があります。リンクされたモデルの記事は背景を提供するものであり、追加のハードウェア互換性保証ではありません。