spec.modelConfigs の各エントリは Model と ModelProfile を名前で参照し、モデルごとのバッチングとモデル構成を指定できます。
ModelBundle リソースは apiVersion: sambanova.ai/v1alpha1 を使用します。
バンドルの作成は任意です。単一のモデルをサービングする場合は、プロファイルとペアにして直接デプロイできます。複数のモデルを 1 つの単位としてサービングする場合、投機的デコーディングを設定する場合、または名前付きの構成を検証して共有する場合に、バンドルを作成してください。
構造
以下は複数モデルを含むバンドルの例です。モデル構成
spec.modelConfigs の各エントリは、1 つのモデルと 1 つのプロファイルをペアにします。
バッチングは次の優先順位で解決されます: まずモデル構成の
batchingConfig、次にプロファイルの recommended 設定、次に all 設定、最後に PEF のグルーピングから生成された設定の順です。解決順序 をご参照ください。
スワップ可能なモデル
swappable 設定は、同じエンドポイント上の別のモデルを優先して、モデルを HBM から退避できるかどうかを制御します。swappable を true に設定すると、そのエンドポイントで別のモデルを実行する必要が生じた場合に、モデル全体が HBM から削除されます。これには、モデルのチェックポイントの重み、プロファイルのメタデータ、PEF が含まれます。
別のモデルのために容量を解放する目的で退避してよいモデルではこのフィールドを true に設定し、常駐させ続ける必要があるモデルでは未設定のままにするか false に設定してください。
投機的デコーディング
投機的デコーディングでは、小規模なドラフトモデルがトークンを提案し、大規模なターゲットモデルがそれを検証します。ペアはバンドルレベルのspec.specDecodingPairs で宣言し、ドラフトモデルは spec.modelConfigs にルーティング不可な独立したエントリとして含めます。
Legalizer の結果
Legalizer は、デプロイ前に構成のリソース要件を検証します。ModelBundle を適用すると自動的に実行され、その結果はstatus.legalizerInfo の下に公開されます。バンドルのステータスには、各モデルに対して解決された有効なバッチング設定も報告されます。
- ホステッド
- オンプレミス
上記の例のように、警告が存在してもバンドルは Legalizer を通過でき、その場合も
ValidationSucceeded が報告されます。デプロイ前に警告を確認してください。ただし、警告がデプロイを妨げることはありません。一度でも Legalizer による検証を受けたバンドルに
skip_legalizer: true が設定されている場合、utilization フィールドは N/A と表示されます。初回デプロイ時から skip_legalizer: true が設定されていた場合など、バンドルが一度も Legalizer による検証を受けていない場合は、legalizerInfo 自体が存在しません。また、Legalizer の出力を解析できなかった場合も utilization フィールドが存在しないことがあります。参考情報
カスタムバンドルの作成
独自のバンドルを作成し、適用して検証します
ModelDeployment
クラスター上でバンドルをサービングします

