Amazon Web Services ブログ
Amazon SageMaker Canvas で構築された ML モデルを Amazon SageMaker リアルタイムエンドポイントにデプロイする
Amazon SageMaker Canvas では、機械学習 (ML) モデルのリアルタイム推論エンドポイントへのデプロイがサポートされるようになりました。これにより、ML モデルを本番環境に移行し、ML を活用したインサイトに基づいてアクションを起こすことができます。SageMaker Canvas は、アナリストやシチズンデータサイエンティスト(注:ガートナー社が命名した用語で、本業以外の業務でデータ分析を行う人材を指す)がビジネスニーズに合わせて正確な ML 予測を生成できるようにするコード不要のワークスペースです。
これまで、SageMaker Canvas はインタラクティブなワークスペース内で ML モデルを評価し、一括予測を生成し、What-if 分析を実行する機能を備えていました。しかし今では、モデルを Amazon SageMaker エンドポイントにデプロイしてリアルタイムで推論することもできるようになったため、SageMaker Canvas ワークスペースの外でモデル予測を利用したり、アクションを実行したりするのが簡単になりました。SageMaker Canvas から ML モデルを直接デプロイできるので、ML モデルを手動でエクスポート、設定、テスト、本番環境にデプロイする必要がなくなり、複雑さの軽減と時間の節約につながります。また、コードを記述しなくても、個人が ML モデルを運用しやすくなります。
この投稿では、SageMaker Canvas のモデルをリアルタイムエンドポイントにデプロイするプロセスを順を追って説明します。
ソリューション概要
今回のユースケースでは、携帯電話事業者のマーケティング部門のビジネスユーザーを想定しています。SageMaker Canvasで機械学習モデルを作成して、解約のリスクがある顧客を特定することに成功しました。モデルによって生成された予測のおかげで、今度はこれを開発環境から本番環境に移行したいと考えています。モデルエンドポイントを推論用にデプロイするプロセスを効率化するために、SageMaker Canvas から ML モデルを直接デプロイしています。これにより、ML モデルを手動でエクスポート、構成、テスト、本番環境にデプロイする必要がなくなりました。これにより、複雑さが軽減され、時間が節約されるだけでなく、コードを記述しなくても ML モデルを個人が操作しやすくなります。
ワークフローのステップは次のとおりです。
- 現在の顧客を含む新しいデータセットを SageMaker Canvas にアップロードします。サポートされているデータソースの完全なリストについては、Canvas へのデータのインポートを参照してください。
- ML モデルを構築し、そのパフォーマンス指標を分析します。手順については、カスタムモデルの構築とAmazon SageMaker Canvas でのモデルのパフォーマンスの評価を参照してください。
- 承認されたモデルバージョンをリアルタイム推論のエンドポイントとしてデプロイします。
前提条件
このチュートリアルでは、次の前提条件が満たされていることを確認してください。
- モデルバージョンを SageMaker エンドポイントにデプロイするには、SageMaker Canvas 管理者が SageMaker Canvas ユーザーに必要な権限を付与する必要があります。この権限は SageMaker Canvas アプリケーションをホストする SageMaker ドメインで管理できます。詳細については、Canvas での権限の管理を参照してください。
- Amazon SageMaker Canvas を使用したノーコード機械学習による顧客離れの予測に記載されている前提条件を実装します。
これで、Canvasに過去の顧客離れ予測データに基づいてトレーニングされた3つのモデルバージョンができたはずです。
- V1 は 21 個の機能すべてでトレーニングを行い、モデルのスコアは 96.903% のクイックビルド構成でした。
- V2 は 19 個の機能すべて (電話と州の機能を削除) とクイックビルド構成でトレーニングし、97.403% の精度向上を実現しました。
- V3 は標準ビルド構成でトレーニングされ、モデルスコアは 97.103% でした。
顧客離れ予測モデルを使用する
SageMaker にエンドポイントとしてデプロイする場合に最もパフォーマンスの高いモデルを選択できるように、モデルの詳細ページで高度なメトリクスを表示を有効にし、各モデルバージョンに関連するメトリクスを確認します。
パフォーマンスメトリックに基づいて、デプロイするバージョン 2 を選択します。
モデルデプロイ設定 (デプロイ名、インスタンスタイプ、インスタンス数) を設定します。
初期値として、Canvasはモデルのデプロイに最適なインスタンスタイプとインスタンス数の推奨値を自動的に設定します。ワークロードのニーズに合わせて変更できます。
デプロイされた SageMaker 推論エンドポイントは、SageMaker Canvas 内から直接テストできます。
SageMaker Canvas ユーザーインターフェイスを使用して入力値を変更すると、What-if分析の形式でさまざまなケースをテスト推論できます。
それでは、Amazon SageMaker Studio に移動して、デプロイされたエンドポイントを確認してみましょう。
SageMaker Studio でノートブックを開き、次のコードを実行してデプロイされたモデルエンドポイントを推測します。モデルエンドポイント名を独自のモデルエンドポイント名に置き換えてください。
import boto3, sysimport pandas as pd
endpoint_name = "canvas-customer-churn-prediction-model"
sm_rt = boto3.Session().client('runtime.sagemaker');
payload = [['PA',163,806,403-2562, 'no', 'yes', 300, 8.16, 3, 7.57,3.93,4,6.5,4.07,100,5.11,4.92,6,5.67,3]
body = pd.DataFrame(payload).to_csv(header=False, index=False).encode("utf-8")
response = sm_rt.invoke_endpoint(EndpointName=endpoint_name, Body=body, ContentType="text/csv",Accept="application/json")
response = response['Body'].read().decode("utf-8")
print(response)
Canvas からデプロイしたモデルエンドポイントは ml.m5.xlarge インスタンスを 1つ使用しています。ここで、モデルエンドポイントで推論を実施するエンドユーザーの数が増えると予想され、より多くの計算能力をプロビジョニングしたいと仮定しましょう。これは SageMaker Canvas 内から[Update configuration]を選択することで直接実行できます。
Clean up
今後課金されないようにするには、この記事の手順を進めて作成したリソースを削除してください。これには、SageMaker Canvas からのログアウトとデプロイされた SageMaker エンドポイントの削除が含まれます。SageMaker Canvas はセッションの期間中はユーザーに請求されるため、SageMaker Canvas を使用していないときは SageMaker Canvas からログアウトすることをお勧めします。詳細については、Amazon SageMaker Canvas からのログアウトを参照してください。
まとめ
この投稿では、SageMaker CanvasからMLモデルをリアルタイム推論エンドポイントにデプロイする方法について説明しました。これにより、MLモデルを本番環境に移行し、MLを活用した洞察に基づいて行動を起こすことができます。この例では、アナリストがコードを記述せずに非常に正確な予測 ML モデルを迅速に構築し、それをエンドポイントとして SageMaker にデプロイし、SageMaker Canvas と SageMaker Studio ノートブックからモデルエンドポイントをテストする方法を示しました。
ローコード/ノーコードの ML ジャーニーを始めるには、Amazon SageMaker Canvas を参照してください。
立ち上げに貢献してくれたすべての人、プラシャント・クルマッダリ、アビシェック・クマール、アレン・リウ、ショーン・レスター、リチャ・サンドラーニ、アリシア・チーに感謝します。
翻訳は Solution Architect の Masanari Ikuta が担当しました。原文はこちらです。
著者について
Janisha Anand は、SageMaker Canvas と SageMaker Autopilot を含む Amazon SageMaker Low/No Code ML チームのシニアプロダクトマネージャーです。彼女はコーヒーを楽しみ、アクティブな状態を保ち、家族と過ごす時間を楽しんでいます。
Indy Sawhney は、アマゾンウェブサービスのシニアカスタマーソリューションリーダーです。Indy は、常に顧客の問題から後戻りして、AWS 企業の顧客幹部に独自のクラウド変革の道筋について助言しています。25 年以上にわたり、企業が新しいテクノロジーやビジネスソリューションを採用できるよう支援してきました。Indy は AWS の AI/ML テクニカルフィールドコミュニティの専門分野のスペシャリストであり、ジェネレーティブ AI とローコード/ノーコード Amazon SageMaker ソリューションを専門としています。