Llama-3.3-70B-Instruct と Llama-3.1-8B-Instruct の両方をサービングすることで、両者をほぼ瞬時に切り替えられます。各構成はノード上の容量を消費するため、バンドルごとに含まれる構成のセットは異なります。バッチサイズ 4、シーケンス長 16k の Llama-3.3-70B-Instruct は 1 つの構成に相当します。SambaNova が提供するバンドルについては、対応モデルとバンドル をご覧ください。
SambaStack v2.0.2 では、バンドルのデプロイ方法を管理する新しい Kubernetes カスタムリソース (CR) 群が導入されました。旧バージョンの SambaStack の CR は非推奨となりましたが、2026 年 9 月 30 日までは引き続き機能します。非推奨の CR で構築したモデルバンドルは、新しいリソースモデルへの移行が必要になります。
バンドルは必須ではありません。単一のモデルをサービングする場合は、モデルプロファイルと組み合わせて直接デプロイします。複数のモデルを 1 つの単位としてサービングする場合、投機的デコーディングを設定する場合、または名前付きの構成を検証して共有する場合に、バンドルを作成します。
本ガイドでは、SambaNova が提供するバンドルのデプロイと、独自のバンドルの作成の両方を扱います。提供されているバンドルのカタログについては、対応モデルとバンドル をご覧ください。
前提条件
カスタムのデプロイメントやバンドルを作成する前に、お使いの環境に応じて以下を完了してください。クイックスタート - ホステッド
ホステッド版 SambaStack のシステムセットアップ
クイックスタート - オンプレミス
オンプレミス版 SambaStack のシステムセットアップ
- 対応モデルとバンドル - 利用可能なモデルチェックポイント
- 投機的デコーディングのデプロイガイドライン - 投機的デコーディングのペアを設定する場合に必要
用語
概念
リソースアーキテクチャ
このセクションでは、カスタムのデプロイメントを作成する際に使用するリソース構造を説明します。これらのリソースはすべてapiVersion: sambanova.ai/v1alpha1 を使用します。
薄い色のボックスは SambaStack のインストールと共に提供され、名前で参照するリソースです。濃い色のボックスは、ユーザーが作成するリソースです。琥珀色のボックスはカスタムリソースではなく、Model と ModelProfile の 1 つのペアリングを表しており、spec.modelConfigs の 1 エントリに対応します。
各リソースは、次のように責務を分担します。
- Pef - コンパイル済み実行ファイルと、そのモデルアーキテクチャ、バッチサイズ、最大シーケンス長を含む、サポート内容を記述するメタデータを登録します。
- ModelProfile - モデルアーキテクチャを「どのように」実行できるかを定義します。使用する PEF、サポートする機能、各シーケンス長ティアで利用可能なバッチサイズを含みます。
- Model - 各アーキテクチャに対して「どのチェックポイント」が利用可能かを、使用するトークナイザーとあわせて定義します。
- ModelBundle - 1 つ以上のモデルとプロファイルのペアを、名前付きの単一のデプロイ可能な単位にまとめます。任意です。
- ModelDeployment - バンドル、またはインラインのモデルとプロファイルのペアから、クラスター上に 1 つ以上のレプリカをインスタンス化します。
- バンドルを作成せずに、モデルをプロファイルと組み合わせて単一モデルをデプロイする
- ファインチューニングしたモデルのカスタムチェックポイントを含め、同じアーキテクチャを共有するすべてのモデルとチェックポイントで 1 つのプロファイルを再利用する
- プロファイルには手を加えず、
Modelリソースを追加するだけでカスタムチェックポイントをサービングする - 複数のモデルをまとめてサービングする必要がある場合に、検証済みで共有可能な 1 つの単位にグループ化する
- プロファイルやデプロイメント構成を変更せずにチェックポイントを更新する
- 同じ構成を異なるレプリカ数でデプロイする
チェックポイントのパスをバンドルやデプロイメントで宣言することはありません。オペレーターは、参照した
Model からパスを解決します。解決には、<model-name>[:<arch>][:<version>] 形式の参照、または modelSettings.checkpointOverrides が使用されます。チェックポイントとプロファイルの互換性は model_arch によって定義されますが、オペレーターはこれを検証しません。参照するプロファイルと互換性のあるアーキテクチャを持つチェックポイントを選択してください。ModelProfile の構造
ModelProfile は、単一のモデルアーキテクチャのランタイム形状を定義します。プロファイルは再利用可能であり、対応アーキテクチャのプロファイルは SambaStack のインストールと共に提供されるため、多くの場合、プロファイルを自作するのではなく既存のプロファイルを名前で参照します。バッチング設定
バッチング設定は、各シーケンス長ティアを、そのシーケンス長でサービングされるバッチサイズにマッピングします。一般的なティアのキーは8k、16k、32k、64k、128k です。1k 未満の PEF は 448 のような整数のみのキーを使用し、Vocoder の PEF は 10t のような <n>t 形式のコード長キーを使用します。
バッチング設定のオーバーライド
ModelProfile は各ティアで利用可能なバッチサイズを確立するものであるため、defaultBatchingConfig では常にバッチサイズを明示的に列挙します。"*" は使用しません。
ティアと batch_sizes の構造は、あるモデルについてプロファイルのデフォルトをオーバーライドする際にも再利用されます。オーバーライドは、ModelBundle の modelConfigs[].batchingConfig、または ModelDeployment のインラインの spec.models で行います。オーバーライドの場合に限り、batch_sizes に文字列 "*" を設定でき、これはプロファイルの defaultBatchingConfig がそのティアに提供するすべてのバッチサイズを選択します。
defaultBatchingConfig に含まれないバッチサイズを新たに導入することはできません。
PEF
PEF は、1 つのモデル構成に対するコンパイル済みアーティファクトです。どの PEF・シーケンスサイズ・バッチサイズが使用されるかはプロファイルによって決まるため、PEF ではなくプロファイルを参照します。Pef リソースのリファレンスは、カスタムチェックポイントのデプロイ をご覧ください。
ModelBundle の構造
ModelBundle は、1 つ以上のモデルとプロファイルのペアを、名前付きの単一のデプロイ可能な単位にまとめます。spec.modelConfigs の各エントリはモデルとプロファイルを名前で参照し、モデルごとのバッチング設定やモデル構成を指定できます。
以下は、複数モデルのバンドルの例です。
モデル構成
spec.modelConfigs の各エントリは、1 つのモデルを 1 つのプロファイルと組み合わせます。
バッチングは、次の優先順位で解決されます: モデル構成の
batchingConfig、次にプロファイルの defaultBatchingConfig、最後に PEF のグルーピングから生成された設定。
スワップ可能なモデル
swappable 設定は、同じエンドポイント上の別のモデルを優先して、モデルを HBM から退避できるかどうかを制御します。swappable を true に設定すると、別のモデルがそのエンドポイントで実行する必要がある場合に、モデル全体が HBM から削除されます。これには、モデルのチェックポイントの重み、プロファイルのメタデータ、PEF が含まれます。
別のモデルのために容量を解放する目的で退避してよいモデルにはこのフィールドを true に設定し、常駐が必須のモデルでは未設定のままにするか false に設定してください。
投機的デコーディング
投機的デコーディングでは、より小さいドラフトモデルがトークンを提案し、より大きいターゲットモデルがそれを検証します。ペアリングはバンドルレベルのspec.specDecodingPairs で宣言し、ドラフトモデルは spec.modelConfigs にルーティング不可の独立したエントリとして含めます。
フィールドリファレンス、要件、カスタムドラフトチェックポイントを含む完全なワークフローについては、投機的デコーディングによるデプロイ をご覧ください。
ModelDeployment の構造
ModelDeployment は、クラスター上でモデルをインスタンス化し、ルーティング可能な推論エンドポイントを支えるサービング Pod を作成します。デプロイの詳細については、クイックスタート - ホステッド または クイックスタート - オンプレミス をご覧ください。 モデルソースは、必ずいずれか一方のみを設定します。Legalizer の結果
Legalizer は、デプロイ前に構成のリソース要件を検証します。ModelBundle を適用すると自動的に実行され、その結果はstatus.legalizerInfo に公開されます。バンドルのステータスには、各モデルに対して解決された実効バッチング設定も報告されます。
- Hosted
- On Premise
上記の例のように、警告が存在してもバンドルは Legalizer に合格し、
ValidationSucceeded を報告することがあります。デプロイ前に警告を確認してください。ただし、警告はデプロイを妨げません。一度でも Legalizer による検証が行われたバンドルに
skip_legalizer: true が設定されている場合、utilization フィールドは N/A になります。バンドルが一度も検証されていない場合 (例えば、初回デプロイ時から skip_legalizer: true が設定されていた場合)、legalizerInfo 自体が存在しません。Legalizer の出力を解析できなかった場合も、utilization フィールドが存在しないことがあります。手順
利用可能なモデルとプロファイルの特定
デプロイメントを作成する前に、クラスターで利用可能なモデルとプロファイルを特定し、どの組み合わせが可能かを確認します。1
利用可能なモデルの一覧表示
モデルを一覧表示し、各モデルの 例:
spec.checkpoints 配下のアーキテクチャキーを確認します。- Hosted
- On Premise
これらのコマンドが一覧表示するのは Kubernetes のリソース名 (
metadata.name) であり、推論 API に送信する名前ではありません。リクエストには spec.name のサービング名を使用してください。対応モデルとバンドル をご覧ください。2
利用可能なプロファイルの一覧表示
プロファイルを一覧表示し、それぞれの 出力:
model_arch の値を確認します。- Hosted
- On Premise
3
プロファイルとモデルのマッチング
プロファイルの内容を表示して、そのアーキテクチャ、機能、バッチングサポートを確認します。プロファイルの
- Hosted
- On Premise
model_arch の値が、モデルの spec.checkpoints 配下のアーキテクチャキーのいずれかと一致する場合、そのプロファイルをモデルと組み合わせて使用できます。オペレーターはこのペアリングを検証しないため、デプロイ前にご自身で確認してください。プロファイルでは、以下を確認します。model_arch- プロファイルが対象とするアーキテクチャfeatures- プロファイルの PEF がサポートするオプション機能defaultBatchingConfig- シーケンス長ティアとそのバッチサイズpefs- プロファイルが参照する PEF のバージョン
単一モデルのデプロイ
1 つのモデルをサービングするには、プロファイルと組み合わせて直接デプロイします。バンドルは作成されません。1
YAML ファイルの作成
spec.models の下にモデルとプロファイルをインラインで宣言する YAML ファイルを作成します。Model から解決されます。2
ModelDeployment の適用
- Hosted
- On Premise
3
デプロイ状態の監視
- Hosted
- On Premise
ModelBundle の作成
複数のモデルを 1 つの単位としてサービングする場合、投機的デコーディングを設定する場合、または名前付きの構成を検証して共有する場合に、バンドルを作成します。1
YAML ファイルの作成
2
ModelBundle の適用
- Hosted
- On Premise
3
Legalizer による検証の確認
バンドルを適用すると Legalizer が自動的に実行され、構成が RDU のメモリに収まるかどうかを検証します。メモリ使用率や警告を含む Legalizer の結果を直接確認するには、次を実行します。ステータスの完全な構造とフィールドの説明については、Legalizer の結果 をご覧ください。
- Hosted
- On Premise
- 検証成功
- 検証失敗
バンドルのデプロイ
この手順は、SambaNova が提供するバンドルと、自作したバンドルの両方に適用されます。1
利用可能なバンドルの確認
クラスターに存在するバンドルを一覧表示し、デプロイしたいバンドルの名前を確認します。出力:デプロイする前に、Legalizer の結果 に記載されたとおり、バンドルが検証に合格していることを確認してください。
- Hosted
- On Premise
2
ModelDeployment の作成
spec.bundle にバンドル名を指定します。3
ModelDeployment の適用
- Hosted
- On Premise
4
デプロイ状態の監視
- Hosted
- On Premise
バンドルの切り替え
ModelDeployment のバンドル参照をその場で変更することはできません。別のバンドルをサービングするには、既存のデプロイメントを削除し、新しいバンドルを参照する新しいデプロイメントを適用します。1
既存の ModelDeployment の削除
- Hosted
- On Premise
2
新しいバンドル用の ModelDeployment の適用
サービングしたいバンドルを
spec.bundle に指定した新しい ModelDeployment を作成し、バンドルのデプロイ の説明に従って適用します。複数バンドルのデプロイ
複数のバンドルを同時にサービングするには、バンドルごとに個別の ModelDeployment を適用します。 Pod がデプロイされたバンドルを反映していることを確認します。- Hosted
- On Premise
カスタムチェックポイントのデプロイ
独自に変換またはファインチューニングしたチェックポイントをサービングするには、既存モデルが使用するチェックポイントをオーバーライドするか、そのチェックポイント用に新しいモデルを登録します。カスタムチェックポイントのデプロイ をご覧ください。カスタムモデルアーキテクチャの追加
SambaStack がまだサポートしていないモデルアーキテクチャをサービングするには、PEF のコンパイルと、Pef、ModelProfile、Model リソースの作成が必要です。カスタムチェックポイントのデプロイ をご覧ください。
デプロイメントまたはバンドルの更新・削除
- 構成の更新
- 構成の削除
1
YAML ファイルの変更
ModelBundle、ModelProfile、または ModelDeployment の YAML ファイルを編集して変更を加えます。
2
構成の再適用
- Hosted
- On Premise
トラブルシューティング
Legalizer の検証失敗
エラーはstatus.legalizerInfo.errors に表示され、ValidationFailed の原因になります。警告は status.legalizerInfo.warnings に表示され、デプロイを妨げません。Legalizer の結果 をご覧ください。
デプロイの失敗
関連ドキュメント
バンドル設定の移行
非推奨のカスタムリソースで構築したバンドルの移行
対応モデルとバンドル
デプロイ可能なモデルとバンドルのカタログ
カスタムチェックポイントのデプロイ
独自のカスタムチェックポイントやファインチューニング済みチェックポイントのデプロイ
チェックポイント変換ツール
チェックポイントを互換形式に変換

