AWS上のサービスとしてのwatsonx.governanceと AmazonSageMakerの統合
AWS上のサービスとしてwatsonx.governanceをAmazonSageMakerと統合することで、watsonx.governanceのガバナンス、リスク、コンプライアンス機能を AmazonSageMakerモデルに導入することができます。
開始前に
以下のサービスを受けなければならない:
- watsonx.governanceのインスタンス
- AmazonSageMakerのインスタンス
AWSで以下のサービスをセットアップする:
- CloudTrail:AmazonSageMakerのイベントはCloudTrailに公開されます。
- Simple Queue service (SQS):このサービスを使用して、AmazonSageMakerモデル用のキューを設定します。 詳細については、Amazon SQSの設定を参照してください。
- EventBridge:このサービスを使用して、AmazonSageMakerモデルカードの変更を Simple Queue Service (SQS) FIFO キューに抽出するルールを定義します。
CloudTrailと EventBridgeのサービスが実行されていることを確認します。
AWS で、watsonx.governance と統合するための長期アクセスキーを設定する。 クレデンシャルには以下のアクセス権が必要です:
- シンプル・キュー・サービス(SQS)へのプログラムによるアクセス
- AmazonSageMakerAPIへのプログラムアクセス
- AmazonSageMakerでモデルカードを更新する権限
詳細については、AWSセキュリティ認証情報を参照してください。
Governance コンソールで、ユーザーアカウントにAll/SOX/Administration/SageMakerアプリケーションの権限があることを確認します。
統合のためのAWSサービスのセットアップ
以下のステップを実行します。
- AmazonSageMakerモデルにSQS キューを設定します。
- アマゾンEventBridgeを設定する rule and add your SQS queue as the target for the rule.
SQSキューの設定
この統合では、SQSキューを使用して、モデルカードに変更があった場合の通知を受け取ります。
SQSキューをセットアップするには、以下の手順を実行する:
- AWSコンソールから、Simple Queue Serviceを選択します。
- キューの作成をクリックします。
- キューの名前を入力し、以下の情報を入力します:
- タイプFIFOタイプ
- 可視タイムアウト:30秒
- メッセージの保存期間4日間
- 最大メッセージサイズ:256KB
- 配達の遅れ:0
- 受信メッセージ待機時間:0
- FIFOキューの設定で、以下のオプションを有効にする:
- コンテンツベースの重複排除
- 高スループットFIFOキュー
SQSキューが定義されている。 次に、EventBridgeルールを設定する。
EventBridgeルールの設定
EventBridgeルールを設定し、ターゲットとしてSQSキューを追加するには、以下の手順を実行します:
- AWSコンソールから、AmazonEventBridgeサービスを選択します。
- 「ルールの作成」をクリックします。
- ルールの名前を入力し、[Next]をクリックする。
- イベント・ソースは「その他」をクリック。
- 作成方法は、「カスタムパターン(JSONエディタ)」をクリックし、Eventパターンに以下のJSONを入力する:
{ "detail": { "eventName": ["CreateModelCard", "UpdateModelCard", "DeleteModelCard"], "eventSource": ["sagemaker.amazonaws.com"] }, "detail-type": ["AWS API Call via CloudTrail"], "source": ["aws.sagemaker"] }
- 次へ をクリックします。
- ターゲットを作成したSQSキューに設定する。
- 残りのページで[Next]をクリックし、[Create Rule]をクリックします。
これで、SQSキューをルールのターゲットとするEventBridgeルールができました。
親事業体の設立
AmazonSageMakerモデルの親ビジネスエンティティとして使用するビジネスエンティティを決定します。 デフォルトでは、AmazonSageMakerモデルの親ビジネスエンティティはLibrary/MRG です。
別のビジネスエンティティを使用したい場合は、AmazonSageMakerとの統合を設定する前に作成してください。 ビジネス・エンティティのリストを表示するには、>組織>ビジネス・エンティティをクリックします。 ビジネス・エンティティを作成するには、管理者権限が必要です。
例えば、AmazonSageMakerのモデルをLibrary/MRG/SageMaker に格納したい場合、Library/MRGビジネスエンティティに移動し、New Business Entity をクリックします。 Name "フィールドにSageMaker
"と入力し、"Type "フィールドで "Library "を選択する。 必要事項を記入し、保存する。
統合の設定
統合を設定するには、以下の情報が必要です:
- AWSアカウントID
- 統合用に設定したアクセスキーIDとシークレットID。
- 統合用に設定したAmazon SQSサービスのURL。
必要な権限Governance コンソールのAll/SOX/Administration/SageMakerアプリケーション権限が必要です。
統合を設定するには、以下の手順を実行する:
- Governance コンソールに管理者としてログインします。
- 統合>AmazonSageMakerをクリックします
- 一般設定]で、以下の手順を実行する:
- SageMakerモデルの親ビジネスエンティティを選択します。 通常、モデルはLibrary/MRGエンティティの下に格納されます。
- デフォルトユーザーを選択します。 所有者が割り当てられていないモデル、または Governance コンソールに存在しない所有者を持つモデルは、このデフォルト ユーザーに割り当てられます。
- AWSaccount credentialsに、AWSアカウントの認証情報とリージョンを入力します。
リージョンには us-east-1
を使用する。 5 Model Card SQS URL に、構成した SQS キューの URL を入力します。 6. Test connectionをクリックし、Saveをクリックします。 < 統合を有効にするには、トグルをクリックします。 自動同期プロセスが開始されます。 AmazonSageMaker,でモデルを作成すると、その情報は Governance コンソールと同期されます。 進行状況を確認するには、「その他」>「バックグラウンド・プロセス」をクリックする。
AmazonSageMakerモデルが Governance コンソールで利用できるようになりました。
新しいユースケースの典型的なワークフローはこうだ:
- ビジネスユーザがユースケースを作成し、リスクアセスメントと適用性アセスメントを完了する。
- モデル開発者には、ユースケースの開発準備が整ったことが通知される。
- モデル開発者は AmazonSageMaker でモデルカードを作成します。
- モデルカードの情報は、AmazonSageMakerからGovernanceコンソールに同期されます。
- ビジネスユーザーはモデルをユースケースにリンクさせる。
データの同期化
同期プロセスは、以下のアクションをリッスンする:
UpdateModelCard
: A model card is edited or updated in Amazon SageMaker.DeleteModelCard
: A model card is deleted in Amazon SageMaker.CreateModelCard
: A model card is created in Amazon SageMaker.
Governanceコンソールですぐに変更が表示されないかもしれません。
- 同期プロセスは1分間に1回実行される。
- システム管理モードが有効な場合、同期プロセスは一時停止します。 システム管理モードを無効にすると、同期が再開される。
- 手動同期が実行されている場合、同期プロセスは一時停止します。 手動処理が完了すると同期が再開される。
Governance コンソールから AmazonSageMakerに同期された情報
次の表は、Governance コンソールから AmazonSageMaker に同期されるフィールドを示しています。
例えば、Governance コンソールでモデルオブジェクトの Model Owner を更新すると、AmazonSageMakerのモデルカードの Model Owner フィールドが更新されます。
ガバナンス・コンソール | SageMakerフィールド |
---|---|
MRG-モデル:モデル・オーナー: | モデル・オーナーmodel_owner |
MRG-モデル:ステータス | モデルカードステータスmodel_approval_status |
MRG-AIFacts-ModelUseCase:Purpose | モデルの目的purpose_of_model |
MRG-AIFacts-ModelUseCase:Riskレベル | リスク評価risk_rating |
(ユースケース)システムフィールド:説明 | ビジネス上の問題 > 説明business_problem |
MRG-ModelUseCase:Owner | ビジネス・ステークホルダーbusiness_stakeholders ) |
*初期同期のみ、MRG-Model:Status が AmazonSageMakerから Governance コンソールに同期されます。 その後の同期では、ステータスは Governance コンソールから AmazonSageMaker に同期されます。
AmazonSageMakerからGovernanceコンソールに同期された情報
次の表は、AmazonSageMakerから Governance コンソールに同期されるフィールドを示しています。
例えば、AmazonSageMaker,のモデルカードの Model Creator フィールドを更新すると、モデルオブジェクトの Model Developer フィールドが Governance コンソールで更新されます。
SageMaker | ガバナンス・コンソール |
---|---|
モデル・クリエーター | MRG-Model:Model Developer Governance コンソールにユーザーが存在しない場合、モデル開発者は統合を設定したときに指定したデフォルトユーザーに設定されます。 |
アルゴリズム・タイプ | MRG-AIFacts-Model:アルゴリズム |
model_id | MRG-AIFacts-Model:外部資産ID |
モデル・アーティファクト | MRG-AIFacts-Model:External Asset URL -- 外部アセットが同期されるのは、アセットのフォルダ名にModelArtifacts . |
モデル名 | MRG-AIFacts-Model:外部モデル名 |
モデル・バージョン | MRG-Model:モデルバージョン |
トレーニングメトリクス(training_metricsおよびuser_provided_training_metrics) | メトリック、メトリック値 |
ハイパーパラメータ(hyper_parametersおよびuser_provided_hyper_parameters) | MRG-AIFacts-Model:ハイパーパラメータ (配列から文字列にフラット化) |
トレーニング・メトリクスとユーザー提供のトレーニング・メトリクス
トレーニング・メトリクスとユーザー提供のトレーニング・メトリクスは、Governance コンソールの Metric オブジェクトと Metric Value オブジェクトにマッピングされます。
メトリックとメトリック値のオブジェクトが存在しない場合は、Governance コンソールに作成されます。 MetricオブジェクトはModelオブジェクトの子として作成されます。 Metric Valueオブジェクトは、Metricオブジェクトの子オブジェクトとして作成される。
トレーニングメトリクスとユーザー提供のトレーニングメトリクスについては、Governanceコンソールの以下のフィールドがAmazonSageMaker:からの情報で更新されます:
- Metric.Description:AmazonSageMakerにおけるメトリックの名前。
- Metric.Title:メトリックの名前。
- Metric.Status:既存のメトリックに対してアクティブに設定します。 AmazonSageMakerで削除されたメトリクスについては、Inactiveに設定します。
- メトリックValue.Description:メトリックの名前。
- MetricValue.MRG-MetricVal値:メトリックの値。
- メトリックValue.MRG-Metric-Shared:Collection状況:収集済み
双方向同期
AmazonSageMakerのモデルカードの説明model_description
フィールドと Governance コンソールのモデルオブジェクトの説明Model.System Fields:Description
フィールドは双方向で同期されます。