メインコンテンツへスキップ
SambaStackでは、個別のモデルをデプロイするのではなく、1つ以上のモデルをまとめた「バンドル」を使用してデプロイを行います。バンドルは、バッチサイズ、シーケンス長、演算精度などのデプロイ構成と共に、1つ以上のモデルをまとめたものです。 例えば、 Llama-3.3-70B モデルをバッチサイズ4、シーケンス長16kでデプロイする場合、これは1つの特定の構成になります。バンドルには複数の構成が含まれることがあり、異なるモデルをまたぐことも可能です。 SambaNovaのRDU技術は、1つのデプロイメント内で複数のモデルや構成をロードすることをサポートし、構成間の即時切り替えを可能にします。単一の静的モデルをデプロイする従来のGPUシステムとは異なり、SambaStackのマルチモデル・マルチ構成バンドルは、効率性、柔軟性、スループットを向上させながら、レイテンシを犠牲にしません。バンドルは、モデルとその構成を組み合わせることで柔軟なデプロイを実現します。
SambaStackにおいて「構成」(configuration) とは、モデルデプロイのランタイム設定 (バッチサイズ、シーケンス長、精度など) を定義するものです。デプロイには複数の構成を含めることができ、同じデプロイ内で異なるモデル設定を即座に切り替えることが可能となり、最適化されたパフォーマンスと柔軟性を実現します。

バンドルテンプレート

バンドルテンプレートは、1つのノード上でどのモデルと構成を一緒にデプロイできるかを定義します。 これには1つ以上のモデルテンプレートが含まれます。 各モデルテンプレートは、サポートされる構成 (シーケンス長とバッチサイズの組み合わせ) を指定します。

例 - モデルテンプレート

モデルテンプレートサポートされるシーケンス長サポートされるバッチサイズ
DeepSeek-R1-0528-Template8k, 4k1, 2, 4, 8
DeepSeek-V3-0324-Template8k, 4k1, 2, 4, 8

例 - バンドルテンプレート

  • deepseek-r1-v3-fp8-32k-TemplateDeepSeek-R1-0528-TemplateDeepSeek-V3-0324-Template を1つのデプロイメントパッケージにまとめます。

バンドル

バンドルは、バンドルテンプレートで定義されたモデルテンプレートに実際のチェックポイント(学習済みの重み)を関連付けたものです。 例えば、deepseek-r1-v3-fp8-32k という名前のバンドルは、R1-0528チェックポイントとV3-0324チェックポイントを deepseek-r1-v3-fp8-32k-Template 内の対応するモデルテンプレートにリンクします。

用語集

  • バンドル (Bundle): モデルと構成を組み合わせたデプロイ可能なパッケージ。
  • エキスパート (Expert): 特定のシーケンス長に紐づいたモデルインスタンス (例: DeepSeek-R1-Distill-Llama-70B-4K)。
  • エキスパート構成 (Expert Config): エキスパートインスタンスに特定のバッチサイズや構成を付与したもの (例: DeepSeek-R1-Distill-Llama-70B-4k-BS2)。

SambaStackデプロイメントへのバンドル統合

SambaStack構成ファイル内の bundles セクションは、2つの主要な目的を持ちます:
  1. 利用可能なバンドルの定義: bundleSpecs サブセクションで、どのバンドルテンプレートやバンドルがデプロイ可能かを宣言します。これにより、バンドルがシステムに登録されますが、この時点ではまだデプロイされません。
  2. ノードへのバンドルデプロイ: bundleDeploymentSpecs サブセクションで、クラスター内でバンドルがどのように、どこにデプロイされるか(レプリカ数やQoSレベルを含む)を定義します。

例 - バンドル構成


bundles:
  bundleSpecs:
    - name: llama-4-medium

  bundleDeploymentSpecs:
    - name: llama-4-medium
      groups:
        - name: "default"
          minReplicas: 1
          qosList:
            - "web"
            - "free"

バンドルの切り替え

別のバンドルにデプロイを切り替えるには:
  • bundleSpecs および bundleDeploymentSpecs セクションを新しいバンドル名で更新します。
利用可能なバンドルは モデルのページで確認できます。新しいバンドルテンプレートをリクエストする場合は、SambaNovaチームにお問い合わせください。 例:
bundles:
  bundleSpecs:
    - name: qwen3-32b-whisper

  bundleDeploymentSpecs:
    - name: qwen3-32b-whisper
      groups:
        - name: "default"
          minReplicas: 1
          qosList:
            - "web"
            - "free"
変更を適用するには以下を実行します:
kubectl apply -f sambastack.yaml
成功すると次のメッセージが表示されます:
configmap/sambastack configured

複数バンドルのデプロイ

同時に複数のバンドルをデプロイすることも可能です。その場合、各バンドルを bundleSpecsbundleDeploymentSpecs の両方に列挙してください。 You may deploy more than one bundle simultaneously by listing them in both bundleSpecs and bundleDeploymentSpecs. 例:
bundles:
  bundleSpecs:
    - name: llama-4-medium
    - name: qwen3-32b-whisper

  bundleDeploymentSpecs:
    - name: llama-4-medium
      groups:
        - name: "default"
          minReplicas: 1
          qosList:
            - "web"
            - "free"

    - name: qwen3-32b-whisper
      groups:
        - name: "default"
          minReplicas: 1
          qosList:
            - "web"
            - "free"
SambaStackは現在、1ノードあたり1つのバンドルのみをサポートしています。複数のバンドルをデプロイする場合は、各バンドルを別々のノードに割り当て、リソースの競合を避けてください。

デプロイ状態の確認

新しいバンドルでPodが更新されたことを確認するには、次を実行します:
kubectl get pods

カスタムチェックポイントのデプロイ

カスタムチェックポイントは標準のSambaNovaチェックポイントと同じプロセスでデプロイされますが、事前に変換が必要です。
  • 貴組織内のどなた(開発者または管理者)でもチェックポイントを変換できます。
  • 変換済みチェックポイントのポインタを取得するか、ご自身で変換を行ってください。
  • 詳細な手順は カスタムチェックポイントデプロイガイド を参照してください。

カスタムチェックポイント用のバンドル構成作成

既存のバンドルテンプレートをコピーし、source フィールドを、変換済みチェックポイントのGoogle Storageの場所に変更します。 例:
kind: Bundle
spec:
  checkpoints:
    <CKPT_KEY>:
      source: gs://pointer/to/your/converted/checkpoint

バンドルインスタンスの例

apiVersion: sambanova.ai/v1alpha1
kind: Bundle
metadata:
  name: 70b-3dot3-ss-4-8-64-128k
spec:
  checkpoints:
    LLAMA3D2_1B_CKPT:
      source: gs://pointer/to/your/converted/checkpoint

投機的デコーディングのデプロイガイドライン

SambaStack環境で投機的デコーディング (speculative decoding) を効果的にデプロイし、安定したパフォーマンスを維持するためには:
  • ドラフトチェックポイントがあなたのカスタムターゲットチェックポイントと対応していることを確認し、パフォーマンス低下を防いでください。
  • カスタムモデル用にファインチューニングされたドラフトチェックポイントがない場合は、投機的デコーディングを含まないバンドルテンプレートを使用してください。
  • SN Conversion Library を用いて、ドラフトチェックポイントとターゲットチェックポイントの互換性を検証し、加速を最適化してください。
  • 詳細は「投機的デコーディングの背景」および「カスタムチェックポイントデプロイガイド」を参照してください。

カスタムドラフトチェックポイントのデプロイ

カスタムドラフトチェックポイントを、ターゲットチェックポイントと並列してバンドル内に指定することで、投機的デコーディングを有効化できます。

例 - ドラフトチェックポイントとターゲットチェックポイントを含むバンドル

apiVersion: sambanova.ai/v1alpha1
kind: Bundle
metadata:
  name: 70b-3dot3-ss-4-8-64-128k
spec:
  checkpoints:
    LLAMA3D2_1B_CKPT:
      source: gs://pointer/to/converted/draft/checkpoint
    LLAMA3_70B_3_3_CKPT:
      source: gs://pointer/to/converted/target/checkpoint

ベストプラクティス

  • 投機的デコーディングは応答の出力精度には影響しませんが、アクセプト率に基づいて速度パフォーマンスに影響を与えることが可能です。
  • 適切に学習されたドラフトチェックポイントがない場合、カスタムモデルに対して投機的デコーディングバンドルを使用することは避けてください。パフォーマンス低下につながる可能性があります。