Amazon Web Services ブログ

Amazon SageMaker Canvas と Amazon DataZone を活用して、データガバナンスとノーコード機械学習の力を引き出す

Amazon DataZone は、AWS、オンプレミス、およびサードパーティのソースに保存されているデータを迅速かつ便利にカタログ化、発見、共有、管理できるデータ管理サービスです。Amazon DataZone では、データを保存して処理する仮想データレイクであるデータゾーンを作成および管理できます。詳細なコーディングやインフラストラクチャ管理は必要ありません。Amazon DataZone では、エンジニア、データサイエンティスト、プロダクトマネージャー、アナリスト、ビジネスユーザーが組織全体のデータに簡単にアクセスできるため、データ主導の洞察を引き出すための発見、利用、コラボレーションが可能になります。

Amazon SageMaker Canvas はコード不要の機械学習 (ML) サービスで、ビジネスアナリストや各分野の専門家が、コードを 1 行も記述せずに ML モデルを構築、トレーニング、デプロイできます。SageMaker Canvas は、Amazon Simple Storage Service (Amazon S3)、Amazon RedshiftAmazon Athena、Snowflake、Salesforce、Databricks などの一般的なソースからのデータ取り込みを効率化し、Amazon SageMaker Data Wrangler による堅牢なデータ準備、Amazon SageMaker Autopilot による自動モデル構築、Amazon BedrockAmazon SageMaker Jumpstart の基盤モデル (FM) を含むビルド済みの ML モデルを使用するための実行環境を提供します。

企業は、ノーコード機械学習ソリューションを使用して、運用を最適化し、多額の管理オーバーヘッドなしに意思決定を最適化できます。たとえば、金融機関が ML モデルを使用して不正検知分析を行う場合、ローコードおよびノーコードのソリューションを使用することで、不正検知モデルの迅速な反復が可能になり、効率と精度を向上させることができます。ただし、これらのモデルで使用されるデータが正確、安全、信頼できるものであることを担保するためには、ML ガバナンスが機能していることが前提です。Amazon DataZone と Amazon SageMaker の統合により、ユーザーはセキュリティコントロールを備えたインフラストラクチャをセットアップし、ML プロジェクトで共同作業を行い、データと ML アセットへのアクセスを管理できます。この統合の一環として SageMaker Canvas を使用して、承認された信頼できるデータセットから ML モデルを構築できます。

この投稿では、Amazon DataZone と SageMaker Canvas の統合により、ユーザーがデータアセットを公開できるようになり、同じ組織の他のビルダーが公開されたデータセットを検索して発見し、サブスクライブしてデータを使用する方法を示します。データアセットをサブスクライブすると、そのデータアセットを SageMaker Canvas から利用したり、特徴量エンジニアリングを実行したり、ML モデルを構築したり、そのモデルを Amazon DataZone プロジェクトに公開したりできます。新しいガバナンス機能により、対処中のビジネス上の問題に対するインフラストラクチャ、データ、ML リソースへのアクセスを簡単に管理できます。

ソリューション概要

このセクションでは、データ管理者、データパブリッシャー、データサイエンティストの 3 つのペルソナの概要を説明します。データ管理者は、Amazon DataZone のコンセプトに従って SageMaker との統合を可能にするために必要な Amazon DataZone リソースをプロビジョニングする責任があります。データ管理者は ML インフラストラクチャに必要なセキュリティコントロールを定義し、Amazon DataZone を使用して SageMaker 環境をデプロイします。データパブリッシャーは、Amazon DataZone ビジネスデータカタログ内にオーダーメイドのデータを公開し、アクセスを管理する責任があります。データサイエンティストは、データと ML リソースを見つけてサブスクライブし、SageMaker Canvas からデータにアクセスし、データを準備し、特徴量エンジニアリングを行い、ML モデルを構築し、モデルを Amazon DataZone カタログにエクスポートします。この投稿では一例として、ある金融機関のダイレクトマーケティングキャンペーンに関連するデータを含む銀行データセットを使用します。このデータセットには、クライアントが定期預金を購読するかどうかを予測するために使用される連続変数、整数変数、カテゴリ変数が含まれています。以下の図はワークフローを示しています。

前提条件

この章以降では、以下の前提条件の下 SageMaker Canvas と Amazon DataZone のインテグレーション方法について解説します。
SageMaker と Amazon DataZone でリソースを作成および管理するための適切な権限を持つ AWS アカウントを準備する。
Amazon DataZone ドメインとそれに関連する Amazon DataZone プロジェクトが AWS アカウントに設定されている。
Amazon SageMaker Studio、SageMaker Canvas、SageMaker ノートブックなど、SageMaker とそのコンポーネントの機能を理解している。
この記事では銀行データセットを使用して解説している。
データセットを Amazon S3 にアップロードし、データをクロールして AWS Glue データベースとテーブルを作成している。データをカタログ化する手順については、「AWS Glue データカタログへの入力」を参照してください。

Amazon DataZone でのデータ管理手順

データ管理者は、SageMaker との統合を可能にするために必要な Amazon DataZone リソースを設定する必要があります。AWS Glue データを使用した Amazon DataZone クイックスタートで説明されている手順に従うか、次の動画を参照して Amazon DataZone ドメインをセットアップし、SageMaker とデータレイクブループリントを有効にし、Amazon DataZone プロジェクトを作成し (データアセットを公開し、データカタログからデータアセットを購読するため)、各プロジェクトにデフォルトの SageMaker 環境とデフォルトのデータレイク環境をプロビジョニングします。Amazon DataZone カタログにアセットを公開するために使用される AWS Glue データベーステーブルを設定するには、データレイク環境が必要です。以下の動画では、(AWS Glue データベースから) データソースを設定し、Amazon DataZone カタログにデータセットを公開する方法を示しています。

データサイエンティストのワークフローを開始する前に、DataZoneプロジェクトは次の前提条件を満たしている必要があります。
本投稿のデータサイエンティストのワークフローで使用されるのは、Banking-Consumer-ML という名前の Amazon DataZone プロジェクトです。

  • 本投稿では、デフォルトの SageMaker ブループリントを使用した SageMaker 環境プロファイルを使用します。
  • SageMaker 環境プロファイルに基づく SageMaker 環境を使うことで、データサイエンティストは Amazon DataZone プロジェクトコンソールから SageMaker Studio を直接起動できます。
  • 本投稿では銀行の顧客の人口統計データ、財務データ、マーケティングキャンペーンデータを収集する銀行機関の顧客データを含む、Bank という名前のデータアセットを使用します。データアセットはすでに Amazon DataZone データカタログに公開されており、Amazon DataZone ドメインで作成されたどのプロジェクトからでも検索できる想定です。

データサイエンティストのワークフロー

このセクションでは、データサイエンティストが SageMaker Studio アセットカタログから既存のデータアセットをサブスクライブし、そのデータセットを SageMaker Canvas にインポートし、ML モデルを構築し、そのモデルを Amazon DataZone データカタログに公開して、ドメイン内のプロジェクト間で再利用できる方法を説明します。データサイエンティストとして、次のステップを実行してください。

    1. Banking-Consumer-ML プロジェクトの[Environments]セクションで、[SageMaker Studio]を選択します。

  1. ナビゲーションペインで [Assets] を選択します。
  2. [Asset catalog] タブで銀行データセットを検索します。

ここで銀行デーアセットのメタデータとスキーマを表示して、データ属性と列を確認できます。

  1. データセットのサブスクライブをリクエストするために、[Subscribe] を選択します。
  2. リクエストの理由を入力し、[Submit] を選択します。

データサイエンティストがサブスクリプションリクエストを送信すると、サブスクリプションリクエストが作成され、アセット公開プロジェクトからの承認を求める通知が送信されます。

アセット公開プロジェクトのデータ公開者は、データ所有プロジェクトコンソールに移動し、ナビゲーションペインの [Published data] で [Incoming requests] を選択してサブスクリプションリクエストを表示します。データ公開者は [View request] を選択してリクエストを表示し、組織のデータアクセスポリシーに基づいて受信したサブスクリプションリクエストを承認します。

データ公開者は、アセットのサブスクリプションステータスを確認できるほか、データ公開プロジェクトコンソールからいつでもサブスクリプションアクセスを取り消したり削除したりできます。

データ公開者は、SageMaker Studio の [Assets] ページの [Manage asset requests] でリクエストを表示して承認することもできます。

[Assets] ページに、データサイエンティストがサブスクライブしている銀行データセットが表示されるようになりました。

  1. ナビゲーションペインの [Applications] で [Canvas] を選択し、 [Open Canvas] を選択して SageMaker Studio から SageMaker Canvas を起動します。

  1. ナビゲーションペインで [Data Wrangler] を選択します。
  2. [Import and prepare] ドロップダウンメニューで、 [Tabular] を選択します。

SageMaker Data Wrangler は、データ準備と特徴量エンジニアリングのプロセスを簡素化し、データ準備ワークフローの各ステップ (データ選択、クレンジング、探索、視覚化、大規模処理を含む) を単一のビジュアルインターフェイスから完了できます。

  1. [Select a data source] で [Athena] を選択します。

Athena はサーバーレスのインタラクティブな分析サービスで、ペタバイト単位のデータをどこからでもシンプルかつ柔軟に分析できます。銀行データセットのデータソースは AWS Glue crawler を使用して AWS Glue Data Catalog に作成されたデータベースであるため、データは SageMaker Data Wrangler の Athena を使用してクエリされます。このステップにより、データサイエンティストは Data Wrangler ツールにデータをインポートして特徴量エンジニアリングを行い、ML モデリング用のデータを準備できます。

  1. [bankmarketing] を展開し、銀行データセットをキャンバスにドラッグアンドドロップします。

SageMaker Canvas は、選択したデータセットを [Import preview] セクションに読み込みます。銀行データセットには、年齢、職業、婚姻状況、学歴、債務不履行状況などの銀行顧客に関する情報と、連絡手段、期間、連絡先数、前回のキャンペーンの結果などのマーケティングキャンペーンに関する詳細が含まれています。

  1. [Import] を選択して、データセットを SageMaker Data Wrangler にインポートします。

Data Wrangler コンソールに新しいデータフローが作成されます。

  1. [Get data insights] を選択すると、データ品質に関する潜在的な問題を特定し、品質向上のための推奨事項を知ることができます。

  1. [Create analysis]ウィンドウで、次の情報を入力します。
    1. [Analysis type] で [Data Quality And Insights Report] を選択します。
    2. [Analysis name] に名前を入力します。
    3. [Problem type] で [Classification] を選択します。
    4. [Target column] に y と入力します。
    5. [Data size] で [Sampled dataset (20k)] を選択します。
    6. [Create] を選択します。

生成された Data Quality and Insights Report を確認すると、統計、重複、異常、欠損値、外れ値、目標漏れ、データの不均衡などを含むデータをより深く理解できます。生成されたレポートを読みデータに問題がなければ、引き続き Data Wrangler を使ってデータ処理を実行してください。エンドツーエンドのモデル構築に向けてデータを準備するプロセスの詳細については「Amazon SageMaker Canvas で機械学習のためのデータ準備を加速する」を参照してください。

  1. オプションメニュー (3 つのドット) で、[Create model] を選択してデータセットを作成します。

  1. Dataset name (例: Banking-Customer-DataSet) を入力し、[Export] を選択します。

データセットがエクスポートされると、コンソールに確認メッセージが表示されます。

  1. [Create model] を選択して続行します。

エクスポートされたデータセットは、SageMaker Canvas コンソールの [Datasets] ページにも表示されます。ここで、代わりにデータセットを選択し、[Create a model] を選択して続行することもできます。

  1. [Create model] を選択して続行します。
    1. [Model name] に、モデルの名前 ( Banking-Customer-Prediction-Model など) を入力します。
    2. [Problem type] で [Predictive analysis] を選択します。
    3. [Create] を選択します。

このモデルの目的は、顧客が銀行の定期預金を購読する可能性が高いかどうか(変数y。 1なら購読する、0なら購読しない)を予測することです。

  1. [Build] タブの [Target column] で、モデルが予測する列を選択します。
  2. [Preview model] を選択します。

[Preview model] オプションでは、フルビルドを実行する前に、データのサブセットについて2値分類モデルのクイックビルドを10~15分間実行して結果をプレビューします。フルビルドには通常約4時間以上かかります。オプションで [Configure model] オプションを選択して ML モデルをカスタマイズできます。

[Configure model] オプションでは、モデルタイプ、評価指標、トレーニング方法、トレーニング/テストデータの分割をカスタマイズしたり、モデル作成ジョブの実行時間に制限を設定したりできます。

SageMaker Canvas はプレビューモデルを実行し、推定精度 (%) を示す結果と、重要度の高い順にデータセット内の特徴量のリストを表示します。モデルの予測に影響する主な特徴として、期間、給与、月、住居の列があることがわかります。

さらなるオプションとして、[Build] タブの [View all] を選択すると、重要でない列の削除、重複データの削除、欠損値の置換、データタイプの変更、列の結合による新しい列の作成など、特徴量変換とデータラングリングを実行するためのオプションの完全なリストを表示できます。これにより、モデルを構築する前に特徴量エンジニアリングを行うことができます。

  1. [Standard build] を選択して、モデル構築プロセスを開始します。

モデル作成の進行状況を監視できます。

モデルが完成すると、モデルのステータスが [Overview]、[Scoring]、[Advanced metrics] オプションとともに表示されます。

[Predict] タブでモデルの状態を確認してモデルをテストできます。予測オプションでは、バッチ予測または単一予測のいずれかを実行してモデルをテストできます。

  1. オプションメニュー (3 つのドット) で、[Add to Model Registry] を選択し、Amazon SageMaker Model Registry を使用してモデルを登録します。

  1. グループ名 (この投稿の場合は canvas-Banking-Customer-Prediction-Model) を入力し、[Add] を選択します。

これ以降の ML モデルのビルドはバージョン管理され、SageMaker Studio Model Registry に同じグループ名で保存されます。

  1. SageMaker Studio コンソールのナビゲーションで [Models] を選択すると、モデルレジストリに追加したモデルが表示されます。
  2. [Model Groups] タブで公開されているモデルバージョンを選択し、オプションメニュー (3 つのドット) で [Update model status] を選択します。

  1. [Status] で [Approved] を選択し、[Save and update] を選択します。

  1. 承認されたモデルを選択し、オプションメニュー(3つのドット)で、[Publish to asset catalog] を選択します。
  2. ステータスが更新されたら、[View asset] を選択して公開されたアセットを表示します。

または、ナビゲーションペインで [Assets] を選択し、[Asset catalog] タブでカタログを検索するか、アセットタイプでフィルタリングして、公開されたモデルを表示します。

公開された ML モデルには、Amazon DataZone データポータルからもアクセスできます。Banking-Consumer-ML プロジェクトに移動し、[Published data] を選択すると、SageMaker Canvas 上に公開された ML モデルの詳細が表示されます。

公開されたモデルは、Amazon DataZone ドメインの他のプロジェクトからサブスクライブすることもできます。

Clean up

予期しないコストが発生しないように、未使用の可能性があるリソースをすべて削除することをお勧めします。たとえば、Amazon DataZone ドメインを削除して SageMaker Canvas からログアウトすると、ワークスペースインスタンスを自動的に削除できます。

まとめ

この投稿では、インフラストラクチャの制御、データ資産の共有と利用、ML モデルの作成と公開など、SageMaker Canvas と Amazon DataZone のエンドツーエンドの統合について説明しました。この統合は、ML プロジェクト全体にわたるデータガバナンス、コラボレーション、再利用のための強力なソリューションとなります。Amazon DataZone では、データ管理者がデータ資産を公開してアクセスを管理でき、データサイエンティストは SageMaker Canvas 内でそれらのデータセットを検索、登録、利用することができます。この合理化されたワークフローにより、データプロバイダーと消費者の間の効率的なコラボレーションが可能になります。さらに、トレーニング済みの ML モデルを Amazon DataZone カタログに公開できるため、再利用性が向上し、組織内の他のチームやプロジェクトがモデルを見つけて登録できるようになります。このアプローチにより、作業の重複が減り、ML ライフサイクル全体での知識共有が促進されます。

このソリューションは生成 AI のユースケースにも拡張できます。たとえば、厳選されたデータセットでトレーニングされた大規模言語モデル (LLM) やその他の FM を Amazon DataZone を通じて公開して共有できるため、さまざまなチームが強固なガバナンスポリシーを遵守しながら、これらのモデルを特定のアプリケーションに合わせて微調整したり適応させたりすることができます。これにより、組織はデータ資産の管理と監視を維持しながら、ML と生成 AI の可能性を最大限に引き出すことができます。

新しい Amazon DataZone と SageMaker Canvas の統合を今すぐ試してみてください。Amazon DataZone プロジェクトから公開されたデータセットを検索して発見したり、SageMaker Canvas からデータを購読して利用したり、特徴量エンジニアリングを実行したり、ML モデルを構築したり、モデルを Amazon DataZone プロジェクトに公開したりできます。

著者について

Aparajithan Vaidyanathan は AWS のプリンシパルエンタープライズソリューションアーキテクトです。企業のお客様が AWS クラウド上でワークロードを移行および最新化できるようサポートしています。彼はクラウドアーキテクトであり、エンタープライズシステム、大規模ソフトウェアシステム、分散ソフトウェアシステムの設計と開発に 24 年以上携わってきました。データおよび特徴エンジニアリングの分野を中心に、機械学習とデータ分析を専門としています。彼は意欲的なマラソンランナーで、趣味はハイキング、サイクリング、妻と2人の男の子と過ごすことです。

 

Ajjay Govindaram は AWS のシニアソリューションアーキテクトです。複雑なビジネス上の問題を解決するために AI/ML を利用している戦略的顧客と仕事をしています。彼の経験は、中規模から大規模のAI/MLアプリケーション導入の技術的な方向性や設計支援を提供した経験があります。彼の知識は、アプリケーションアーキテクチャからビッグデータ、分析、機械学習まで多岐にわたります。彼は休憩しながら音楽を聴いたり、アウトドアを体験したり、愛する人と時間を過ごしたりすることを楽しんでいます。

 

Siamak Nariman は AWS のシニアプロダクトマネージャーです。組織全体の効率と生産性を向上させるために、AI/ML テクノロジー、ML モデル管理、ML ガバナンスに重点を置いています。プロセスの自動化とさまざまなテクノロジーの導入に豊富な経験があります。

 

Huong Nguyen は AWS のシニアプロダクトマネージャーです。SageMaker Canvas と SageMaker データラングラーの機械学習データ準備を率いており、15 年にわたり顧客中心のデータ主導型の製品を構築してきた経験があります。

 

翻訳は Solution Architect の Masanari Ikuta が担当しました。原文はこちらです。