Skip to main content
本ページでは、ModelDeployment からバンドルを参照してサービングする方法を説明します。この手順は、SambaNova が提供するバンドルと、自作したバンドルの両方に適用されます。 先に独自のバンドルを作成する場合は、カスタムバンドルの作成 をご覧ください。バンドルを使わずに単一のモデルをサービングする場合は、単一モデルのデプロイ をご覧ください。

前提条件

デプロイの前に、お使いの環境に応じたクイックスタートを完了してください。

クイックスタート - ホステッド

ホステッド版 SambaStack のシステムセットアップ

クイックスタート - オンプレミス

オンプレミス版 SambaStack のシステムセットアップ
あわせて、以下を確認してください。
  • ModelDeployment のフィールドリファレンスをご確認ください。
  • デプロイするバンドルが検証に合格していることを確認してください。Legalizer の結果 をご覧ください。
  • SambaNova が提供するバンドルについては、対応モデルとバンドル をご確認ください。

バンドルのデプロイ

1

利用可能なバンドルの確認

クラスターに存在するバンドルを一覧表示し、デプロイしたいバンドルの名前を確認します。
出力:
デプロイする前に、Legalizer の結果 に記載されたとおり、バンドルが検証に合格していることを確認してください。
2

ModelDeployment の作成

spec.bundle にバンドル名を指定します。
3

ModelDeployment の適用

4

デプロイ状態の監視

デプロイの確認

Pod が ready を報告するのはサービングコンテナが起動したことを意味するだけで、モデルがリクエストに応答することの確認にはなりません。サービング名を確認したうえで、推論リクエストを 1 件送信してください。

サービング名の解決

API に送信する名前は、Kubernetes のリソース名ではありません。関係する名前は 3 つあります。 デプロイした Model からサービング名を読み取ります。
次に、ゲートウェイがそのモデルをサービングしていることを確認します。レスポンス内の各 id が、サービング可能な名前です。
投機的デコーディングのドラフトモデルなど、modelSettings.routable: false が設定されたモデルは、意図的にこの一覧から除外されており、直接アクセスすることはできません。

リクエストの送信

model フィールドにサービング名を使用します。
成功した場合のレスポンスは、model にサービング名を、choices[0].message に生成内容を返します。
usage オブジェクトには、スループットとレイテンシに関する追加のフィールドが含まれます。レスポンスボディの全体像と、各環境で使用する API ドメインについては、クイックスタート - ホステッド または クイックスタート - オンプレミス をご覧ください。
Pod が稼働しているのに model not found エラーが発生する場合、通常はリクエストで spec.name ではなく metadata.name を使用したことが原因です。ロードされて一覧にも表示されるモデルで推論エラーが発生する場合、通常はチェックポイントとプロファイルの model_arch が一致していないことが原因です。デプロイの失敗 をご覧ください。

バンドルの切り替え

ModelDeployment のバンドル参照をその場で変更することはできません。別のバンドルをサービングするには、既存のデプロイメントを削除し、新しいバンドルを参照する新しいデプロイメントを適用します。
1

既存の ModelDeployment の削除

2

新しいバンドル用の ModelDeployment の適用

サービングしたいバンドルを spec.bundle に指定した新しい ModelDeployment を作成し、バンドルのデプロイ の説明に従って適用します。
新しいバンドルをリクエストする場合は、SambaNova のサポート窓口までお問い合わせください。

複数バンドルのデプロイ

複数のバンドルを同時にサービングするには、バンドルごとに個別の ModelDeployment を適用します。
SambaStack は、1 ノードあたり 1 つのバンドルのみをサポートします。複数のバンドルをデプロイする場合は、リソースの競合を避けるため、各バンドルを別々のノードに割り当ててください。配置の制御には、各 ModelDeployment の spec.nodeSelector を使用します。
Pod がデプロイされたバンドルを反映していることを確認します。

デプロイメントまたはバンドルの更新・削除

1

YAML ファイルの変更

ModelBundle、ModelProfile、または ModelDeployment の YAML ファイルを編集して変更を加えます。
2

構成の再適用

Legalizer が自動的に変更を再検証します。プロファイルやモデルを変更すると、それを参照するすべてのバンドルとデプロイメントの調整 (reconcile) がトリガーされます。

トラブルシューティング

オペレーターがサービング Pod の作成開始後に報告する失敗と、その前に Legalizer が報告する失敗については、デプロイメントのトラブルシューティング をご覧ください。

関連ドキュメント

対応モデルとバンドル

デプロイ可能なモデルとバンドルのカタログ

ModelDeployment

デプロイメントリソースの全フィールドのリファレンス

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

独自のカスタムチェックポイントやファインチューニング済みチェックポイントのデプロイ

バンドル設定の移行

非推奨のカスタムリソースで構築したバンドルの移行