Skip to main content
チェックポイント変換パッケージは、HuggingFace 形式のチェックポイントを、SambaRack および SambaCloud システムへのデプロイに必要な SambaNova 互換形式に変換します。 変換機能は、モデルファミリーごとに 1 つの Python パッケージとして提供され、お使いの SambaStack アーティファクトレジストリからインストールします。各パッケージは、その名前が示すモデルファミリーのチェックポイントを変換します。これらのパッケージは、従来の Docker ベースの変換ツールを置き換えるものです。
チェックポイント変換は、SambaStack または SambaCloud にカスタムチェックポイントをデプロイする際の 1 つのサブステップです。全体のワークフローについては、カスタムチェックポイントのデプロイのページをご参照ください。

前提条件

システム要件

変換時間の目安

変換は、チェックポイントのストレージマウントにアクセスできるローカルマシンまたはワークスペース上で実行してください。クラウドのコンピュートインスタンスも使用できますが、チェックポイントのデータ転送に長い時間がかかる場合がある点にご注意ください。

必要なソフトウェア

必要なアクセス権

  • お使いの 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 など)
変更可能な要素:
  • モデルの重み、またはモデルの重みテンソルの値
  • トークナイザーと語彙。ただし、語彙サイズは元のモデルチェックポイントと正確に一致している必要があります。多言語ユースケースで有用です。
静的グラフの観点で考えると理解しやすくなります。TensorRT-LLM などのエンジンで通常静的とされるモデルの要素は、カスタムチェックポイントでも静的である必要があります。

互換性の具体例

ベースモデル meta-llama/Llama-3.3-70B-Instruct (SambaNova が対応しているベースモデル) を例にします。以下のチェックポイントは元の 70B モデルと同じ計算グラフを使用しているため、SambaNova プラットフォーム上への変換とデプロイが可能です。 これらのチェックポイントはモデルの重みが更新されており、パフォーマンスの向上や特定のタスク・データセットへの適応のために調整・改良されています。

変換パッケージの選択

パッケージの名前は、個々のモデルではなくモデルファミリーに対応しています。お使いのチェックポイントの派生元となるベースモデルを確認してください。
誤ったパッケージで変換すると、エラーなく読み込まれるのに誤った出力を返すチェックポイントが生成されることがあります。パッケージは、チェックポイントの派生元のベースモデルに合わせて選択してください。
この表は、サポートされている変換パッケージの完全な一覧です。レジストリには、カスタムチェックポイント用にはサポートされていない他の sn-conversion-* パッケージも存在しますが、この表には記載していません。上記のパッケージのみを使用してください。

変換パッケージのインストール

1

Google Cloud CLI のインストールと認証

変換を実行する環境に、公式の Google Cloud CLI インストールガイドに従って Google Cloud CLI をインストールし、認証を行います。
貴組織の SambaStack アーティファクトレジストリへのアクセスに関連付けられた Google アカウントを使用してください。
2

パッケージのインストール

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 から取得できます。
共通の変換エンジンは、依存関係として自動的にインストールされます。仮想環境へのインストールを推奨します。
3

インストールの確認

これでセットアップは完了です。新しいバージョンに更新するには、パッケージ名を指定して pip install --upgrade を実行してください。

チェックポイントの変換

コマンド

まず、変換プランを表示します。
--print-plan を外すと、変換が実行されます。

パラメータ

フラグは記載どおり正確に入力してください。--source_path と --target_path はアンダースコアを使用するのに対し、--print-plan、--dry-run、--strict-ops はハイフンを使用します。両者に互換性はなく、--source-path も --strict_ops も拒否されます。

変換設定

各パッケージは独自の設定を宣言しており、ベースモデルに一致するチェックポイントに対してはデフォルト値のままで正しく動作します。--print-plan を使うと、実行時に解決された設定を確認できます。 設定のオーバーライドには --set を使用します。ブール値の設定は + または - のプレフィックスを付け、それ以外は key=value 形式で指定します。
以下の設定は、すべてのパッケージに共通です。
allow_symlink はデフォルトのままにしてください。変換中にいずれかのテンソル形状が変わった場合、シンボリックリンクされたシャードは元のテンソルを提供するため、デプロイ時にチェックポイントの読み込みが失敗します。
認識されない --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 の違いは報告されますが、チェックの失敗にはなりません。ランタイムが読み込み時に dtype を変換するためです。
このチェックは、テンソル名・形状・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 を使用してください。

次のステップ

チェックポイントの変換が正常に完了したら、次の手順に進みます。
  1. 変換済みチェックポイントを GCS バケットまたは NFS マウントにアップロードする
  2. Model リソースまたはチェックポイントのオーバーライドからチェックポイントを参照する
  3. 互換性のある ModelProfile を使用してチェックポイントをデプロイする
完全なワークフローについては、カスタムチェックポイントのデプロイをご参照ください。