チェックポイント変換は、SambaStack または SambaCloud にカスタムチェックポイントをデプロイする際の 1 つのサブステップです。全体のワークフローについては、カスタムチェックポイントのデプロイのページをご参照ください。
前提条件
システム要件
変換時間の目安
必要なソフトウェア
- Python 3.11 以降 (
pipを含む) - Google Cloud CLI - インストールガイド
必要なアクセス権
- お使いの SambaStack アーティファクトレジストリのレジストリ URL (SambaNova のアカウントチームまたはサポート窓口から提供されます)。この URL がないと変換パッケージをインストールできません
- そのレジストリへの読み取りアクセス権
- Google Cloud の認証情報 (貴組織の SambaStack アーティファクトレジストリが構成されている場合はそれに使用しているものと同じアカウント。未構成の場合は SambaNova のアカウントチームまたはサポート窓口にお問い合わせください)
SambaNova がホストするレジストリおよびチェックポイントストレージへのアクセスは読み取り専用です。変換パッケージはレジストリから取得し、変換後のチェックポイントはご自身で管理するストレージに書き込みます。詳細はカスタムチェックポイントのデプロイをご参照ください。
対応モデルとチェックポイント形式
対応モデルアーキテクチャ
カスタムチェックポイントは、decoder-only のテキスト生成モデルでサポートされています。対象のモデルファミリーがサポートされているかどうかと現時点の例外については、対応モデルのページをご確認ください。チェックポイント形式の要件
チェックポイントは HuggingFace 形式で受け付けられます。テンソルは safetensors 形式であり、チェックポイントディレクトリには、カスタムチェックポイントのベースモデルと同じ関連設定ファイルが含まれている必要があります。 例えば、カスタムチェックポイントが meta-llama/Llama-3.3-70B-Instruct のファインチューニング済み派生モデルである場合、チェックポイントディレクトリには以下のようなファイルが含まれている必要があります。チェックポイントの互換性
チェックポイントが、お使いのプラットフォームで対応しているモデルのいずれかからファインチューニングまたは派生したものである場合、計算グラフ (すなわちテンソルの重みと形状) が元のチェックポイントから変更されていないことが互換性の条件となります。 変更してはならない要素:- アテンションヘッド数
- RoPE のタイプ (rope theta)
- モデルの語彙サイズ
- オプティマイザのタイプ
config.json内の静的なアーキテクチャ属性 (head_dim、hidden_act、intermediate_size、attention_bias、attention_dropout、vocab_sizeなど)
- モデルの重み、またはモデルの重みテンソルの値
- トークナイザーと語彙。ただし、語彙サイズは元のモデルチェックポイントと正確に一致している必要があります。多言語ユースケースで有用です。
互換性の具体例
ベースモデル meta-llama/Llama-3.3-70B-Instruct (SambaNova が対応しているベースモデル) を例にします。以下のチェックポイントは元の 70B モデルと同じ計算グラフを使用しているため、SambaNova プラットフォーム上への変換とデプロイが可能です。 これらのチェックポイントはモデルの重みが更新されており、パフォーマンスの向上や特定のタスク・データセットへの適応のために調整・改良されています。変換パッケージの選択
パッケージの名前は、個々のモデルではなくモデルファミリーに対応しています。お使いのチェックポイントの派生元となるベースモデルを確認してください。この表は、サポートされている変換パッケージの完全な一覧です。レジストリには、カスタムチェックポイント用にはサポートされていない他の
sn-conversion-* パッケージも存在しますが、この表には記載していません。上記のパッケージのみを使用してください。変換パッケージのインストール
Google Cloud CLI のインストールと認証
変換を実行する環境に、公式の Google Cloud CLI インストールガイドに従って Google Cloud CLI をインストールし、認証を行います。
貴組織の SambaStack アーティファクトレジストリへのアクセスに関連付けられた Google アカウントを使用してください。
パッケージのインストール
pip がレジストリから読み取れるようにする認証バックエンドをインストールし、続いてお使いのモデルファミリー用のパッケージをインストールします。sn-conversion-llama は、変換パッケージの選択で確認したお使いのモデルファミリー用のパッケージに置き換えてください。本ページの例では、すべて sn-conversion-llama とその sn-convert-llama コマンドを使用しています。<REGISTRY_URL> は、SambaNova のアカウントチームまたはサポート窓口から提供されるレジストリ URL に置き換えてください。URL は https://<REGION>-python.pkg.dev/<PROJECT>/<REPOSITORY>/simple/ という形式です。レジストリには変換パッケージのみが置かれているため、--extra-index-url を使うことで依存パッケージは引き続き PyPI から取得できます。チェックポイントの変換
コマンド
まず、変換プランを表示します。--print-plan を外すと、変換が実行されます。
パラメータ
変換設定
各パッケージは独自の設定を宣言しており、ベースモデルに一致するチェックポイントに対してはデフォルト値のままで正しく動作します。--print-plan を使うと、実行時に解決された設定を確認できます。
設定のオーバーライドには --set を使用します。ブール値の設定は + または - のプレフィックスを付け、それ以外は key=value 形式で指定します。
認識されない
--set キーを指定すると実行は失敗し、そのパッケージが受け付けるキーの一覧が表示されます。
変換結果の検証
出力の確認
変換が成功すると、変換後の safetensors シャード、更新されたmodel.safetensors.index.json、および sn_checkpoint_conversion_metadata.json がターゲットディレクトリに書き込まれ、終了コード 0 で終了します。
sn_checkpoint_conversion_metadata.json には、各操作の実行内容が記録されます。変換は成功したのに出力に問題がありそうな場合は、このファイルを確認してください。
効果のなかった操作の検出
--strict-ops を付けて再実行すると、指定した操作に効果がなかった場合に変換を失敗させることができます。
PEF との照合
各 PEF には<pef_stem>_coe_meta.json というマニフェストが同梱されており、コンパイル済みモデルが期待するすべてのテンソルが、その形状と dtype とともに記載されています。
マニフェストを取得するには、PEF リソースで PEF のストレージパス (spec.versions.<version>.source) を確認します。マニフェストは同じフォルダーにあり、PEF ファイル名から .pef 拡張子を除いた名前が付けられています。
このチェックは、テンソル名・形状・dtype を比較します。変換後のチェックポイントが、その PEF のビルド対象であるモデルに適合することを確認するものであり、変換によって数値的に正しい値が生成されたことを検証するものではありません。
変換後の注意点
変換は safetensors ファイルを書き換えますが、config.json は更新しません。デプロイ時に次元や量子化の不一致が報告された場合は、config.json を変換後のテンソルと照合してください。
トラブルシューティング
エラーには
CKPT-CNV-012 のような固定のエラーコードが付与されます。SambaNova のサポート窓口にお問い合わせの際は、このコードを添えてください。
既知の問題
sn-conversion-gpt-oss、sn-conversion-deepseek-v3、sn-conversion-qwen3-moe では --dry-run が失敗する
これらのパッケージでも変換自体は動作します。影響を受けるのは --dry-run フラグのみなので、このフラグを付けずに変換を実行してください。事前に操作内容を確認するには、--print-plan を使用してください。
次のステップ
チェックポイントの変換が正常に完了したら、次の手順に進みます。- 変換済みチェックポイントを GCS バケットまたは NFS マウントにアップロードする
- Model リソースまたはチェックポイントのオーバーライドからチェックポイントを参照する
- 互換性のある ModelProfile を使用してチェックポイントをデプロイする

