概要
カスタムチェックポイントのデプロイは、大きく分けて次の 4 つの作業で構成されます。- お使いのモデルファミリーに対応するチェックポイント変換パッケージを使用して、チェックポイントを SambaNova 互換形式に変換する。
- SambaNova から提供されたサービスアカウントに読み取り権限を付与したプライベートな Google Cloud Storage バケットに変換済みチェックポイントをアップロードする。または、クラスターから読み取り可能な NFS 上に配置する。
- 既存モデルが使用するチェックポイントをオーバーライドするか、新しい
Modelリソースを登録して、チェックポイントを参照する。 ModelDeploymentまたはModelBundleで、モデルを互換性のあるModelProfileと組み合わせてデプロイする。
このワークフローを開始する前に、チェックポイントの変換プロセスを完了しておいてください。手順はチェックポイント変換ツールのページをご参照ください。
前提条件
カスタムチェックポイントをデプロイする前に、以下を準備してください。- SambaNova 互換形式に変換済みのチェックポイント (チェックポイント変換ツールを参照)
- NFS マウント済みのストレージ、または Google Cloud Storage (GCS) バケットへのアクセス
- SambaNova から提供されたサービスアカウントの JSON ファイル
- SambaStack クラスターにアクセスできるように構成された
kubectl - モデルプロファイルとモデルバンドルを含む、モデルデプロイメントの各リソースの理解
カスタムチェックポイントの対応モデル
カスタムチェックポイントのデプロイは、一部の例外を除き、SambaStack のすべての decoder-only のテキスト生成モデルでサポートされています。例外の一覧と、各モデルファミリーに対応する変換パッケージについては、対応モデルとバンドルをご確認ください。カスタムチェックポイントのデプロイ手順
チェックポイントの変換
カスタムチェックポイントやファインチューニング済みのチェックポイントは、デプロイする前に、SambaNova の SN40L ハードウェアに最適化された形式に変換する必要があります。SambaNova は対応モデルファミリーごとに変換パッケージを提供しており、お使いの SambaStack アーティファクトレジストリからインストールしてローカルで実行します。変換パッケージのインストールの手順でお使いのモデルファミリー用のパッケージをインストールし、続いてチェックポイントの変換の手順で変換済みアーティファクトを生成します。アップロードする前に、変換結果の検証の手順で変換が成功したことを確認してください。
GCS バケットの権限設定
クラスターに NFS がマウントされている場合、このセクションはスキップできます。
これは一度だけ行うセットアップ手順です。権限を設定した後は、任意の数のカスタムチェックポイントをバケットにアップロードし、デプロイで直接使用できます。
サービスアカウントの確認
サービスアカウントの情報は JSON ファイルとして提供されます。client_email フィールドを確認してください。これが、バケットへの読み取りアクセス権を必要とする ID です。例:Storage Object Viewer ロールの付与
SambaStack がカスタムチェックポイントにアクセスできるようにするには、サービスアカウントに対して、バケットの Storage Object Viewer ロールを付与します。これにより、書き込みや変更を許可せず、オブジェクトへの読み取り専用アクセスのみが可能になります。Google Cloud Console を使用する場合:- Google Cloud Console を開きます。
- Storage → Buckets に移動し、使用するバケットを選択します。
- Permissions タブに移動します。
- + Add principal をクリックします。
- 「New principals」フィールドに、サービスアカウントの
client_emailを入力します。 - 「Role」ドロップダウンで Cloud Storage → Storage Object Viewer を選択します。
- Save をクリックします。
<BUCKET_NAME>– GCS バケットの名前<SERVICE_ACCOUNT_EMAIL>– サービスアカウントの JSON に記載されたclient_emailの値<PROJECT_ID>– バケットを所有する Google Cloud プロジェクト
変換済みチェックポイントのアップロード
NFS
クラスターに NFS がマウントされている場合は、変換済みチェックポイントが NFS に移動され、クラスターからアクセスできることを確認してください。Google Cloud Storage
Google Cloud Storage (GCS) を使用している場合は、チェックポイントの変換後、変換済みチェックポイントのファイルを含むディレクトリを GCS バケットにアップロードします。このステップは、チェックポイントのサイズによっては時間がかかることがあります。
- Google Cloud Console を開きます。
- Storage → Buckets に移動し、カスタムチェックポイント用に設定したバケットを選択します。
- Upload folder (または、構成によっては Upload files) をクリックします。
- 変換済みチェックポイントのアーティファクトを含むディレクトリを選択します。
- アップロードの完了を待ちます。ディレクトリ構造はそのまま維持される必要があります。
チェックポイントの参照
チェックポイントをサービング可能にする方法は 2 つあり、既存のモデル名を維持するか、新しい名前でチェックポイントをサービングするかによって使い分けます。リクエストでは、引き続き既存モデルのサービング名を使用します。対応モデルのファインチューニング版をサービングする場合は、この方法を推奨します。この例のアーキテクチャキー リソースを適用します。
方法 1: 既存モデルのチェックポイントをオーバーライドする
既存モデルの名前を再利用し、そのモデルが通常使用するチェックポイントの代わりにカスタムチェックポイントをサービングする場合に使用します。新しいModel リソースは不要です。ModelBundle または ModelDeployment のモデル構成に checkpointOverrides を設定します。方法 2: 新しい Model リソースを登録する
チェックポイントを独自のモデル名でサービングする場合に使用します。例えば、別のモデルからファインチューニングしたチェックポイントを、推論 API で個別の名前でアクセスできるようにしたい場合です。この方法では、新しいModel リソースの作成が必要です。組み合わせる予定のプロファイルと互換性のあるアーキテクチャキーを使用して spec.checkpoints.<arch> を設定し、source に変換済みチェックポイントの場所を、spec.tokenizer.path にチェックポイントの派生元であるベースモデルのトークナイザーを設定します。llama3 は説明用の例です。使用する予定のプロファイルの model_arch と一致するキーを使用してください。全フィールドのリファレンスは、Model をご覧ください。tokenizer フィールドは、生成の前に入力のチェックを実行してシーケンス長の要件を計算するためにのみ使用されます。チェックポイントのファインチューニング元であるベースモデルのトークナイザーを設定してください。- Hosted
- On Premise
チェックポイントのデプロイ
チェックポイントのアーキテクチャと互換性のある その後、デプロイします。単一モデルの場合は、適用します。複数のモデルをバンドルにまとめる方法を含む、デプロイオプションの全体像は、バンドルのデプロイ をご覧ください。
model_arch を持つ ModelProfile とモデルを組み合わせたうえで、直接またはバンドル経由でデプロイします。互換性のあるプロファイルを見つけるには、クラスター内のプロファイルを一覧表示し、それぞれの model_arch を確認します。- Hosted
- On Premise
ModelDeployment にインラインで記述します。- Hosted
- On Premise
カスタムモデルアーキテクチャの追加
モデルアーキテクチャがまだサポートされていない場合、そのアーキテクチャ用のコンパイル済み実行ファイルもプロファイルも存在しないため、以下の順序で一連のリソースをすべて作成する必要があります。
新しいアーキテクチャ用に PEF をコンパイルし、それを登録する
Pef リソースを作成する必要があります。PEF のコンパイル方法は本ページでは扱いません。
各リソースの値を決める際は、最も近い対応モデルのリソースを参考にしてください。
- Hosted
- On Premise
デプロイの確認
デプロイメントを適用したら、カスタムチェックポイントのデプロイが成功したことを確認します。-
デプロイ状態の確認:
-
モデルが利用可能であることの確認:
このコマンドが一覧表示するのは Kubernetes のリソース名 (
metadata.name) です。リクエストで使用する必要があるのはspec.nameに設定したサービング名であり、両者は異なることがよくあります。 -
spec.nameのサービング名を使用して、サンプルの推論リクエストでテストします。 SambaNova SDK、OpenAI 互換ライブラリ、CURL を使用した推論リクエストの例については、開発者向けクイックスタートガイドをご参照ください。
トラブルシューティング
よくある問題
GCS アクセスの確認
権限の問題が疑われる場合は、サービスアカウントがチェックポイントにアクセスできることを確認してください。次のステップ
- 本ページで作成するリソースについては、Model、PEF、およびデプロイの概要をご参照ください。
- 監視とモニタリングについては、SambaStack の監視をご参照ください。
- カスタムチェックポイントがベースモデルと異なるチャットテンプレートやツール呼び出しの出力形式を使用する場合は、クライアント側でのプロンプト整形と出力解析の方法について、開発者ガイドのカスタムチャットテンプレートと出力解析をご参照ください。

