Skip to main content
ModelProfile は、モデルアーキテクチャをどのように実行できるかを定義します。すなわち、どの PEF を使用するか、どの機能をサポートするか、各シーケンス長ティアでどのバッチサイズが利用可能かを定めます。 プロファイルは再利用可能です。1 つのプロファイルは、同じアーキテクチャを共有するすべてのモデルとチェックポイントに適用され、ファインチューニング済みモデルのカスタムチェックポイントも対象になります。サポート対象アーキテクチャのプロファイルは SambaStack のインストールとともに提供されるため、ほとんどの場合、プロファイルを自分で作成するのではなく、既存のプロファイルを名前で参照します。 ModelProfile リソースは apiVersion: sambanova.ai/v1alpha1 を使用します。

構造

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

バッチング設定

spec.batchingConfigs は 2 階層のマップです。設定名、次にシーケンス長ティア、その下にそのティアの設定が入ります。 オペレーターにとって特別な意味を持つ設定名が 2 つあります。 これ以外の名前も使用でき、バンドルから名前で選択できますが、デフォルトを解決する際にオペレーターが特別扱いするのは recommended と all です。 一般的なティアキーは 8k、16k、32k、64k、128k です。1k 未満の PEF は 448 のような整数のみのキーを使用し、ボコーダー PEF は <n>t 形式のコード長キー (例: 10t) を使用します。
各ティアに複数のバッチサイズを含めておくと、推論エンジンが現在のワークロードに基づいて最小かつ最速の構成を選択できるようになります。

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

プロファイルは各ティアで利用可能なバッチサイズを確立するものなので、プロファイル自身の設定では常にバッチサイズを明示的に列挙します。"*" は使用しません。 単一のモデルに対するプロファイルのバッチングのオーバーライドは、ModelBundle の modelConfigs[].batchingConfig、または ModelDeployment のインラインの spec.models を通じて行います。オーバーライドには 2 つの形式があります。 プロファイルの設定を名前で選択する。 batchingConfig に、プロファイルの batchingConfigs のエントリ名を示す文字列を設定します。
プロファイルに定義されていない設定名を指定すると、それを持つ ModelBundle または ModelDeployment の検証エラーになります。 またはティアをインラインで記述する。 batch_sizes に "*" を設定できるのはインラインのオーバーライドのみです。"*" を設定すると、そのティアに対してプロファイルが提供するすべてのバッチサイズが選択されます。
オーバーライドでは、プロファイルがすでに提供しているものを絞り込むか、そのまま再指定することしかできません。プロファイルに含まれないバッチサイズを持ち込むことはできません。記述する必要があるのは、実際に変更する部分だけです。promptBatchingBuckets を省略したティアでは、そのティアが参照する PEF から値が補完されます。

解決順序

モデルに使用されるバッチング設定は次の順序で解決され、最初に一致したものが採用されます。
  1. モデル構成の batchingConfig (名前・インラインマップのいずれの形式でも)。
  2. プロファイルの recommended 設定 (定義されている場合)。
  3. プロファイルの all 設定。
  4. オペレーターが PEF のグルーピングから生成した設定。

参考情報

PEF

プロファイルが参照するコンパイル済み実行ファイル

Model

プロファイルとペアになるチェックポイント

ModelBundle

プロファイルのバッチング設定をオーバーライドできる場所

モデルとバンドルのデプロイ

プロファイルと他のリソースとの関係