運用モデル - SageMaker Studio 管理のベストプラクティス

運用モデル

運用モデルは、人材、プロセス、テクノロジーを結び付けて、組織がスケーラブルで一貫性のある効率的な方法でビジネス価値を実現できるようにするフレームワークです。ML 運用モデルは、組織全体のチームに標準的な製品開発プロセスを提供します。運用モデルの実装には、規模、複雑さ、ビジネス推進要因に応じて、次の 3 つのモデルがあります。

  • 一元化されたデータサイエンスチーム — このモデルでは、すべてのデータサイエンス活動が単一のチームまたは組織内に一元化されます。これは、センターオブエクセレンス (COE) モデルに似ており、データサイエンスプロジェクトに関してはすべてのビジネスユニットがこのチームに参加します。

  • 分散型データサイエンスチーム — このモデルでは、データサイエンス活動が複数の異なるビジネス機能や部門に分散されるか、異なる製品ライン別に分散されます。

  • フェデレーションデータサイエンスチーム — このモデルの場合、コードリポジトリ、継続的インテグレーション/継続的デリバリー (CI/CD) パイプラインなどの共有サービス機能は一元化されたチームによって管理され、各ビジネスユニットや製品レベルの機能は分散型チームによって管理されます。これは、ハブアンドスポークモデルに似ており、ビジネスユニットごとに独自のデータサイエンスチームがありますが、これらのビジネスユニットチームは、一元化されたチームとの間で活動を調整します。

最初の Studio ドメインを本番環境のユースケースで立ち上げるかどうかを決める前に、運用モデルと環境整理の AWS ベストプラクティスを検討します。詳細については、「複数のアカウントを使用して AWS 環境を整理する」を参照してください。

次のセクションでは、運用モデルごとにアカウント構造を整理するためのガイダンスを提供します。

このセクションでは、運用モデルのアカウント構造を簡単に紹介します。この構造から始めて、組織の運用要件に応じて変更できます。どの運用モデルを選択するかにかかわらず、以下の一般的なベストプラクティスを実装することをお勧めします。

  • AWS Control Tower を使用してアカウントの設定、管理、ガバナンスを行います。

  • ID プロバイダー (IdP) と AWS IAM アイデンティティセンターを使用して ID を一元管理します。そのために、委任された管理者のセキュリティツールアカウントを使用し、ワークロードへの安全なアクセスを可能にします。

  • 開発、テスト、本番環境のワークロードにわたってアカウントレベルの分離を使用して ML ワークロードを実行します。

  • ML ワークロードログをログアーカイブアカウントにストリーミングし、オブザーバビリティアカウントでログ分析をフィルタリングして適用します。

  • データアクセスをプロビジョニング、制御、監査するための一元化されたガバナンスアカウントを実行します。

  • 組織やワークロードの要件に応じて、セキュリティとコンプライアンスを確保するために、セキュリティとガバナンスサービス (SGS) を適切な予防および検出ガードレールと共に各アカウントに組み込みます。

一元化されたモデルアカウント構造

このモデルでは、ML プラットフォームチームが以下を提供する責任があります。

  • データサイエンスチーム間で機械学習オペレーション (MLOps) の要件に対処する共有サービスツールアカウント。

  • データサイエンスチーム間で共有される ML ワークロードの開発、テスト、および本番環境のアカウント。

  • データサイエンスチームのワークロードごとに分離して実行するためのガバナンスポリシー。

  • 一般的なベストプラクティス。

一元化された運用モデルのアカウント構造を示す図。

一元化された運用モデルのアカウント構造

分散型モデルのアカウント構造

このモデルでは、各 ML チームが独立して ML アカウントとリソースのプロビジョニング、管理、ガバナンスを行います。ただし、機械学習チームには、データガバナンスと監査管理を簡素化するために、一元化されたオブザーバビリティとデータガバナンスモデルのアプローチを使用することをお勧めします。

分散型運用モデルのアカウント構造を示す図。

分散型運用モデルのアカウント構造

フェデレーションモデルのアカウント構造

このモデルは一元化されたモデルに似ていますが、主な違いは、データサイエンス/ML チームごとに独自の開発/テスト/本番環境のワークロードアカウントを持つことです。これにより、ML リソースの堅牢な物理的分離を可能にし、各チームが他のチームに影響を与えることなく独立してスケールできます。

フェデレーション運用モデルのアカウント構造を示す図。

フェデレーション運用モデルのアカウント構造

ML プラットフォームのマルチテナンシー

マルチテナンシーは、1 つのソフトウェアインスタンスが複数の異なるユーザーグループにサービスを提供できるソフトウェアアーキテクチャです。テナントは、ソフトウェアインスタンスへの特定の権限を持つ、共通のアクセスを共有するユーザーのグループです。例えば、複数の ML 製品を構築している場合、同様のアクセス要件を持つ各製品チームはテナントまたはチームと見なすことができます。

SageMaker Studio インスタンス (SageMaker ドメインなど) 内に複数のチームを実装することは可能ですが、複数のチームを 1 つの SageMaker Studio ドメインにまとめることに伴う利点とトレードオフ (影響範囲、コスト属性、アカウントレベルの制限など) を比較検討します。これらのトレードオフとベストプラクティスの詳細については、以下のセクションを参照してください。

リソースを完全に分離する必要がある場合は、異なるアカウントのテナントごとに SageMaker Studio ドメインを実装することを検討します。分離要件によっては、複数の事業部門 (LOB) を単一のアカウントおよびリージョン内の複数のドメインとして実装できます。共有スペースを使用すると、同じチーム/LOB のメンバー間でほぼリアルタイムのコラボレーションが可能になります。ドメインが複数ある場合でも、ID アクセス管理 (IAM) ポリシーとアクセス許可を使用してリソースを確実に分離します。

ドメインから作成した SageMaker リソースには、ドメインの Amazon リソースネーム (ARN) とユーザープロファイルまたはスペースの ARN が自動的にタグ付けされるため、リソースを簡単に分離できます。ポリシーの例については、ドメインリソース分離に関するドキュメントを参照してください。このドキュメントでは、マルチアカウント戦略またはマルチドメイン戦略をいつ使用するかについての詳細なリファレンスと、機能の比較を確認できます。また、GitHub リポジトリで既存のドメインのタグをバックフィルするサンプルスクリプトも確認できます

最後に、AWS Service Catalog を使用して複数のアカウントに SageMaker Studio リソースのセルフサービスデプロイを実装できます。詳細については、「複数の AWS アカウントと AWS リージョンで AWS Service Catalog 製品を管理する」を参照してください。