Skip to main content
The checkpoint conversion packages convert HuggingFace-format checkpoints into the SambaNova-compatible format required for deployment on SambaRack and SambaCloud systems. Conversion ships as Python packages, one per model family, installed from your SambaStack artifact registry. Each package converts checkpoints for the model family it is named for. The packages replace the Docker-based conversion tool.
Checkpoint conversion is a substep of deploying custom checkpoints on SambaStack or SambaCloud. See the Deploying custom checkpoints page for the high-level workflow.

Prerequisites

System requirements

Estimated conversion times

Run the conversion locally on your machine or workspace that has access to your checkpoint’s storage mount. A cloud compute instance can also be used, but note that data transfer of checkpoints can take a long time.

Required software

Required access

  • The registry URL for your SambaStack artifact registry, provided by your SambaNova account team or SambaNova support. You cannot install a conversion package without it
  • Read access to that registry
  • Authentication credentials for Google Cloud (the same account used for your organization’s SambaStack artifact registry, if configured; otherwise contact your SambaNova account team or support)
Your access to SambaNova-hosted registries and checkpoint storage is read-only. You pull conversion packages from the registry and write your converted checkpoint to storage you control. See Deploying custom checkpoints.

Supported models and checkpoint formats

Supported model architectures

Custom checkpoints are supported for decoder-only text generation models. To confirm support for a model family and see the current exceptions, see the Supported models page.

Checkpoint format requirements

Checkpoints are accepted in the HuggingFace format. The tensors should be in the safetensors format and the checkpoint directory should contain the same relevant config files as the base model for the custom checkpoint. For example, if the custom checkpoint is a finetuned variant of meta-llama/Llama-3.3-70B-Instruct, the checkpoint directory should contain files similar to the following:

Checkpoint compatibility

Given that a checkpoint is fine-tuned or derived from one of the supported models for your platform, checkpoints are compatible when their computational graph has not been modified from the original checkpoint (i.e., tensor weights and shapes). Aspects that must remain unchanged:
  • Number of attention heads
  • Rope type (rope theta)
  • Model vocabulary size
  • Optimizer type
  • Static architectural attributes in config.json such as: head_dim, hidden_act, intermediate_size, attention_bias, attention_dropout, vocab_size
Aspects that can be modified:
  • Model weights or model weight tensor values
  • Tokenizer and vocabulary, as long as the vocabulary size stays exactly the same as the original model checkpoint. This is useful for multilingual use cases.
It can be helpful to think about this in terms of a static graph. Aspects of a model that are typically static in engines such as TensorRT-LLM are also static for custom checkpoints.

Practical compatibility examples

Take the base model meta-llama/Llama-3.3-70B-Instruct (a base model supported by SambaNova). The following checkpoints use the same computational graph as the original 70B model and can be converted and deployed on SambaNova platforms: These checkpoints have undergone updates to their model weights, which have been adjusted and refined to improve performance or adapt to specific tasks or datasets.

Choose your conversion package

Packages are named for the model family, not the individual model. Find the base model your checkpoint derives from.
Converting with the wrong package can produce a checkpoint that loads without error and returns incorrect output. Match the package to the base model your checkpoint derives from.
This table is the complete list of supported conversion packages. The registry holds other sn-conversion-* packages that are not supported for custom checkpoints and are not listed here. Use only the packages above.

Install the conversion package

1

Install and authenticate Google Cloud CLI

Install Google Cloud CLI in your conversion environment, following the official Google Cloud CLI Installation guide, then authenticate:
Use the Google account associated with your organization’s SambaStack artifact registry access.
2

Install the package

Install the authentication backend that lets pip read from the registry, then install the package for your model family:
Replace sn-conversion-llama with the package for your model family from Choose your conversion package. The examples on this page all use sn-conversion-llama and its sn-convert-llama command.
Replace <REGISTRY_URL> with the registry URL provided by your SambaNova account team or SambaNova support. It takes the form https://<REGION>-python.pkg.dev/<PROJECT>/<REPOSITORY>/simple/. The registry holds only the conversion packages, so --extra-index-url keeps PyPI available for their dependencies.
The shared conversion engine installs automatically as a dependency. Installing into a virtual environment is recommended.
3

Verify the installation

Setup is complete. To update to a newer version, run pip install --upgrade with your package name.

Convert the checkpoint

Command

Print the conversion plan first:
Drop --print-plan to run the conversion.

Parameters

Type the flags exactly as shown. --source_path and --target_path use underscores, while --print-plan, --dry-run, and --strict-ops use hyphens. They are not interchangeable: both --source-path and --strict_ops are rejected.

Conversion settings

Each package declares its own settings, and the defaults are correct for a checkpoint that matches its base model. --print-plan shows the resolved settings for your run. Override a setting with --set. Boolean settings take a + or - prefix; others take key=value:
These settings are common to every package:
Leave allow_symlink at its default. If any tensor shape changes during conversion, symlinked shards serve the original tensors and the checkpoint fails to load at deployment.
An unrecognized --set key fails the run and lists the keys the package accepts.

Verify the conversion

Check the output

A successful conversion writes the converted safetensors shards, an updated model.safetensors.index.json, and sn_checkpoint_conversion_metadata.json to the target directory, and exits zero. sn_checkpoint_conversion_metadata.json records what each operation did. Check it when a conversion succeeds but the output looks wrong.

Catch operations that did nothing

Re-run with --strict-ops to fail the conversion if a requested operation had no effect:
An operation with no effect usually means the checkpoint does not hold the tensors the package expected, which points to a mismatch between your checkpoint and its base model.

Check against the PEF

Each PEF ships a <pef_stem>_coe_meta.json manifest alongside it, listing every tensor the compiled model expects with its shape and dtype. To get the manifest, find the PEF’s storage path in its PEF resource (spec.versions.<version>.source). The manifest is in the same folder, named after the PEF file without its .pef extension:
Check your converted checkpoint against that manifest:
A missing tensor or a shape disagreement exits non-zero and names the tensor. Dtype differences are reported but do not fail the check, because the runtime converts dtypes at load.
This check compares tensor names, shapes, and dtypes. It confirms the converted checkpoint fits the model the PEF was built for; it does not verify that the conversion produced numerically correct values.

After conversion

Conversion rewrites the safetensors files but does not update config.json. If deployment reports a dimension or quantization mismatch, check config.json against the converted tensors.

Troubleshooting

Errors carry a stable code, such as CKPT-CNV-012. Include the code when you contact SambaNova support.

Known issues

--dry-run fails for sn-conversion-gpt-oss, sn-conversion-deepseek-v3, and sn-conversion-qwen3-moe Conversion itself works for these packages. Only the --dry-run flag is affected, so leave it off and run the conversion. Use --print-plan to review the operations beforehand.

Next steps

After successfully converting your checkpoint:
  1. Upload the converted checkpoint to your GCS bucket or NFS mount
  2. Reference the checkpoint from a Model resource or a checkpoint override
  3. Deploy the checkpoint with a compatible ModelProfile
See Deploying custom checkpoints for the complete workflow.