Llama-3.3-70B モデルをバッチサイズ4、シーケンス長16kでデプロイする場合、これは1つの特定の構成になります。バンドルには複数の構成が含まれることがあり、異なるモデルをまたぐことも可能です。
SambaNovaのRDU技術は、1つのデプロイメント内で複数のモデルや構成をロードすることをサポートし、構成間の即時切り替えを可能にします。単一の静的モデルをデプロイする従来のGPUシステムとは異なり、SambaStackのマルチモデル・マルチ構成バンドルは、効率性、柔軟性、スループットを向上させながら、レイテンシを犠牲にしません。バンドルは、モデルとその構成を組み合わせることで柔軟なデプロイを実現します。
SambaStackにおいて「構成」(configuration) とは、モデルデプロイのランタイム設定 (バッチサイズ、シーケンス長、精度など) を定義するものです。デプロイには複数の構成を含めることができ、同じデプロイ内で異なるモデル設定を即座に切り替えることが可能となり、最適化されたパフォーマンスと柔軟性を実現します。
バンドルテンプレート
バンドルテンプレートは、1つのノード上でどのモデルと構成を一緒にデプロイできるかを定義します。 これには1つ以上のモデルテンプレートが含まれます。 各モデルテンプレートは、サポートされる構成 (シーケンス長とバッチサイズの組み合わせ) を指定します。例 - モデルテンプレート
| モデルテンプレート | サポートされるシーケンス長 | サポートされるバッチサイズ |
|---|---|---|
DeepSeek-R1-0528-Template | 8k, 4k | 1, 2, 4, 8 |
DeepSeek-V3-0324-Template | 8k, 4k | 1, 2, 4, 8 |
例 - バンドルテンプレート
deepseek-r1-v3-fp8-32k-TemplateはDeepSeek-R1-0528-TemplateとDeepSeek-V3-0324-Templateを1つのデプロイメントパッケージにまとめます。
バンドル
バンドルは、バンドルテンプレートで定義されたモデルテンプレートに実際のチェックポイント(学習済みの重み)を関連付けたものです。 例えば、deepseek-r1-v3-fp8-32k という名前のバンドルは、R1-0528チェックポイントとV3-0324チェックポイントを deepseek-r1-v3-fp8-32k-Template 内の対応するモデルテンプレートにリンクします。
用語集
- バンドル (Bundle): モデルと構成を組み合わせたデプロイ可能なパッケージ。
- エキスパート (Expert): 特定のシーケンス長に紐づいたモデルインスタンス (例:
DeepSeek-R1-Distill-Llama-70B-4K)。 - エキスパート構成 (Expert Config): エキスパートインスタンスに特定のバッチサイズや構成を付与したもの (例:
DeepSeek-R1-Distill-Llama-70B-4k-BS2)。
SambaStackデプロイメントへのバンドル統合
SambaStack構成ファイル内のbundles セクションは、2つの主要な目的を持ちます:
- 利用可能なバンドルの定義:
bundleSpecsサブセクションで、どのバンドルテンプレートやバンドルがデプロイ可能かを宣言します。これにより、バンドルがシステムに登録されますが、この時点ではまだデプロイされません。 - ノードへのバンドルデプロイ:
bundleDeploymentSpecsサブセクションで、クラスター内でバンドルがどのように、どこにデプロイされるか(レプリカ数やQoSレベルを含む)を定義します。
例 - バンドル構成
バンドルの切り替え
別のバンドルにデプロイを切り替えるには:bundleSpecsおよびbundleDeploymentSpecsセクションを新しいバンドル名で更新します。
複数バンドルのデプロイ
同時に複数のバンドルをデプロイすることも可能です。その場合、各バンドルをbundleSpecs と bundleDeploymentSpecs の両方に列挙してください。
You may deploy more than one bundle simultaneously by listing them in both bundleSpecs and bundleDeploymentSpecs.
例:
SambaStackは現在、1ノードあたり1つのバンドルのみをサポートしています。複数のバンドルをデプロイする場合は、各バンドルを別々のノードに割り当て、リソースの競合を避けてください。
デプロイ状態の確認
新しいバンドルでPodが更新されたことを確認するには、次を実行します:カスタムチェックポイントのデプロイ
カスタムチェックポイントは標準のSambaNovaチェックポイントと同じプロセスでデプロイされますが、事前に変換が必要です。- 貴組織内のどなた(開発者または管理者)でもチェックポイントを変換できます。
- 変換済みチェックポイントのポインタを取得するか、ご自身で変換を行ってください。
- 詳細な手順は カスタムチェックポイントデプロイガイド を参照してください。
カスタムチェックポイント用のバンドル構成作成
既存のバンドルテンプレートをコピーし、source フィールドを、変換済みチェックポイントのGoogle Storageの場所に変更します。
例:
バンドルインスタンスの例
投機的デコーディングのデプロイガイドライン
SambaStack環境で投機的デコーディング (speculative decoding) を効果的にデプロイし、安定したパフォーマンスを維持するためには:- ドラフトチェックポイントがあなたのカスタムターゲットチェックポイントと対応していることを確認し、パフォーマンス低下を防いでください。
- カスタムモデル用にファインチューニングされたドラフトチェックポイントがない場合は、投機的デコーディングを含まないバンドルテンプレートを使用してください。
- SN Conversion Library を用いて、ドラフトチェックポイントとターゲットチェックポイントの互換性を検証し、加速を最適化してください。
- 詳細は「投機的デコーディングの背景」および「カスタムチェックポイントデプロイガイド」を参照してください。
カスタムドラフトチェックポイントのデプロイ
カスタムドラフトチェックポイントを、ターゲットチェックポイントと並列してバンドル内に指定することで、投機的デコーディングを有効化できます。例 - ドラフトチェックポイントとターゲットチェックポイントを含むバンドル
ベストプラクティス
- 投機的デコーディングは応答の出力精度には影響しませんが、アクセプト率に基づいて速度パフォーマンスに影響を与えることが可能です。
- 適切に学習されたドラフトチェックポイントがない場合、カスタムモデルに対して投機的デコーディングバンドルを使用することは避けてください。パフォーマンス低下につながる可能性があります。
