DeepSeekが、自社モデルに回答を生成させるソフトウェアをオープンソースで公開した。モデルをサービスに適用したい開発者は、実行の中核機能をダウンロードして試し、サービスインフラと分けて導入範囲を判断できるようになった。
1. 対応モデルとハードウェア
DeepInferは、DeepSeekの大規模な本番サービスを動かす推論フレームワークだ。今回の公開では、サンプルスクリプトでモデルを実行するオフライン推論を提供する。
対応モデルはDeepSeek-V4.1-Flashで、ライセンスはApache 2.0だ。
対応ハードウェアはNVIDIA SM100 GPUとHuawei Ascend 950 NPUだ。導入検討は、このモデルとデバイスの組み合わせに合わせて始めるのが妥当だ。
2. 処理効率と結果の再現性
非同期スケジューリングは、CPUが次のリクエスト群を準備する間にアクセラレーターが現在の処理を実行するよう重ね合わせる方式で、デフォルトで有効になっている。
回答の候補となる断片を先に生成し、信頼度に応じて検証のタイミングを決めるデコーディング高速化機能も含まれる。
リクエストをどのようなバッチで処理してもモデルの結果を同じに保つ機能と、同じ入力・サンプリング設定で同じ出力を得る決定論的サンプリングも提供する。どちらもNVIDIA専用で、決定論的サンプリングには別途機能設定と固定シードが必要だ。シードはランダムな選択を再現するための基準値だ。
構造化出力は、生成結果を所定の文法に合わせる機能だ。正規表現やJSONスキーマ、EBNF文法で出力形式を制限できる。
3. ビルドとモデルの準備
Linuxでソースをビルドし、コンパイラーにはGCC 13.0以上が必要だ。
ビルド前に空のPython 3.12環境を作成して有効化する。以下はリポジトリに掲載されたビルドコマンドだ。
# Use `ascend` instead for the Ascend platform
# Keep it exported in the environment where you run DeepInfer
export DEEPINFER_ACCELERATOR=nvidia
./build.shアクセラレーターごとの開発環境も必要だ。NVIDIA向けにはCUDA 13、もう一方の対応アクセラレーター向けにはCANN 9.2を要求する。
オフライン推論のサンプルは、初回実行時にデフォルトのモデルファイルをHugging Faceのキャッシュにダウンロードする。ダウンロード済みのモデルのコピーがあれば、環境変数でパスを指定して利用できる。
4. スループットとともに増える遅延
プリフィルは、回答を生成する前に入力を読み取って処理する段階だ。DeepSeekの公開グラフは、キャッシュされていない入力を対象に、スループットとこの段階のレイテンシーを併せて示している。
対応モデルをSM100 GPU 4基で、1つのスケールアップドメイン、つまり密接に接続されたデバイス群の中で測定した。並列構成はEP4DP4、計算を分担するエキスパートモジュールの構成は384+32、コンテキスト長は131,072で、デコーダーの再実行範囲は140トークンだ。
データ並列の処理単位ごとのバッチが4,096トークンの地点では、グラフ上で約70ミリ秒、GPU当たり毎秒約6万トークンを処理する。65,536トークンの地点では約730ミリ秒で約9万トークンだ。スループットは高まるが、入力処理の1段階にかかる時間も長くなるため、スループットだけで運用設定を選ぶのは難しい。
出力を生成するデコードのグラフはGPU 64基で測定しているため、上記の結果とは直接比較できない。リポジトリでは、ベンチマーク再現用の実行スクリプトも案内している。
5. 実行基盤とサービスインフラの境界
公開コードで実行の流れや最適化機能を検討できる点は利点だ。一方、過去の計算を再利用するKVキャッシュシステム、入力処理と出力生成などを分離する構成、複数のモデルレプリカにリクエストを振り分ける負荷分散は含まれず、運用インフラを別途用意する必要がある。リポジトリの説明では、分離に必要なエンジン機能はほぼ実装済みのため、提供済みの実行機能と追加で担う構築作業を区別すべきだ。
DeepInferの導入価値は、公開された推論機能が各サービスの実行要件と構築条件にどれだけ合うかで判断すべきだ。
