Skip to main content
SambaStack は、対応モデルに対して高インタラクティビティ (high-interactivity) と高スループット (high-throughput) の 2 種類のデプロイ構成をサポートしています。どちらも同じモデルの重みと同じ API を使用し、異なるのはシステムがリクエストを処理する方法だけです。低レイテンシが求められるユーザー向けアプリケーションには高インタラクティビティを使用してください。ユーザーごとのレイテンシよりも総出力量が重要な、バッチ処理や高同時実行のワークロードには高スループットを使用してください。このページでは、両者のトレードオフ、それぞれの PEF 構成、バンドルの作成方法を解説します。
高スループット構成と高インタラクティビティ構成には専用のシステムが必要です。いずれかの構成でデプロイされたモデルは、他のモデルとバンドルすることはできません。バンドルやバンドルテンプレートに馴染みがない場合は、モデルバンドルのデプロイをご参照ください。

デプロイ構成

どちらの構成でも、API 呼び出しで使用するモデル名は同じです。同じリクエストがどちらの構成でも動作します。
構成が制御するのはサーバー側でのリクエスト処理であり、クライアント側の変更は不要です。

各構成の使いどころ

高スループット

以下の場合は高スループット構成を使用してください。
  • 多数の同時ユーザーにサービスを提供しており、ユーザーごとのレイテンシよりも総スループットが重要な場合
  • ワークロードが非同期またはバッチ指向の場合 (例: ドキュメント処理やオフライン推論パイプライン)
  • リクエストごとのエンドツーエンドのレイテンシが制約にならない場合

高インタラクティビティ

以下の場合は高インタラクティビティ構成を使用してください。
  • リアルタイムのユーザー向けアプリケーションを構築している場合
  • ユーザーごとの最初のトークンまでの時間 (TTFT) と 1 秒あたりのトークン数が主要な指標である場合
  • デプロイのノード数が少ない場合や、ユーザーに対する厳しいレイテンシ要件がある場合

対応モデル

以下のモデルで両方の構成が利用できます。
  • DeepSeek-R1
  • DeepSeek-V3-0324
  • DeepSeek-V3.1
  • DeepSeek-V3.1-Terminus
  • DeepSeek-V3.2

アーキテクチャ

高スループット構成は連続バッチング (continuous batching) を使用し、プレフィル (prefill) フェーズとデコード (decode) フェーズを専用のパイプラインに分離します。2 つのモードが利用できます。
  • 集約モード (ACB): プレフィルとデコードが同じノード上で同居して実行されます。
  • 分離モード (DCB): プレフィルとデコードがそれぞれ専用の別ノードで実行されるため、各フェーズのサイズを独立して調整できます。推奨されるノード配分は、デコードノードよりプレフィルノードを多くすることです (例: プレフィルノード 3 台、デコードノード 1 台)。
DCB は SambaStack 上での社内検証がまだ完了していません。DCB の検証結果が公開されるまでは、SambaStack のデプロイには ACB を使用してください。
  • プレフィルノードは入力プロンプトを処理します
  • デコードノードは出力トークンを生成します
高スループット構成の分離モードには、最低 4 ノードが必要です。単一ノードまたは小規模なデプロイでは、代わりに高インタラクティビティ構成を使用してください。

要件と制限事項

PEF 構成

バンドルを作成する際は、以下の PEF CR 識別子を使用してください。バンドル作成手順の全体はカスタムバンドルのデプロイをご参照ください。
カスタムリソース (CR): Kubernetes の拡張オブジェクトです。モデル CR と PEF CR は、クラスター内のモデルおよび PEF の構成を定義します。
BundleTemplate で PEF CR を参照する際は、バージョン番号を付加します (例: deepseek-ss8192-bs1:1)。kubectl describe pef <pef-name> でより新しい stable バージョンが確認できる場合を除き、バージョン 1 を使用してください。

高スループット PEF

高スループット PEF の選び方:
  • 最長のプロンプトと想定される出力トークン数の合計が収まるシーケンス長 (ss) を選択してください。
  • バッチサイズが大きいほど、ノードあたりでより多くの同時デコードリクエストを処理できますが、より多くの RDU メモリが必要です。表にはサポートされている組み合わせを記載しています。

高インタラクティビティ PEF

高インタラクティビティ PEF の選び方:
  • プロンプトと想定される出力量の合計に合わせてシーケンス長を選択してください。
  • bs1 はユーザーごとのレイテンシを最小化します。bs4 は、複数の同時ユーザーがいる場合に、わずかなレイテンシの増加と引き換えにノードあたりのスループットを高めます。

バンドルの作成

これらの構成向けの事前構築済みバンドルは提供されていないため、上記の PEF CR を使用してカスタムバンドルを作成します。カスタムバンドルのデプロイガイドに従い、BundleTemplate を定義する際に該当する PEF CR を参照してください。 BundleTemplate で高スループット PEF を使用する場合は、エキスパート定義で continuous_batching: true を設定します。
次に、適切なモードに合わせて BundleDeployment を構成します。 集約モード (ACB):
分離モード (DCB):

デプロイの確認

バンドルのデプロイ後、構成が有効になっていることを確認します。
出力で、continuous_batching.mode が aggregate (ACB) または disaggregate (DCB) に設定されていることと、prefill および decode 配下のレプリカ数が設定した値と一致していることを確認してください。

構成の切り替え

高スループットと高インタラクティビティを切り替えるには、適切な PEF と BundleTemplate の設定でバンドルを再デプロイします。高インタラクティビティに切り替える場合は、エキスパートから continuous_batching: true を削除し、BundleDeployment から continuous_batching ブロックを削除してください。API 呼び出しで使用するモデル名は変わりません。

デプロイの監視

SambaStack のロギングシステムは、これらのデプロイに関連するリクエストごとのメトリクスを出力します。 利用可能なメトリクスの全一覧とクエリ例については、ログをご参照ください。