チェックポイント変換は、SambaStack または SambaCloud にカスタムチェックポイントをデプロイする際の 1 つのサブステップです。全体のワークフローについては、カスタムチェックポイントのデプロイのページをご参照ください。
概要
チェックポイント変換ツールは、主に次の 2 つの機能を提供します。- チェックポイント変換: HuggingFace 形式のチェックポイントを、SN40L ハードウェアへのデプロイに適した SambaNova 互換形式に変換します。
- 投機的デコーディングの検証: 変換済みのドラフトチェックポイントが、投機的デコーディング (speculative decoding) のデプロイにおいてターゲットチェックポイントと互換であるかを検証します。
前提条件
システム要件
チェックポイント変換ツールを使用する前に、システムが以下の要件を満たしていることを確認してください。変換時間の目安
必要なソフトウェア
必要なアクセス権
- お使いの SambaStack インスタンスのエンドポイントへのネットワークアクセス
- Google Cloud の認証情報 (貴組織の SambaStack アーティファクトレジストリが構成されている場合はそれに使用しているものと同じアカウント。未構成の場合は SambaNova のアカウントチームまたはサポート窓口にお問い合わせください)
対応モデルとチェックポイント形式
対応モデルアーキテクチャ
カスタムチェックポイントのデプロイは、拡大を続けるベースモデル群でサポートされています。対象のモデルファミリーでカスタムチェックポイントがサポートされているかどうかは、対応モデルの表で、「機能と最適化」列の Custom checkpoints supported フィールドをご確認ください。チェックポイント形式の要件
チェックポイントは 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 プラットフォーム上への変換とデプロイが可能です。 これらのチェックポイントはモデルの重みが更新されており、パフォーマンスの向上や特定のタスク・データセットへの適応のために調整・改良されています。ダウンロードとセットアップ
チェックポイント変換ツールは、すべての変換・検証ユーティリティを含む Docker コンテナとして配布されています。<REGISTRY_HOST> および <REGISTRY_PATH> の値を入手するには、SambaNova のアカウントチームまたはサポート窓口にお問い合わせください。Docker Desktop または Docker Engine のインストール
変換を実行する環境に Docker エンジンをインストールします。公式の Docker Engine インストールガイド(英語)に従ってください。インストール後、Docker を起動します (macOS ではデスクトップアプリケーションから起動できます)。
Google Cloud CLI のインストール
変換を実行する環境に Google Cloud CLI をインストールします。公式の Google Cloud CLI インストールガイドに従ってください。
認証とコンテナイメージの取得
まず、Docker クライアントが Google Cloud で認証します。Docker イメージを取得します。
<REGISTRY_HOST> に対して認証できるように構成します (初回のみ):<REGISTRY_HOST> は、SambaNova のアカウントチームまたはサポート窓口から提供されるレジストリドメインに置き換えてください。貴組織の SambaStack アーティファクトレジストリへのアクセスが構成されている場合は、それに関連付けられた Google アカウントを使用してください。
<REGISTRY_PATH> は、SambaNova のアカウントチームまたはサポート窓口から提供されるチェックポイント変換ツールのイメージパスに置き換えてください。モデルメタデータの同期
このステップでは、お使いの SambaStack インスタンスからプラットフォーム固有のモデルメタデータをダウンロードし、ローカルに保存します。ツールはこのメタデータを使用してチェックポイント変換を実行します。また、モデルメタデータの内容を確認することで、アーティファクトが SambaNova の SN40L ハードウェア上で動作するようにどのように変換されるかを理解できます。メタデータの取得とキャッシュは、チェックポイント変換ツールのコンテナを
download-serving-cache コマンドで実行することで行います。コマンドテンプレート
ネイティブの Linux/amd64 環境では、
--platform linux/amd64 フラグは任意であり、省略できます。このフラグは主に macOS (特に Apple Silicon) で正しいアーキテクチャが使用されるようにするために有用です。パラメータ
これでセットアップは完了です。このセットアップ全体は一度だけ実行すれば十分です。ただし、以下の場合はステップ 4 の再実行が必要になることがあります。
- SambaNova または貴組織が、カスタムチェックポイント推論に利用可能なモデルアーキテクチャを追加した場合
- お使いの SambaStack インスタンス (ベース URL 単位) に対してモデルメタデータの更新がリリースされた場合
- 別のプラットフォーム (例: SambaCloud) に切り替える場合、または貴組織が複数の SambaStack インスタンス (ベース URL 単位) を使用している場合
チェックポイントの変換と検証
チェックポイント変換ツールは、カスタムチェックポイント (HuggingFace などから取得したもの) を SambaNova の SN40L ハードウェア上で実行できる形式に変換します。このステップは、SambaStack または SambaCloud にカスタムチェックポイントをアップロード・デプロイする前に実行します。コマンドテンプレート
パラメータ
prepare-ckpt コマンドの主な入力フラグは以下のとおりです。
ホスト側の変数
上記のフラグに加えて、通常は Docker コマンド用に以下の環境変数を設定します。変換出力の検証
変換が正常に完了したら、出力ディレクトリが完全かつ整合していることを確認します。チェックリスト
- 出力ディレクトリに、想定される一連の
safetensorsファイルが含まれている。通常はmodel-00001-of-000NN.safetensors、model-00002-of-000NN.safetensors、…、NNまで - 出力ディレクトリに、正常完了を示す
DONEファイルが含まれている - ツールのログにエラーが記録されていない
変換成功時のログ
正常に完了した実行は、次のようなログで終わります。変換失敗時のログ
変換が失敗した場合は、次のようなエラーエントリが表示されることがあります。"One or more failures have occurred. Do not deploy" と "The process is completed without any errors" のどちらも表示されず、プロセスが予期せず終了した場合は、メモリ不足 (OOM) が発生している可能性があります。その場合は、利用可能なメモリを増やして変換を再実行してください。変換が正常に完了し、出力ディレクトリに想定されるすべてのファイルが含まれていることを確認できたら、カスタムチェックポイントのデプロイのアップロードとデプロイの手順に進めます。
出力ログの読み方とトラブルシューティング
チェックポイント変換ツールは、実行ごとに構造化されたログを出力します。これにより、問題の診断、プロセスのどの部分が失敗したかの特定、次に取るべき対応の判断がしやすくなります。ログ構造の概要
大まかには、各実行のログには以下が含まれます。- 実行されたコマンドを示す最終レポートヘッダー
- 実行中のモジュールやテストを示す一連の STEP エントリ
- (失敗が発生した場合) 詳細と対応案を含む Errors セクション
- プロセスが正常完了したか失敗したかを示す最終ステータス行
出力ログの例
ログの構成要素の解説
最終レポートヘッダー 実行されたコマンドと引数がそのまま表示されます。-
エラーがない場合:
-
ステップがエラーになった場合:
エラーブロックの構成要素
ステップが失敗した場合、各エラーブロックには以下のフィールドが含まれます。よくあるエラーと解決方法
次のステップ
チェックポイントの変換が正常に完了したら、次の手順に進みます。- 変換済みチェックポイントを GCS バケットにアップロードする
- モデルマニフェスト (Model Manifest) にチェックポイントを登録する
- Bundle 構成を使用してチェックポイントをデプロイする

