Model and Pef resources, which you author when bringing your own checkpoint or model architecture.
Overview
Deploying a custom checkpoint involves four high-level actions:- Convert your checkpoint into a SambaNova-compatible format using the Checkpoint Conversion Tool.
- Upload your converted checkpoint to your private Google Cloud Storage bucket configured with read permissions granted to your SambaNova-provided service account OR make it available in NFS such that it is readable by your cluster.
- Reference your checkpoint, either by overriding the checkpoint used by an existing model or by registering a new
Modelresource for it. - Deploy it by pairing the model with a compatible
ModelProfilein aModelDeploymentor aModelBundle.
Before starting this workflow, ensure you have completed the checkpoint conversion process. See the Checkpoint Conversion Tool page for instructions.
Prerequisites
Before deploying a custom checkpoint, ensure you have:- A converted checkpoint in SambaNova-compatible format (see Checkpoint Conversion Tool)
- Your NFS mounted storage or access to a Google Cloud Storage (GCS) bucket
- Your SambaNova-provided service account JSON file
kubectlconfigured with access to your SambaStack cluster- Familiarity with deploying models and bundles, including model profiles and model bundles
Supported models for custom checkpoints
Custom checkpoint deployment is supported for a growing set of base models in SambaStack. See the Supported Models and Bundles table to find models that support custom checkpoints.Steps to deploy a custom checkpoint
Convert your checkpoint
Custom or fine-tuned checkpoints must be converted into a format optimized for SambaNova’s SN40L hardware before they can be deployed. SambaNova provides a Checkpoint Conversion Tool, delivered as a Docker container that you can run locally. The tool generates converted checkpoint artifacts that can then be uploaded and deployed for inference on SambaStack.To begin, follow the instructions in the Download and set up section of the Checkpoint Conversion Tool documentation. Setup is complete once you have downloaded the conversion tool container and synced the model metadata with your specific SambaStack instance.After setup, use the steps described in the Convert and validate checkpoint section of the Checkpoint Conversion Tool documentation to convert your custom checkpoint into the SambaNova-compatible format.
Configure GCS bucket permissions
You can skip this section if you have NFS mounted to your cluster.
This is a one-time setup step. After permissions are in place, you can upload any number of custom checkpoints to your bucket and use them directly in your deployments.
Identifying your service account
Your service account information is provided as a JSON file. Locate theclient_email field - this is the identity that needs read access to your bucket. For example:Granting Storage Object Viewer role
To allow SambaStack to access your custom checkpoints, grant the service account the Storage Object Viewer role on your bucket. This provides read-only access to objects without allowing writes or modifications.Using the Google Cloud Console:- Open the Google Cloud Console.
- Navigate to Storage → Buckets, and select the bucket you plan to use.
- Go to the Permissions tab.
- Click + Add principal.
- In the New principals field, enter your service account’s
client_email. - In the Role dropdown, choose: Cloud Storage → Storage Object Viewer
- Click Save.
<BUCKET_NAME>– the name of your GCS bucket<SERVICE_ACCOUNT_EMAIL>– theclient_emailvalue from your service account JSON<PROJECT_ID>– the Google Cloud project that owns the bucket
Upload your converted checkpoint
NFS
If you have NFS mounted to your cluster, verify that the converted checkpoint is moved to NFS and accessible by your cluster.Google Cloud Storage
If you are using Google Cloud Storage (GCS), after converting the checkpoint, upload the directory containing the converted checkpoint files to your GCS bucket.This step may take a while depending on the size of your checkpoint.
- Open the Google Cloud Console.
- Navigate to Storage → Buckets and select the bucket you’ve configured for custom checkpoints.
- Click Upload folder (or Upload files, depending on your structure).
- Select the directory containing your converted checkpoint artifacts.
- Wait for the upload to complete; the structure should remain intact.
Reference your checkpoint
There are two ways to make your checkpoint servable, depending on whether you want to keep the existing model name or serve the checkpoint under a new one.Requests continue to use the existing model’s serving name. This is the recommended approach for serving a fine-tuned variant of a supported model.The architecture key in this example, Apply the resource:
Option 1: Override the checkpoint of an existing model
Use this option to reuse an existing model’s name and serve your checkpoint in place of the one that model normally uses. No newModel resource is required. Set checkpointOverrides on the model configuration in your ModelBundle or ModelDeployment:Option 2: Register a new Model resource
Use this option to serve the checkpoint under its own model name, for example a checkpoint fine-tuned from another model that you want addressed separately in the inference API. This requires creating a newModel resource.Set spec.checkpoints.<arch> using an architecture key compatible with the profile you intend to pair it with, set source to the location of your converted checkpoint, and set spec.tokenizer.path to the tokenizer of the base model the checkpoint was derived from.llama3, is illustrative. Use a key that matches the model_arch of the profile you intend to use. For the full field reference, see Model structure.The
tokenizer field is used only for checking inputs to calculate sequence length requirements prior to generation time. Set it to the tokenizer of the base model your checkpoint was fine-tuned from.- Hosted
- On Premise
Deploy the checkpoint
Pair the model with a Then deploy. For a single model, inline it in a Apply it:For the full deployment options, including bundling several models together, see Deploying models and bundles.
ModelProfile whose model_arch is compatible with your checkpoint’s architecture, then deploy it either directly or through a bundle.To find a compatible profile, list the profiles in your cluster and note the model_arch of each:- Hosted
- On Premise
ModelDeployment:- Hosted
- On Premise
Resource reference
The following resources are the ones you author when bringing your own checkpoint or model architecture. For the profile, bundle, and deployment resources, see Deploying models and bundles.Model structure
A Model resource is the source of checkpoints. It holds the checkpoint versions for each architecture the model supports, keyed by architecture name, along with the tokenizer to use.
The paths to checkpoints hosted by SambaNova will be provided to you by your SambaNova contact. If you have hosted your own checkpoints, you can include those paths in the
source fields above.
PEF structure
A Pef resource registers a compiled executable. The profile determines which PEF, sequence size, and batch size are used, so you select a profile rather than an individual PEF. AuthorPef resources only when introducing a new model architecture.
PEF and checkpoint lifecycle status
SambaStack assigns apef_status field to PEF CR versions and a checkpoint_status field to model CR checkpoint versions to indicate their support lifecycle. Understanding these statuses helps you make informed decisions when selecting PEF or checkpoint versions.
PEF and checkpoint version status values
Each version entry in a PEF CR includes a pef_status field. Model CR checkpoint versions use checkpoint_status. Both share the same set of values:
Example PEF CR versions with status
kubectl describe pef <pef-name> or kubectl describe model <model-name> and review the pef_status or checkpoint_status field in the Versions section.
Add a custom model architecture
If the model architecture is not yet supported, no compiled executable and no profile exist for it, so the full set of resources must be authored in the following order:
A new PEF must be compiled for the architecture, and a
Pef resource must be created to register it. Compiling a PEF is not covered on this page.
Use the resources for the closest supported model as a reference for the values in each resource:
- Hosted
- On Premise
Verifying your deployment
After applying the deployment, verify that your custom checkpoint deployment is successful:-
Check deployment status:
-
Verify the model is available:
- Test with a sample inference request using your custom model name. See the Quickstart Guide for Developers for example inference requests using the SambaNova SDK, OpenAI-compatible libraries, or CURL.
Troubleshooting
Common issues
Verifying GCS access
If you suspect permission issues, verify that your service account can access the checkpoint:Next steps
- To deploy custom checkpoints with speculative decoding, see Deploying with speculative decoding
- For monitoring and observability, see SambaStack Monitoring
- If your custom checkpoint uses a different chat template or tool-call output format than the base model, see Custom chat templates and output parsing in the Developer Guide for how to handle prompt formatting and parsing on the client side.

