本ガイドはカスタムバンドルの作成を対象としています。SambaNova が提供する事前構成済みバンドルのデプロイについては、バンドルのデプロイをご参照ください。
前提条件
カスタムバンドルを作成する前に、お使いの環境に該当する以下のセットアップを完了してください。クイックスタート - ホステッド
ホステッド SambaStack のシステムセットアップ
クイックスタート - オンプレミス
オンプレミス SambaStack のシステムセットアップ
- モデルバンドルのデプロイ - バンドルデプロイの概念とワークフロー
- 対応モデルとバンドル - 利用可能なモデルチェックポイント
- 投機的デコーディングのデプロイガイドライン - 投機的デコーディングのペアを構成する場合に必要
用語
概念
バンドルアーキテクチャ
バンドルおよびバンドルテンプレートとは何かを含む、バンドルの基本概念の概要については、モデルバンドルのデプロイをご参照ください。このセクションでは、カスタムバンドルを作成する際に使用する 3 層構造を解説します。- BundleTemplate - モデルを「どのように」実行できるかを定義します。利用可能なシーケンス長プロファイル、バッチサイズ、PEF のマッピングを指定します。また、投機的デコーディングのペアにおけるターゲットモデルとドラフトモデルの関係も定義します。
- Bundle - テンプレートをストレージ上の「特定のチェックポイント」に紐づけ、デプロイ可能な状態にします。
- BundleDeployment - バンドルの 1 つ以上のレプリカをクラスター上にインスタンス化します。
- ファインチューニング済みモデルのカスタムチェックポイントを含め、複数のチェックポイント間でテンプレートを再利用する
- 同じテンプレートを共有しながら、同一の基盤モデルの異なるチェックポイントをバンドルする
- 同じバンドル構成を異なるレプリカ数でデプロイする
- デプロイ構成を変更せずにチェックポイントを更新する
BundleTemplate の構造
BundleTemplate は、1 つ以上のモデルのデプロイ能力を定義します。以下は、投機的デコーディング構成を含むマルチモデルテンプレートの例です。- gpt-oss-120b: 2 個の構成
- Meta-Llama-3.3-70B-Instruct: 5 個の構成。うち 3 個は、Meta-Llama-3.1-8B-Instruct をドラフトモデルとする投機的デコーディングを使用
- Meta-Llama-3.1-8B-Instruct: 3 個の構成
モデルとエキスパート
BundleTemplate 内の各モデルには 1 つ以上のエキスパートが含まれ、それぞれがシーケンス長プロファイルを表します。一般的なプロファイルは以下のとおりです。8k、16k、32k、64k、128k- 固定シーケンス長の構成default- 特定の長さを必要としない場合の標準構成
投機的デコーディングのパラメータ
投機的デコーディングのパラメータ
Bundle の構造
Bundle は、BundleTemplate を特定のチェックポイントに紐づけます。以下のセクションでは、Bundle マニフェストの各パートを説明します。 リソースの識別情報 Bundle 名とリソースタイプを定義します。metadata.name- デプロイでこのバンドルを参照する際に使用する Bundle 名apiVersionとkind- すべてのバンドルで同じ値を使用します
モデル
モデル名をチェックポイントとテンプレートにマッピングします。
テンプレートと Secret
Bundle を BundleTemplate および認証情報に関連付けます。
Bundle の完全な例
以下は、マルチモデル Bundle の完全な例です。source フィールドに指定できます。
BundleDeployment の構造
BundleDeployment は、バンドルをクラスター上にインスタンス化します。デプロイの詳細については、クイックスタート - ホステッドまたはクイックスタート - オンプレミスをご参照ください。PEF とチェックポイントのライフサイクルステータス
SambaStack は、サポートライフサイクルを示すために、PEF CR のバージョンにpef_status フィールドを、モデル CR のチェックポイントバージョンに checkpoint_status フィールドを割り当てます。これらのステータスを理解することで、カスタムバンドルに使用する PEF やチェックポイントのバージョンを適切に選択できます。
PEF およびチェックポイントバージョンのステータス値
PEF CR の各バージョンエントリには pef_status フィールドが含まれます。チェックポイント CR のバージョンでは checkpoint_status が使用されます。両者は同じ値のセットを共有します。
ステータス付きの PEF CR バージョンの例
kubectl describe pef <pef-name> または kubectl describe model <model-name> を実行し、Versions セクションの pef_status または checkpoint_status フィールドを確認します。
手順
利用可能な PEF の確認
BundleTemplate を作成する前に、対象のモデルで利用可能な PEF リソースを確認します。1
利用可能な PEF の一覧表示
モデルとシーケンス長の要件に一致する PEF を一覧表示します。例:出力:
- ホステッド
- オンプレミス
2
PEF の詳細確認
PEF の詳細を表示し、サポートされている構成の把握と、より新しいバージョンの有無の確認を行います。出力例:
- ホステッド
- オンプレミス
Spec.Metadata セクションで以下を確認します。batch_size- サポートされるバッチサイズmax_seq_length- 最大シーケンス長num_rdus- 必要な RDU 数rdu_arch- 必要な RDU アーキテクチャseq_lengths- サポートされるシーケンス長
Versions セクションを確認して、より新しい PEF バージョンが利用可能かどうかと、各バージョンの pef_status を確認してください。BundleTemplate の作成
1
YAML ファイルの作成
BundleTemplate 用の YAML ファイルを作成します。単一モデルのテンプレートの場合:投機的デコーディングを含むマルチモデルテンプレートについては、BundleTemplate の構造の例をご参照ください。
2
BundleTemplate の適用
- ホステッド
- オンプレミス
3
作成の確認
- ホステッド
- オンプレミス
バンドルの作成
1
YAML ファイルの作成
2
Bundle の適用
- ホステッド
- オンプレミス
3
Legalizer による検証の確認
バンドルを適用すると Legalizer が自動的に実行され、バンドルが RDU メモリに収まるかどうかを検証します。
- ホステッド
- オンプレミス
- 検証成功
- 検証失敗
バンドルのデプロイ
1
BundleDeployment の作成
2
BundleDeployment の適用
- ホステッド
- オンプレミス
3
デプロイ状態の監視
- ホステッド
- オンプレミス
バンドル/BundleTemplate の更新・削除
- バンドルの更新
- バンドルの削除
1
YAML ファイルの修正
Bundle または BundleTemplate の YAML ファイルに変更を加えます。
2
設定の再適用
- ホステッド
- オンプレミス
トラブルシューティング
Legalizer 検証の失敗
デプロイの失敗
参考情報
モデルのデプロイ
バンドルデプロイの概念とワークフロー
対応モデルとバンドル
デプロイ可能なモデルとバンドルのカタログ
カスタムチェックポイントのデプロイ
独自のカスタムチェックポイントやファインチューニング済みチェックポイントのデプロイ
チェックポイント変換ツール
チェックポイントの互換形式への変換

