> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sambanova.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 高スループット vs. 高インタラクティビティ

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

> [!NOTE]
>
> 高スループット構成と高インタラクティビティ構成には専用のシステムが必要です。いずれかの構成でデプロイされたモデルは、他のモデルとバンドルすることはできません。バンドルやバンドルテンプレートに馴染みがない場合は、[モデルバンドルのデプロイ](https://docs.sambanova.ai/docs/ja/v1.2.0/sambastack/service-administration/model-deployment/deploying-model-bundles.md)をご参照ください。

## デプロイ構成

| 構成 | プロファイル | 適した用途 |
| :- | :- | :- |
| **高スループット** | 同時リクエスト全体でのトークンスループット | バッチ処理、非同期ワークロード、またはユーザーごとのレイテンシよりシステム全体の出力量が重要な大規模ユーザー環境 |
| **高インタラクティビティ** | リクエストごとのレイテンシと最初のトークンまでの時間 | リアルタイムのユーザー向けアプリケーション |

> [!NOTE]
>
> どちらの構成でも、API 呼び出しで使用するモデル名は同じです。同じリクエストがどちらの構成でも動作します。
>
> ```json theme={}
> { "model": "DeepSeek-R1", "messages": [...] }
> ```
>
> 構成が制御するのはサーバー側でのリクエスト処理であり、クライアント側の変更は不要です。

## 各構成の使いどころ

### 高スループット

以下の場合は高スループット構成を使用してください。

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

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

以下の場合は高インタラクティビティ構成を使用してください。

* リアルタイムのユーザー向けアプリケーションを構築している場合
* ユーザーごとの最初のトークンまでの時間 (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 台)。

> [!WARNING]
>
> DCB は SambaStack 上での社内検証がまだ完了していません。DCB の検証結果が公開されるまでは、SambaStack のデプロイには ACB を使用してください。

* **プレフィルノード**は入力プロンプトを処理します
* **デコードノード**は出力トークンを生成します

> [!WARNING]
>
> 高スループット構成の分離モードには、最低 4 ノードが必要です。単一ノードまたは小規模なデプロイでは、代わりに高インタラクティビティ構成を使用してください。

## 要件と制限事項

| 制約 | 詳細 |
| :- | :- |
| **最小ノード数 (高スループット)** | マルチノード構成で 4 ノード |
| **専用システム** | 高スループット構成と高インタラクティビティ構成には専用のシステムが必要です。他のモデルとのバンドルはサポートされません |
| **ノード構成 (分離モード)** | デコードノードよりプレフィルノードを多くする必要があります (例: プレフィル 3 : デコード 1) |
| **チェックポイントバージョン** | モデル CR に記載された最新のチェックポイントバージョンを使用してください。古いバージョンは高スループット PEF と互換性がありません |

## PEF 構成

バンドルを作成する際は、以下の PEF CR 識別子を使用してください。バンドル作成手順の全体は[カスタムバンドルのデプロイ](https://docs.sambanova.ai/docs/ja/v1.2.0/sambastack/service-administration/model-deployment/custom-bundle-deployment.md)をご参照ください。

> [!NOTE]
>
> **カスタムリソース (CR):** Kubernetes の拡張オブジェクトです。モデル CR と PEF CR は、クラスター内のモデルおよび PEF の構成を定義します。

> [!NOTE]
>
> BundleTemplate で PEF CR を参照する際は、バージョン番号を付加します (例: `deepseek-ss8192-bs1:1`)。`kubectl describe pef <pef-name>` でより新しい stable バージョンが確認できる場合を除き、バージョン `1` を使用してください。

### 高スループット PEF

| PEF CR | シーケンス長 | バッチサイズ |
| :- | :- | :- |
| `deepseek-ss32768-bs1-cb2-64` | 32768 (32K) | 64 |
| `deepseek-ss16384-bs1-cb2-128` | 16384 (16K) | 128 |
| `deepseek-ss8192-bs1-cb2-256` | 8192 (8K) | 256 |

**高スループット PEF の選び方:**

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

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

| PEF CR | シーケンス長 | バッチサイズ |
| :- | :- | :- |
| `deepseek-ss4096-bs1` | 4096 (4K) | 1 |
| `deepseek-ss4096-bs4` | 4096 (4K) | 4 |
| `deepseek-ss8192-bs1` | 8192 (8K) | 1 |
| `deepseek-ss8192-bs4` | 8192 (8K) | 4 |
| `deepseek-ss16384-bs1` | 16384 (16K) | 1 |
| `deepseek-ss32768-bs1` | 32768 (32K) | 1 |
| `deepseek-ss131072-bs1` | 131072 (128K) | 1 |

**高インタラクティビティ PEF の選び方:**

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

## バンドルの作成

これらの構成向けの事前構築済みバンドルは提供されていないため、上記の PEF CR を使用してカスタムバンドルを作成します。[カスタムバンドルのデプロイ](https://docs.sambanova.ai/docs/ja/v1.2.0/sambastack/service-administration/model-deployment/custom-bundle-deployment.md)ガイドに従い、BundleTemplate を定義する際に該当する PEF CR を参照してください。

BundleTemplate で高スループット PEF を使用する場合は、エキスパート定義で `continuous_batching: true` を設定します。

```yaml theme={}
DeepSeek-V3-0324:
  experts:
    8k:
      configs:
      - continuous_batching: true
        pef: deepseek-ss8192-bs1-cb2-256:1
```

次に、適切なモードに合わせて BundleDeployment を構成します。

**集約モード (ACB):**

```yaml theme={}
groups:
  - name: default
    continuous_batching:
      mode: aggregate
    minReplicas: 1
    qosList:
    - web
    - free
```

**分離モード (DCB):**

```yaml theme={}
groups:
  - name: default
    continuous_batching:
      use_mpi: true
      prefill:
        minReplicas: 3
      decode:
        minReplicas: 1
    minReplicas: 1
    qosList:
    - web
    - free
```

## デプロイの確認

バンドルのデプロイ後、構成が有効になっていることを確認します。

```shellscript theme={}
kubectl describe bundledeployment <bundle-deployment-name>
```

出力で、`continuous_batching.mode` が `aggregate` (ACB) または `disaggregate` (DCB) に設定されていることと、`prefill` および `decode` 配下のレプリカ数が設定した値と一致していることを確認してください。

## 構成の切り替え

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

## デプロイの監視

SambaStack のロギングシステムは、これらのデプロイに関連するリクエストごとのメトリクスを出力します。

| メトリクス | ログキー | 確認できること |
| :- | :- | :- |
| デコードキュー時間 | `decode_queue_time` | 連続バッチングのキューでの待機時間。高い値はデコードの飽和を示します |
| 最初のトークンまでの時間 | `time_to_first_token` | リクエストごとのプレフィルレイテンシ。高インタラクティビティデプロイの主要指標です |
| 1 秒あたりの完了トークン数 | `completion_tokens_per_sec` | 総スループット。高スループットデプロイの主要指標です |

利用可能なメトリクスの全一覧とクエリ例については、[ログ](https://docs.sambanova.ai/docs/ja/v1.2.0/sambastack/reference-architecture/observability/logs.md)をご参照ください。
