W&B は、W&B Multi-tenant Cloud や W&B Dedicated Cloud のような完全管理されたデプロイメントオプションを推奨しています。W&B の完全管理サービスは、シンプルで安全に使用でき、ほとんど設定が不要です。
インフラストラクチャーガイドライン
W&B のデプロイメントを開始する前に、特にインフラストラクチャー要件を確認するために、リファレンスアーキテクチャーを参照してください。MySQL データベース
スケーラブルな MySQL データベースの運用を簡素化するエンタープライズサービスがいくつかあります。W&B は次のソリューションのいずれかを検討することを推奨します: https://www.percona.com/software/mysql-database/percona-server https://github.com/mysql/mysql-operator 以下の条件を満たすようにしてください。W&B Server MySQL 8.0 を実行する場合、または MySQL 5.7 から 8.0 へのアップグレード時に以下を行います:sort_buffer_size の扱いにいくつか変更があったため、デフォルトの値である 262144 から sort_buffer_size パラメータを更新する必要があるかもしれません。W&B と MySQL が効率よく連携することを保証するために、値を 67108864 (64MiB) に設定することを推奨します。MySQL はこの設定を v8.0.28 からサポートしています。
データベースに関する考慮事項
次の SQL クエリを使用してデータベースとユーザーを作成します。SOME_PASSWORD を希望のパスワードに置き換えてください:
これは SSL 証明書が信頼されている場合にのみ機能します。W&B は自己署名証明書をサポートしていません。
パラメータグループ設定
データベースのパフォーマンスを最適化するために、次のパラメータグループが設定されていることを確認してください:オブジェクトストレージ
オブジェクトストアは、Minio クラスター または署名付き URL をサポートする Amazon S3 互換のオブジェクトストアでホストできます。次のスクリプト を実行して、オブジェクトストアが署名付き URL をサポートしているか確認してください。 さらに、次の CORS ポリシーをオブジェクトストアに適用する必要があります。tls クエリパラメータを追加します。たとえば、次の URL 例は、Amazon S3 URI に TLS クエリパラメータを追加する方法を示しています:
BUCKET_QUEUE を internal:// に設定します。これにより、外部の SQS キューやそれに相当するものに依存せずに、W&B サーバーがすべてのオブジェクト通知を内部で管理できるようになります。
独自のオブジェクトストアを運用する際に考慮すべき最も重要なことは次のとおりです:
- ストレージ容量とパフォーマンス。磁気ディスクを使用しても構いませんが、これらのディスクの容量を監視している必要があります。平均的な W&B の使用量は 10 ギガバイトから 100 ギガバイトに達します。大量使用はペタバイトのストレージ消費を引き起こす可能性があります。
- フォールトトレランス。最低限、オブジェクトを保存する物理ディスクは RAID アレイにあるべきです。minio を使用する場合は、分散モード での実行を検討してください。
- 可用性。ストレージが利用可能であることを確認するために監視を設定する必要があります。
MinIO 設定
minio を使用する場合、次のコマンドを実行してバケットを作成できます。W&B Server アプリケーションを Kubernetes にデプロイ
公式の W&B Helm チャートを使用することが推奨されるインストール方法です。こちらのセクションに従って W&B Server アプリケーションをデプロイしてください。OpenShift
W&B は、OpenShift Kubernetes クラスター 内からの運用をサポートしています。W&B は公式の W&B Helm チャートでのインストールをお勧めします。
コンテナを非特権ユーザーとして実行
デフォルトでは、コンテナは$UID 999 を使用します。オーケストレーターが非ルートユーザーでのコンテナ実行を要求する場合、$UID >= 100000 そして $GID を 0 に指定します。
W&B はファイルシステム権限が正しく機能するためにルートグループ (
$GID=0) として開始する必要があります。ネットワーキング
ロードバランサー
適切なネットワーク境界でネットワークリクエストを停止するロードバランサーを実行します。 一般的なロードバランサーには以下があります: 機械学習のペイロードを実行するために使用されるすべてのマシンと、Web ブラウザを介してサービスにアクセスするために使用されるデバイスがこのエンドポイントと通信できることを確認してください。SSL / TLS
W&B Server は SSL を停止しません。信頼されたネットワーク内での SSL 通信がセキュリティポリシーで求められている場合、Istio や サイドカーコンテナ などのツールを使用してください。ロードバランサー自体は有効な証明書で SSL を終了させる必要があります。自己署名証明書はサポートされておらず、ユーザーに多くの問題を引き起こします。可能であれば、Let’s Encrypt のようなサービスを使用してロードバランサーに信頼された証明書を提供することは素晴らしい方法です。Caddy や Cloudflare のようなサービスは SSL を自動的に管理します。nginx 設定の例
以下は、nginx をリバースプロキシとして使用する例の設定です。インストールの確認
W&B Server が正しく設定されていることを確認してください。次のコマンドをターミナルで実行します:- Docker
- Kubernetes