Skip to main content
A ModelProfile defines how a model architecture can be run: which PEFs it uses, which features it supports, and the batch sizes available at each sequence length tier. Profiles are reusable. One profile applies to every model and checkpoint that shares its architecture, including custom checkpoints for fine-tuned models. The profiles for supported architectures are provided with the SambaStack installation, so in most cases you reference an existing profile by name rather than authoring one. ModelProfile resources use apiVersion: sambanova.ai/v1alpha1.

Structure

ModelProfile Top-Level Fields
spec.batchingConfigs replaces the earlier spec.defaultBatchingConfig field. The old field held one tier map directly; the new field holds a map of named tier maps. A profile written against the old field needs its tier map nested under a configuration name, conventionally all.

Batching configurations

spec.batchingConfigs is a two-level map: a configuration name, then a sequence length tier, then the settings for that tier. Two configuration names are meaningful to the operator: Any other name is accepted and can be selected by name from a bundle, but the operator treats recommended and all specially when resolving the default. Common tier keys are 8k, 16k, 32k, 64k, and 128k. PEFs below 1k use a bare integer key, for example 448, and vocoder PEFs use a codes-length key in the form <n>t, for example 10t.
Including multiple batch sizes for each tier allows the inference engine to select the smallest and fastest configuration based on current workload.

Overriding a batching configuration

A profile establishes the batch sizes available at each tier, so its own configurations always list them explicitly. They never use "*". You override a profile’s batching for a single model through modelConfigs[].batchingConfig in a ModelBundle, or through the inline spec.models of a ModelDeployment. An override takes one of two forms. Select one of the profile’s configurations by name. Set batchingConfig to a string naming an entry in the profile’s batchingConfigs:
Naming a configuration the profile does not define is a validation error on the owning ModelBundle or ModelDeployment. Or spell out the tiers inline. Only in an inline override can batch_sizes be set to "*", which selects every batch size the profile provides for that tier:
An override can only narrow or restate what the profile already provides. It cannot introduce a batch size the profile does not contain. You only need to spell out what you are actually changing: any tier that omits promptBatchingBuckets has them backfilled from the PEFs that tier references.

Resolution order

The batching configuration used for a model is resolved in this order, first match winning:
  1. The model configuration’s batchingConfig, whether a name or an inline map.
  2. The profile’s recommended configuration, if it defines one.
  3. The profile’s all configuration.
  4. A configuration generated by the operator from the PEF grouping.

PEF

The compiled executables a profile references

Model

The checkpoints a profile is paired with

ModelBundle

Where a profile’s batching configuration can be overridden

Deploying models and bundles

How profiles relate to the other resources