SambaStack オンプレミスのアーキテクチャ

- ユーザーと開発者は、ロードバランサーを経由してデータセンターネットワークにリクエストを送信します
- データセンターネットワークは、100G/400G のフロントエンドネットワークを介して SambaRack クラスターにトラフィックをルーティングします
- フロントエンドネットワークは、Core Services Rack と、推論を実行する SambaRack SN40L-16 ユニットにリクエストを届けます
- 管理者は、2 つの独立したネットワークからクラスターにアクセスします。クラスター運用にはフロントエンドネットワークを、アウトオブバンド (out-of-band) のハードウェアアクセスには専用の 1Gbps 管理ネットワークを使用します
- SMS ノードと SambaRack SN40L-16 ユニットも、いずれも管理ネットワークに接続されます
- ストレージと、お客様が管理する 3 つのサービス – AUTH (OIDC)、DNS、NTP – がデータセンターネットワークに接続されます
- SambaNova のアーティファクトリポジトリ (GCP 上でホスト) は、チェックポイントとソフトウェア更新を CP ノードに直接配信します。これはデータセンターネットワークを完全にバイパスする、独立した直接経路です
- SambaRack SN40L-16 ユニット同士は、専用の SambaRack クラスタープライベートネットワークを介して相互に通信します
前提条件
このセクションでは、SambaStack をデプロイするための前提条件を示し、必要な認証情報と設定の入手方法を説明します。SambaNova は、ハードウェアの前提条件 (ロードバランサーの設定など) と OS の設定要件 (NTP サーバーなど) を、SambaNova のサイトサーベイ (site survey) を通じて収集します。詳細は SambaNova の担当者にお問い合わせください。
SambaRack SN40L-16 システムは、12TB または 4TB の DDR メモリ構成でデプロイできます。メモリ容量が混在するクラスターも、クラスター全体で低い方のメモリ上限を使用するように設定されていればサポートされます。新規出荷される SN40L-16 ハードウェアはすべて 4TB の DDR メモリ構成です。既存の 12TB システムは、同一構成のクラスターでデプロイされている場合、引き続きフル容量で運用できます。SambaNova 提供のバンドルは 4TB システムで検証されています。また、SambaStack はクラスターレベルでのメモリ上限の適用にも対応しており、バンドル構成が宣言されたノード容量に収まることを保証できます。
- 本ガイドは、Kubernetes クラスターがすでに構築されていることを前提としています。
-
API と UI のエンドポイント用に、2 つの TLS 証明書と DNS 名を用意する必要があります:
api.<your-domain>– 証明書と秘密鍵ui.<your-domain>– 証明書と秘密鍵
-
証明書は、次のいずれかの形式で用意する必要があります:
- 個別の証明書 2 枚 (ホスト名ごとに 1 枚)、または
- 両方をカバーする単一のワイルドカード証明書 (例:
*.example.com)
自己署名証明書は、本番環境ではサポートされません証明書は、Let’s Encrypt、DigiCert、貴組織の内部 CA など、信頼できる認証局 (CA) が発行したものである必要があります -
次のツールがインストールされていることを確認してください:
-
SambaNova から以下を受領していることを確認してください
- Helm チャートの OCI レジストリ URL
完全なレジストリ URL、
service-account-keyファイル、バージョン番号は、引き渡し時に SambaNova から提供されます。アクセス認証情報については、SambaNova の担当者にお問い合わせください。バージョン番号は、チャートの新規リリースごとに変わります。現在のインストールバージョンは、SambaNova の担当者にご確認ください。 - 設定ファイル
- お使いのデプロイメント用のサンプル
sambastack.yamlファイル - 本ガイドでは、ゼロから作成する方法も示します。 sambastack-modelsのインストール用の、モデルチャートのサンプル values ファイル (例:models-values.yaml)。
- お使いのデプロイメント用のサンプル
- Google Cloud サービスアカウントのキーファイル。このファイルは、次の作成に使用します:
- イメージプル用の Secret (Image Pull Secret)
- アーティファクト読み取り用の Secret (Artifact reader secret)
- Helm チャートの OCI レジストリ URL
セットアップ
クラスターの認証と設定
- sambastack 名前空間を作成します
- Google Cloud サービスアカウントの JSON キーを使用して、Artifact Registry からイメージをプルするための Docker レジストリ Secret を作成します:
- Google Cloud Storage からモデルアーティファクトを読み取るための Secret を作成します:
- スケジューリングのために、各 RDU ノードにラベルを付与します。冪等性を確保するため
--overwriteを付けます:クラスター内の各ノードに対して、このコマンドを繰り返します。
sambastack.yaml の設定
- 最小構成の
sambastack.yamlファイルを作成します:SambaRack SN40L-16 システムの DDR メモリは 12TB または 4TB のいずれかですが、新規出荷されるシステムはすべて 4TB です。クラスターのメモリ上限はこれに合わせて設定し、ノードタイプが混在する場合は低い方の上限を使用してください。完全な例は SambaStack.yaml リファレンス をご覧ください。 - モデルチャート用の
models-values.yamlファイルを設定します:このファイルは、クエリ可能なバンドルをデプロイします。modelBundleSpecsは、提供されているモデルバンドルのうちどれをレンダリングするかを選択し、modelDeploymentSpecsはそれらをデプロイします。name はバンドル名と一致している必要があります。使用できるすべてのキーについては、モデル構成 をご覧ください。
Helm へのログインとインストール
- Google Cloud サービスアカウントを使用して、Helm レジストリに認証します:
- ベースチャート、メインの SambaStack チャート、モデルチャート を、この順序でインストールします:
チャートは上記の順序でインストールしてください。
sambastack-base → sambastack → sambastack-models が推奨される順序です。完全なレジストリ URL とバージョン番号は、引き渡し時に SambaNova から提供されます。アクセス認証情報については、SambaNova の担当者にお問い合わせください。
バージョン番号は、チャートの新規リリースごとに変わります。SambaNova の担当者から提供されたバージョン番号を使用してください。
インストール後に作成される Pod の詳細については、Pod リファレンス の表をご参照ください。
Pod の稼働確認
- 次のコマンドを実行して、クラスターで稼働しているすべての Pod を確認します:
- すべての Pod が
Runningであることを確認します。応答は次のようになります。すべての Pod が目的のRunning状態になるまで、通常 5〜10 分程度かかります。詳細は Pod リファレンス の表をご覧ください。
6
ユーザーと API キーの作成
このクイックスタートガイドでは、すぐに使い始められるよう、デフォルトの Keycloak 認証設定を使用します。カスタム認証を設定する場合は、認証ページ をご覧ください。
- Keycloak の
temp-admin認証情報を取得します: - Keycloak をポートフォワードします
- 上記の
temp-admin認証情報を使用して、http://localhost:8080/から Keycloak にログインします。
- 管理者ユーザーを作成します

- 管理者ロールを割り当てます

- 管理者の認証情報を設定します

- 管理者ユーザーのメールアドレスを、
sambastack.yamlのauth-and-billingセクションに追加します:完全な例は SambaStack.yaml リファレンス をご覧ください。 ui.<your-domain>にアクセスし、上記で取得したユーザー認証情報でログインします。
- API キーを作成し、安全に保管します:

7
デプロイ済みモデルバンドルへのクエリ
- API キーを設定します:
- cURL または Python スクリプトのいずれかで、デプロイ済みのモデルバンドルに対してテストクエリを実行します:
- cURL
- Python
次の cURL コマンドを実行します応答は次のようになります。

