Reference Architecture
3 minute read
このページでは、Weights & Biases のデプロイメントのリファレンスアーキテクチャについて説明し、プラットフォームのプロダクションデプロイメントをサポートするために推奨されるインフラストラクチャとリソースの概要を示します。
Weights & Biases (W&B) に選択したデプロイメント環境に応じて、さまざまなサービスがデプロイメントの回復性を高めるのに役立ちます。
たとえば、主要なクラウドプロバイダーは、データベースの構成、メンテナンス、高可用性、および回復性の複雑さを軽減するのに役立つ、堅牢なマネージドデータベースサービスを提供しています。
このリファレンスアーキテクチャは、一般的なデプロイメントシナリオに対応し、最適なパフォーマンスと信頼性を実現するために、W&B のデプロイメントをクラウドベンダーサービスと統合する方法を示しています。
開始する前に
プロダクション環境でアプリケーションを実行するには、独自の課題があり、W&B も例外ではありません。プロセスの合理化を目指していますが、固有のアーキテクチャと設計上の決定によっては、特定の複雑さが発生する可能性があります。通常、プロダクションデプロイメントの管理には、ハードウェア、オペレーティングシステム、ネットワーク、ストレージ、セキュリティ、W&B プラットフォーム自体、およびその他の依存関係を含む、さまざまなコンポーネントの監視が含まれます。この責任は、環境の初期設定とその継続的なメンテナンスの両方に及びます。
W&B を使用した自己管理アプローチが、チームと特定の要件に適しているかどうかを慎重に検討してください。
プロダクショングレードのアプリケーションを実行および保守する方法をしっかりと理解しておくことは、自己管理の W&B をデプロイする前に重要な前提条件となります。チームが支援を必要とする場合は、当社の Professional Services チームとパートナーが、実装と最適化のサポートを提供します。
W&B を自分で管理する代わりに、W&B を実行するためのマネージドソリューションの詳細については、W&B Multi-tenant Cloud および W&B Dedicated Cloud を参照してください。
インフラストラクチャ

アプリケーション層
アプリケーション層は、ノード障害に対する回復性を持つ、マルチノード Kubernetes クラスターで構成されています。Kubernetes クラスターは、W&B の pod を実行および保守します。
ストレージ層
ストレージ層は、MySQL データベースとオブジェクトストレージで構成されています。MySQL データベースはメタデータを格納し、オブジェクトストレージはモデルやデータセットなどの Artifacts を格納します。
インフラストラクチャ要件
Kubernetes
W&B Server アプリケーションは、複数の pod をデプロイする Kubernetes Operator としてデプロイされます。このため、W&B には次のものを持つ Kubernetes クラスターが必要です。
- 完全に構成され、機能する Ingress コントローラー。
- Persistent Volumes をプロビジョニングする機能。
MySQL
W&B は、メタデータを MySQL データベースに格納します。データベースのパフォーマンスとストレージ要件は、モデルパラメータと関連するメタデータの形状によって異なります。たとえば、トレーニング run を追跡するほどデータベースのサイズが大きくなり、run テーブル、ユーザー Workspace 、および Reports のクエリに基づいてデータベースの負荷が増加します。
自己管理の MySQL データベースをデプロイする場合は、以下を検討してください。
- バックアップ。データベースを別の施設に定期的にバックアップする必要があります。W&B は、少なくとも 1 週間の保持期間で毎日バックアップすることをお勧めします。
- パフォーマンス。サーバーが実行されているディスクは高速である必要があります。W&B は、SSD または高速化された NAS でデータベースを実行することをお勧めします。
- 監視。データベースの負荷を監視する必要があります。CPU 使用率がシステムの 40% を超えて 5 分以上維持されている場合は、サーバーのリソースが不足している可能性が高いことを示しています。
- 可用性。可用性と耐久性の要件に応じて、プライマリサーバーからリアルタイムですべての更新をストリーミングし、プライマリサーバーがクラッシュまたは破損した場合にフェイルオーバーに使用できる、別のマシン上のホットスタンバイを構成することができます。
オブジェクトストレージ
W&B には、次のいずれかにデプロイされた、事前署名付き URL と CORS をサポートするオブジェクトストレージが必要です。
- Amazon S3
- Azure Cloud Storage
- Google Cloud Storage
- Amazon S3 と互換性のあるストレージサービス
バージョン
ソフトウェア | 最小バージョン |
---|---|
Kubernetes | v1.29 |
MySQL | v8.0.0, “General Availability” リリースのみ |
ネットワーク
ネットワーク化されたデプロイメントでは、インストール時と実行時の_両方_で、これらのエンドポイントへの出力が必要です。
エアギャップデプロイメントの詳細については、エアギャップインスタンス用の Kubernetes operator を参照してください。 トレーニングインフラストラクチャと、 Experiments のニーズを追跡する各システムには、W&B とオブジェクトストレージへのアクセスが必要です。
DNS
W&B デプロイメントの完全修飾ドメイン名 (FQDN) は、A レコードを使用して、イングレス/ロードバランサーの IP アドレスに解決される必要があります。
SSL/TLS
W&B では、クライアントとサーバー間の安全な通信のために、有効な署名付き SSL/TLS 証明書が必要です。SSL/TLS 終端は、イングレス/ロードバランサーで発生する必要があります。W&B Server アプリケーションは、SSL または TLS 接続を終端しません。
注意: W&B は、自己署名証明書とカスタム CA の使用を推奨していません。
サポートされている CPU アーキテクチャ
W&B は、Intel (x86) CPU アーキテクチャで実行されます。ARM はサポートされていません。
インフラストラクチャのプロビジョニング
Terraform は、プロダクション用に W&B をデプロイする推奨される方法です。Terraform を使用して、必要なリソース、他のリソースへの参照、および依存関係を定義します。W&B は、主要なクラウドプロバイダー向けの Terraform モジュールを提供しています。詳細については、自己管理のクラウドアカウント内で W&B Server をデプロイする を参照してください。
サイジング
デプロイメントを計画する際の開始点として、次の一般的なガイドラインを使用してください。W&B は、新しいデプロイメントのすべてのコンポーネントを注意深く監視し、観察された使用パターンに基づいて調整することをお勧めします。時間の経過とともにプロダクションデプロイメントを監視し続け、最適なパフォーマンスを維持するために必要に応じて調整します。
Models のみ
Kubernetes
環境 | CPU | メモリ | ディスク |
---|---|---|---|
テスト/開発 | 2 コア | 16 GB | 100 GB |
プロダクション | 8 コア | 64 GB | 100 GB |
数値は Kubernetes ワーカーノードごとの値です。
MySQL
環境 | CPU | メモリ | ディスク |
---|---|---|---|
テスト/開発 | 2 コア | 16 GB | 100 GB |
プロダクション | 8 コア | 64 GB | 500 GB |
数値は MySQL ノードごとの値です。
Weave のみ
Kubernetes
環境 | CPU | メモリ | ディスク |
---|---|---|---|
テスト/開発 | 4 コア | 32 GB | 100 GB |
プロダクション | 12 コア | 96 GB | 100 GB |
数値は Kubernetes ワーカーノードごとの値です。
MySQL
環境 | CPU | メモリ | ディスク |
---|---|---|---|
テスト/開発 | 2 コア | 16 GB | 100 GB |
プロダクション | 8 コア | 64 GB | 500 GB |
数値は MySQL ノードごとの値です。
Models と Weave
Kubernetes
環境 | CPU | メモリ | ディスク |
---|---|---|---|
テスト/開発 | 4 コア | 32 GB | 100 GB |
プロダクション | 16 コア | 128 GB | 100 GB |
数値は Kubernetes ワーカーノードごとの値です。
MySQL
環境 | CPU | メモリ | ディスク |
---|---|---|---|
テスト/開発 | 2 コア | 16 GB | 100 GB |
プロダクション | 8 コア | 64 GB | 500 GB |
数値は MySQL ノードごとの値です。
クラウドプロバイダーのインスタンス推奨事項
サービス
クラウド | Kubernetes | MySQL | オブジェクトストレージ |
---|---|---|---|
AWS | EKS | RDS Aurora | S3 |
GCP | GKE | Google Cloud SQL - Mysql | Google Cloud Storage (GCS) |
Azure | AKS | Azure Database for Mysql | Azure Blob Storage |
マシンタイプ
これらの推奨事項は、クラウドインフラストラクチャでの W&B の自己管理デプロイメントの各ノードに適用されます。
AWS
環境 | K8s (Models のみ) | K8s (Weave のみ) | K8s (Models&Weave) | MySQL |
---|---|---|---|---|
テスト/開発 | r6i.large | r6i.xlarge | r6i.xlarge | db.r6g.large |
プロダクション | r6i.2xlarge | r6i.4xlarge | r6i.4xlarge | db.r6g.2xlarge |
GCP
環境 | K8s (Models のみ) | K8s (Weave のみ) | K8s (Models&Weave) | MySQL |
---|---|---|---|---|
テスト/開発 | n2-highmem-2 | n2-highmem-4 | n2-highmem-4 | db-n1-highmem-2 |
プロダクション | n2-highmem-8 | n2-highmem-16 | n2-highmem-16 | db-n1-highmem-8 |
Azure
環境 | K8s (Models のみ) | K8s (Weave のみ) | K8s (Models&Weave) | MySQL |
---|---|---|---|---|
テスト/開発 | Standard_E2_v5 | Standard_E4_v5 | Standard_E4_v5 | MO_Standard_E2ds_v4 |
プロダクション | Standard_E8_v5 | Standard_E16_v5 | Standard_E16_v5 | MO_Standard_E8ds_v4 |
[i18n] feedback_title
[i18n] feedback_question
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.