> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sambanova.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ModelProfile

ModelProfile は、モデルアーキテクチャを*どのように*実行できるかを定義します。すなわち、どの [PEF](/docs/ja/sambastack/service-administration/model-deployment/custom-resources/pef) を使用するか、どの機能をサポートするか、各シーケンス長ティアでどのバッチサイズが利用可能かを定めます。

プロファイルは再利用可能です。1 つのプロファイルは、同じアーキテクチャを共有するすべてのモデルとチェックポイントに適用され、ファインチューニング済みモデルのカスタムチェックポイントも対象になります。サポート対象アーキテクチャのプロファイルは SambaStack のインストールとともに提供されるため、ほとんどの場合、プロファイルを自分で作成するのではなく、既存のプロファイルを名前で参照します。

`ModelProfile` リソースは `apiVersion: sambanova.ai/v1alpha1` を使用します。

## 構造

```yaml theme={}
apiVersion: sambanova.ai/v1alpha1
kind: ModelProfile
metadata:
  name: gemma4-31b-dyt-cd
spec:
  model_arch: gemma4-31b
  features:
  - constrained_decoding
  batchingConfigs:
    all:
      8k:
        batch_sizes: [2, 4, 6, 8]
        promptBatchingBuckets: [4096, 8192]
      32k:
        batch_sizes: [2, 4, 6, 8]
        promptBatchingBuckets: [4096, 32768]
      128k:
        batch_sizes: [2, 4, 6, 8]
        promptBatchingBuckets: [4096, 32768, 65536, 131072]
    recommended:
      8k:
        batch_sizes: [2, 4, 6, 8]
        promptBatchingBuckets: [4096, 8192]
      32k:
        batch_sizes: [2, 4, 6, 8]
        promptBatchingBuckets: [4096, 32768]
      128k:
        batch_sizes: [2]
        promptBatchingBuckets: [4096, 32768, 65536, 131072]
  pefs:
  - gemma4-31b-ss262144-bs2-dyt-1-cd:2
  - gemma4-31b-ss131072-bs8-dyt-1-cd:1
  secretNames:
  - sambanova-artifact-reader
```

**ModelProfile のトップレベルフィールド**

| フィールド | 必須 | 説明 |
| - | - | - |
| `spec.pefs` | はい | PEF カスタムリソース参照の順序付きリスト。各参照は `<pef-name>[:<version>]` 形式です。リストは空にできず、重複する PEF 名を含めることはできません。バージョンサフィックスを省略すると、最新バージョンが使用されます。 |
| `spec.model_arch` | はい | このプロファイルが対象とするモデルアーキテクチャ。プロファイル内のすべての PEF は同じ `model_arch` を共有しており、このフィールドにより、個々の `Pef` リソースを調べなくてもその値を確認できます。 |
| `spec.features` | はい | このプロファイルがサポートする機能。プロファイルの PEF から導出されます。既知の値は `continuous_batching`、`prompt_caching`、`speculative_decoding`、`speculative_prefill`、`constrained_decoding`、`multi_token_prediction` です。空のリストは、オプション機能がないことを意味します。 |
| `spec.batchingConfigs` | はい | 名前付きのバッチング設定。設定名、次にシーケンス長ティアをキーとします。[バッチング設定](#バッチング設定) をご参照ください。省略すると、オペレーターが PEF のグルーピングから設定を生成します。 |
| `spec.secretNames` | はい | PEF のダウンロードに必要な Kubernetes Secret のリスト。環境に構成されている Secret と一致している必要があります。 |
| `spec.skip_legalizer` | いいえ | このプロファイルに対する Legalizer の検証をスキップします。 |
| `status.batchingConfig` | N/A | 読み取り専用。このプロファイルで解決された単一のデフォルト設定: `recommended` があればそれ、なければ `all`、それもなければオペレーターが生成した設定になります。可視化のためにのみ公開されます — デプロイ時の解決は常にバンドルを通して行われます。 |

<Warning>
  `spec.batchingConfigs` は、以前の `spec.defaultBatchingConfig` フィールドを置き換えるものです。旧フィールドは 1 つのティアマップを直接保持していましたが、新フィールドは*名前付き*ティアマップのマップを保持します。旧フィールド向けに書かれたプロファイルは、そのティアマップを設定名 (慣例として `all`) の下にネストする必要があります。
</Warning>

## バッチング設定

`spec.batchingConfigs` は 2 階層のマップです。設定名、次にシーケンス長ティア、その下にそのティアの設定が入ります。

オペレーターにとって特別な意味を持つ設定名が 2 つあります。

| 名前 | 説明 |
| - | - |
| `all` | プロファイルの PEF がサポートするすべてのバッチサイズを、すべてのティアについて列挙したもの。SambaNova が提供するプロファイルには必ず存在します。 |
| `recommended` | 厳選された、より狭いサブセットです。シーケンス長が最も長いティアでは、バッチサイズの選択肢を広く持つほどメモリ消費が大きくなるため、通常はそこでの選択肢が絞り込まれています。`all` と異なる場合にのみ存在します。 |

これ以外の名前も使用でき、バンドルから名前で選択できますが、デフォルトを解決する際にオペレーターが特別扱いするのは `recommended` と `all` です。

一般的なティアキーは `8k`、`16k`、`32k`、`64k`、`128k` です。1k 未満の PEF は `448` のような整数のみのキーを使用し、ボコーダー PEF は `<n>t` 形式のコード長キー (例: `10t`) を使用します。

```yaml theme={}
spec:
  batchingConfigs:
    all:
      128k:
        batch_sizes: [1]
        promptBatchingBuckets: [4096, 32768, 131072]
      32k:
        batch_sizes: [1, 2, 4]
      8k:
        batch_sizes: [1, 2, 4, 8]
      4k:
        batch_sizes: [1, 2, 4, 8]
        is_default: true
```

| パラメータ | 必須 | 説明 |
| - | - | - |
| `batch_sizes` | はい | このティアでサービングするバッチサイズ。プロファイル自身の設定では、`[1, 2, 4]` のような整数の明示的なリストです。オーバーライドでは、文字列 `"*"` も指定できます。[バッチング設定のオーバーライド](#バッチング設定のオーバーライド) をご参照ください。 |
| `promptBatchingBuckets` | いいえ | バッチングキューのルーティングのために、このティアがゲートウェイに通知するプロンプト長。未設定の場合、オペレーターがそのティアが実際に参照する PEF からバケットを生成します。 |
| `is_default` | いいえ | `true` の場合、このティアは `default` エキスパートとしてサービングされます。1 つの設定内でこれを設定できるティアは最大 1 つです。 |
| その他のキー | いいえ | ティアに設定されたその他のキーは、そのティアから構築されるエキスパートにそのまま渡されます。 |

<Tip>
  各ティアに複数のバッチサイズを含めておくと、推論エンジンが現在のワークロードに基づいて最小かつ最速の構成を選択できるようになります。
</Tip>

## バッチング設定のオーバーライド

プロファイルは各ティアで利用可能なバッチサイズを確立するものなので、プロファイル自身の設定では常にバッチサイズを明示的に列挙します。`"*"` は使用しません。

単一のモデルに対するプロファイルのバッチングのオーバーライドは、ModelBundle の `modelConfigs[].batchingConfig`、または ModelDeployment のインラインの `spec.models` を通じて行います。オーバーライドには 2 つの形式があります。

**プロファイルの設定を名前で選択する。** `batchingConfig` に、プロファイルの `batchingConfigs` のエントリ名を示す文字列を設定します。

```yaml theme={}
spec:
  modelConfigs:
  - model: gemma-4-31b-it:1
    profile: gemma4-31b-dyt-cd
    batchingConfig: all      # use the profile's full fan-out instead of its recommended subset
```

プロファイルに定義されていない設定名を指定すると、それを持つ ModelBundle または ModelDeployment の検証エラーになります。

**またはティアをインラインで記述する。** `batch_sizes` に `"*"` を設定できるのはインラインのオーバーライドのみです。`"*"` を設定すると、そのティアに対してプロファイルが提供するすべてのバッチサイズが選択されます。

```yaml theme={}
spec:
  modelConfigs:
  - model: gpt-oss-120b:1
    profile: gpt-oss-fp8-dyt
    batchingConfig:
      128k:
        batch_sizes: "*"    # every batch size the profile defines for 128k
      32k:
        batch_sizes: [2, 4] # a subset of what the profile defines for 32k
```

オーバーライドでは、プロファイルがすでに提供しているものを絞り込むか、そのまま再指定することしかできません。プロファイルに含まれないバッチサイズを持ち込むことはできません。記述する必要があるのは、実際に変更する部分だけです。`promptBatchingBuckets` を省略したティアでは、そのティアが参照する PEF から値が補完されます。

### 解決順序

モデルに使用されるバッチング設定は次の順序で解決され、最初に一致したものが採用されます。

1. モデル構成の `batchingConfig` (名前・インラインマップのいずれの形式でも)。
2. プロファイルの `recommended` 設定 (定義されている場合)。
3. プロファイルの `all` 設定。
4. オペレーターが PEF のグルーピングから生成した設定。

## 参考情報

<CardGroup cols={2}>
  <Card icon="microchip" href="/docs/ja/sambastack/service-administration/model-deployment/custom-resources/pef" title="PEF">
    プロファイルが参照するコンパイル済み実行ファイル
  </Card>

  <Card icon="database" href="/docs/ja/sambastack/service-administration/model-deployment/custom-resources/model" title="Model">
    プロファイルとペアになるチェックポイント
  </Card>

  <Card icon="cube" href="/docs/ja/sambastack/service-administration/model-deployment/custom-resources/model-bundle" title="ModelBundle">
    プロファイルのバッチング設定をオーバーライドできる場所
  </Card>

  <Card icon="diagram-project" href="/docs/ja/sambastack/service-administration/model-deployment/deploying-models-and-bundles/overview" title="モデルとバンドルのデプロイ">
    プロファイルと他のリソースとの関係
  </Card>
</CardGroup>
